rt
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1010],i;
struct point{
int z,x,y;
}b[210];
int main(){
cin>>n>>m;
for(i=1;i<=n;i++)cin>>a[i];
for(i=m;i>=1;i--)cin>>b[i].z>>b[i].x>>b[i].y;
for(i=1;i<=m;i++){
if(b[i].x==b[i].y){
if(a[b[i].x]%2==0)a[b[i].x]/=2;
else a[b[i].x]=sqrt(a[b[i].x]);
}else if(b[i].z==1)a[b[i].x]-=a[b[i].y];
else a[b[i].x]/=a[b[i].y];
}for(i=1;i<=n;i++)cout<<a[i]<<" ";
return 0;
}