#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	//freopen("a.in", "r", stdin);
	//freopen("a.out", "w", stdout);
	int cards[4], i, t,x,y,z,n,m,opt=2,ok,j,nr10,nr14,nr7,minim,numar2,taiat,a;
	for (t = 1; t <= 1000; t++)
	{
		opt = 2;
		cin >> cards[0] >> cards[1] >> cards[2] >> cards[3];
		while (opt != 4)
		{
			if (opt == 2)
			{
				numar2 = 4;
				do
				{
					cin >> x;
					if (x < 6)
					{
						opt = x;
						if (opt == 4) { cin >> n >> m;  }
						else
						{
							cin >> y;
							for (i = 1; i <= y; i++)
							{
								cin >> z;
								for (j = 0; j < 4; j++)
								if (cards[j] == 0)
								{
									cards[j] = z;
									break;
								}
							}
						}						
					}
					else
					{
						if (x != 10 && x != 14&&x!=7)
						{
							if (numar2 < 4) { cout << 0; cout.flush(); }
							else
							{
								j = -1;
								for (i = 0; i < 4; i++)
								if (cards[i] != 10 && cards[i] != 14 && cards[i] != 7 && cards[i]!=0)
								{
									cout << cards[i];
									cout.flush();
									j = i;
									cards[i] = 0;
									break;
								}
								if (j == -1)
								{
									nr10 = 0; nr14 = 0; nr7 = 0;
									for (i = 0; i < 4; i++)
									if (cards[i] == 10) nr10++;
									else
									if (cards[i] == 14) nr14++;
									else if(cards[i]==7) nr7++;
									if (nr7 == 0) nr7 = 4;
									if (nr10 == 0) nr10 = 5;
									if (nr14 == 0) nr14 = 5;
									minim = 7;
									if (nr10 <= nr7&&nr10 < nr14) minim = 10;
									if (nr14 <= nr7&&nr14 <= nr10) minim = 14;
									cout << minim;
									cout.flush();
									for (i = 0; i < 4; i++)
									if (cards[i] == minim)
									{
										cards[i] = 0;
										break;
									}
								}
								
								numar2--;
							}							
						}
						else
						{
							j = -1; ok = 0;
								
									for (i = 0; i < 4; i++)
									if (cards[i] == x || cards[i] == 7)
									{
										cout << cards[i];
										cout.flush();
										cards[i] = 0;
										numar2--;
										ok = 1;
										break;
									}
									else if (cards[i]) j = i;
									if (j >= 0 && ok == 0)
									{
										cout << cards[j];
										cout.flush();
										numar2--;
										cards[j] = 0;
									}
								
								
								
						}
					}
				} while (x > 6);
			}
			else
			if (opt == 3)
			{
				nr10 = 0; nr14 = 0; nr7 = 0; x = 0;
				int numar = 4;
				for (i = 0; i < 4; i++)
				if (cards[i] == 10) nr10++;
				else
				if (cards[i] == 14) nr14++;
				else 
				if (cards[i] == 7) nr7++;
			repeta:

				if ((nr10 + nr7 >= 2 && nr10>0 && numar==4) || (x == 10||x==7)&&(nr10>0||nr7>0)&&taiat==1)
				{

					ok = 0;
					for (i = 0; i < 4; i++)
					if (cards[i] == 10)
					{
						cout << 10;
						cout.flush();
						if(numar==4)a = 10;
						nr10--;
						numar--;
						cards[i] = 0;
						ok = 1;
						break;
					}
					if (ok == 0)
					for (i = 0; i < 4; i++)
					if (cards[i] == 7)
					{
						cout << 7;
						cout.flush();
						nr7--;
						numar--;
						cards[i] = 0;
						ok = 1;
						break;
					}
					if (ok == 0)
					{
						cout << 0;
						cout.flush();
					}
				}
				else
				if ((nr14 + nr7 >= 2 && nr14>0 && numar == 4) || (x == 14 || x == 7) && (nr14>0 || nr7>0) && taiat==1)
				{

					ok = 0;
					for (i = 0; i < 4; i++)
					if (cards[i] == 14)
					{
						cout << 14;
						cout.flush();
						if (numar == 4) a = 14;
						nr14--;
						numar--;
						cards[i] = 0;
						ok = 1;
						break;
					}
					if (ok == 0)
					for (i = 0; i < 4; i++)
					if (cards[i] == 7)
					{
						cout << 7;
						cout.flush();
						nr7--;
						numar--;
						cards[i] = 0;
						ok = 1;
						break;
					}
					if (ok == 0)
					{
						cout << 0;
						cout.flush();
					}
				}
				else
				{
					if (numar < 4) { cout << 0; cout.flush(); }
					else{
						for (i = 0; i < 4; i++)
						if (cards[i] != 10 && cards[i] != 14 && cards[i] != 7 && cards[i]!= 0)
						{
							cout << cards[i];
							cout.flush();
							numar--;
							cards[i] = 0;
							break;
						}
						if (i == 4)
						{
							cout << 7;
							cout.flush();
							numar--;
							nr7--; 
							cards[0] = 0;
						}
					}					
				}
				cin >> x;		
				if (x == 7 || x == a) taiat = 1;
				else taiat = 0;
				if (x > 6)
				{
					goto repeta;
				}
				else
				{
					opt = x;
					if (opt == 4) {
						cin >> m >> n; 
					}
					else
					{
						cin >> y;
						for (i = 1; i <= y; i++)
						{
							cin >> z;
							for (j = 0; j < 4; j++)
							if (cards[j] == 0)
							{
								cards[j] = z;
								break;
							}
						}
					}					
				}
			}
		}
	}
}