#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 5;
int n, q;
__int128 a[N];
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> q;
for(int i = 1, x; i <= n; i++) cin >> x, a[i] = x;
while(q--) {
int op, l, r; cin >> op >> l >> r;
if(op == 1) a[l] = r;
else {
if(r - l > 100) cout << "Too large\n";
else {
__int128 mn[105], mx[105];
for(int i = 0; i <= 100; i++) mn[i] = mx[i] = 1;
for(int i = l; i <= r; i++) {
mn[i-l+1] = min({mn[i-l] * a[i], mx[i-l] * a[i], a[i]});
mx[i-l+1] = max({mx[i-l] * a[i], mn[i-l] * a[i], a[i]});
if(mx[i-l+1] > (1 << 30)) {
cout << "Too large\n";
goto M;
}
}
cout << max(1ll, (int)*max_element(mx + 1, mx + 1 + r - l + 1)) << '\n';
}
}
M:;
}
return 0;
}