#include <iostream> using namespace std; struct prize {int n,c1,c2;}; void citire (int &nr, prize s[15]) { nr=0; cin>>s[nr].n>>s[nr].c1>>s[nr].c2; while (s[nr].n!=0 || s[nr].c1!=0 || s[nr].c2!=0) { nr++; cin>>s[nr].n>>s[nr].c1>>s[nr].c2; } } int reconstr (int n, int c[]) { int nr=0; for (int i=n-1;i>=0;i--) nr=nr*10+c[i]; return nr; } void rez (prize &a) { int x=a.n,c[6]={0},i=0; while (x!=0) { c[i]=x%10; i++; x/=10; } for (int j=0;j<i;j++) if (c[j]==a.c1) c[j]=a.c2; a.n=reconstr(i,c); } void afis (int n, prize s[]) { for (int i=0;i<n;i++) cout<<s[i].n<<endl; } int main() { prize s[16]; int n; citire(n,s); for (int i=0;i<n;i++) rez(s[i]); afis (n,s); return 0; }