/*input
5 5
2 2 7 14 14
1 1 3
1 2 6
2 2
2 4
2 5
*/
#include<bits/stdc++.h>
using namespace std;
const int N=1e6 + 100;
const int mod=1e9 + 7;
#define int long long
const int inf=1e18;
#define pii pair<int, int>
#define f first
#define s second
#define mp make_pair
#define FOR(i, n) for(int i=1;i<=n;i++)
#define TRACE(x) cerr << #x << " = " << x << endl
//Trace prints the name of the variable and the value.
//SET QUESTION BRUTE.
int arr[N], n, m;
signed main()
{
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
cin>>n>>m;arr[0]=inf;
for(int i=1;i<=n;i++) {cin>>arr[i];//assert(arr[i]!=arr[i-1]);
}
while(m--)
{
int ind, val;
int t;cin>>t;
if(t==1)
{ cin>>ind>>val;
arr[ind]=val;
assert(arr[ind]!=arr[ind-1]);
if(ind!=n) assert(arr[ind]!=arr[ind+1]);
}
else
{
cin>>ind;ind--;
while(ind>0&&arr[ind+1]%arr[ind]==0)
{
ind--;
}
cout<<ind+1<<endl;
}
}
}
LyppbnB1dAo1IDUKMiAyIDcgMTQgMTQKMSAxIDMKMSAyIDYKMiAyCjIgNAoyIDUKKi8KI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE49MWU2ICsgMTAwOwpjb25zdCBpbnQgbW9kPTFlOSArIDc7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgaW5mPTFlMTg7CiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgZiBmaXJzdAojZGVmaW5lIHMgc2Vjb25kIAojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIEZPUihpLCBuKSBmb3IoaW50IGk9MTtpPD1uO2krKykKI2RlZmluZSBUUkFDRSh4KSBjZXJyIDw8ICN4IDw8ICIgPSAiIDw8IHggPDwgZW5kbCAKLy9UcmFjZSBwcmludHMgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIGFuZCB0aGUgdmFsdWUuCi8vU0VUIFFVRVNUSU9OIEJSVVRFLiAKaW50IGFycltOXSwgbiwgbTsKc2lnbmVkIG1haW4oKQp7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKE5VTEwpO2NvdXQudGllKE5VTEwpOwoJY2luPj5uPj5tO2FyclswXT1pbmY7Cglmb3IoaW50IGk9MTtpPD1uO2krKykge2Npbj4+YXJyW2ldOy8vYXNzZXJ0KGFycltpXSE9YXJyW2ktMV0pOwoJfQoJd2hpbGUobS0tKQoJewoJCWludCBpbmQsIHZhbDsKCQlpbnQgdDtjaW4+PnQ7CgkJaWYodD09MSkKCQl7CWNpbj4+aW5kPj52YWw7CgkJCWFycltpbmRdPXZhbDsKCQkJYXNzZXJ0KGFycltpbmRdIT1hcnJbaW5kLTFdKTsKCQkJaWYoaW5kIT1uKSBhc3NlcnQoYXJyW2luZF0hPWFycltpbmQrMV0pOwoJCX0KCQllbHNlCgkJewoJCQljaW4+PmluZDtpbmQtLTsKCQkJd2hpbGUoaW5kPjAmJmFycltpbmQrMV0lYXJyW2luZF09PTApCgkJCXsKCQkJCWluZC0tOwoJCQl9CgkJCWNvdXQ8PGluZCsxPDxlbmRsOwoJCX0KCQkKCX0KfSA=