#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=200005;
int n,q,a[N],op,x,y,mx=1ll<<30;
signed main()
{
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
while(q--)
{
cin>>op>>x>>y;
if(op==1)
{
a[x]=y;
continue;
}
if(y-x>=70)
{
cout<<"Too large"<<endl;
continue;
}
int cnt=0,ans=1ll,ans1=1ll,ans2=1ll,flag=0,pos=0;
for(int i=x;i<=y;i++)
{
if(a[i]<0) cnt++;
}
if(cnt%2==0)
{
for(int i=x;i<=y;i++)
{
ans*=a[i];
if(ans>mx)
{
flag=1;
cout<<"Too large"<<endl;
break;
}
}
if(!flag)
{
cout<<ans<<endl;
}
continue;
}
for(int i=y;i>=x;i--)
{
if(a[i]<0)
{
pos=i;
break;
}
}
for(int i=x;i<pos;i++)
{
ans1*=a[i];
if(ans1>mx)
{
flag=1;
cout<<"Too large"<<endl;
break;
}
}
if(flag) continue;
for(int i=x;i<=y;i++)
{
if(a[i]<0)
{
pos=i;
break;
}
}
for(int i=y;i>pos;i--)
{
ans2*=a[i];
if(ans2>mx)
{
flag=1;
cout<<"Too large"<<endl;
break;
}
}
if(flag) continue;
cout<<max(ans1,ans2)<<endl;
}
return 0;
}