#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e3+5;
struct node{
int o,x,y;
}op[205];
int n,m,a[N];
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1,o,x,y;i<=m;i++)cin>>op[i].o>>op[i].x>>op[i].y;
for(int i=m,o,x,y;i>=1;i--){
o=op[i].o;
x=op[i].x;
y=op[i].y;
if(o==1){
if(x==y) a[x]/=2;
else a[x]-=a[y];
}
else{
if(x==y) a[i]=sqrt(a[i]);
else a[x]/=a[y];
}
}
for(int i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}