#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;
}