RT
#include<bits/stdc++.h>
using namespace std;
int n,a[200010],q,belong[200010],l,r,x,y,f[200010][110];
inline int read() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9') {if(ch=='-') f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+ch-'0',ch=getchar();return x*f;}
inline void update(int K,int x,int y) {if(x==y) return;for(register int i=1;i<=100;i++) if(f[K][i]==x) f[K][i]=y;}
int main()
{
freopen("ceshi.out","w",stdout);
cin>>n;
for(register int i=1;i<=n;i++) a[i]=read();
int len=sqrt(n),t=1,l=0;
for(register int i=1;i<=n;i++) {belong[i]=t;if(++l==len) t++,l=0;}
for(register int i=1;i<=t;i++) for(int j=1;j<=100;j++) f[i][j]=j;
cin>>q;
while(q--)
{
l=read();r=read();x=read();y=read();if(x==y) continue;
int L=belong[l],R=belong[r];
for(register int i=L+1;i<=R-1;i++) update(i,x,y);
for(register int i=l;belong[i]==L;i++) if(f[belong[i]][a[i]]==x) a[i]=y;
for(register int i=r;belong[i]==R;i--) if(f[belong[i]][a[i]]==x) a[i]=y;
for(int i=1;i<=n;i++) printf("%d ",f[belong[i]][a[i]]);puts("");
}
for(int i=1;i<=n;i++) printf("%d ",f[belong[i]][a[i]]);
}