#include<bits/stdc++.h>
using namespace std;
enum type{P,S,M,I,F};
struct player
{
	queue<int> deck;
	int hand[5],field[5],grave[5];
	player()
	{
		while(!deck.empty())deck.pop();
		memset(hand,0,sizeof(hand));
		memset(field,0,sizeof(field));
		memset(grave,0,sizeof(grave));
	}
	bool tdraw()
	{
		return !deck.empty();
	}
	void draw()
	{
		if(!deck.empty())
		{
			int u=deck.front();deck.pop();
//			cerr<<"draw "<<u<<endl;
			hand[u]++;
		}
	}
	bool tdiscard()
	{
		int s=0;
		for(int i=0;i<=4;i++)s+=hand[i];
		return s>0;
	}
	void discard()
	{
		if(!tdiscard())return;
		int ord[]={I,M,P,S,F};
		int cur=ord[0];
		for(int i=1;i<=4;i++)
		{
			if(hand[cur]<hand[ord[i]])
				cur=ord[i];
		}
//		cerr<<"discard "<<cur<<endl;
		hand[cur]--;
		grave[cur]++;
	}
	bool tdestroy()
	{
		int s=0;
		for(int i=0;i<=4;i++)s+=field[i];
		return s>0;
	}
	void destroy()
	{
		if(!tdestroy())return;
		int ord[]={F,I,M,P,S};
		int cur=-1;
		for(int i=0;i<=4;i++)
		{
			if(field[ord[i]])
			{
				cur=ord[i];
				break;
			}
		}
//		cerr<<"destroy "<<cur<<endl;
		field[cur]--;
		grave[cur]++;
	}
	bool trecycle()
	{
		int s=0;
		for(int i=0;i<=4;i++)s+=grave[i];
		return s>0;
	}
	void recycle()
	{
		if(!trecycle())return;
		int ord[]={F,S,M,I,P};
		int cur=-1;
		for(int i=0;i<=4;i++)
		{
			if(grave[ord[i]])
			{
				if(cur==-1||hand[cur]+field[cur]>hand[ord[i]]+field[ord[i]])
					cur=ord[i];
			}
		}
//		cerr<<"recycle "<<cur<<endl;
		hand[cur]++;
		grave[cur]--;
	}
	bool tcounter()
	{
		int cnt=0,tmp=-1;
		for(int i=0;i<=4;i++)
		{
			if(field[i]!=0)
				cnt++;
			else
				tmp=i;
		}
		return cnt==4&&grave[tmp]<5;
	}
	bool counter()
	{
		int s=0;
		for(int i=0;i<=4;i++)s+=hand[i];
		if(hand[I]&&s>1)
		{
//			cerr<<"counter"<<endl;
			hand[I]--;
			grave[I]++;
			discard();
			return true;
		}
		else return false;
	}
	bool win()
	{
		int s=0;
		for(int i=0;i<=4;i++)s+=(field[i]!=0);
		return s==5;
	}
	bool empty()
	{
		int s=0;
		for(int i=0;i<=4;i++)s+=hand[i];
		return s==0&&deck.empty();
	}
};
int T,n=25,x;
int main()
{
//	freopen("K.in","r",stdin);
	ios_base::sync_with_stdio(false);
	cin>>T;
	for(int tt=1;tt<=T;tt++)
	{
		player p[2];
		for(int i=1;i<=n;i++)
		{
			cin>>x;
			p[0].deck.push(x);
		}
		for(int i=1;i<=n;i++)
		{
			cin>>x;
			p[1].deck.push(x);
		}
		for(int i=1;i<=5;i++)p[0].draw(),p[1].draw();
		cout<<"Case "<<tt<<": ";
		int win=0;
		int ord[]={S,P,M,F,I};
		for(int turn=1;turn<=100;turn+=2)
		{
			for(int ty=0;ty<=1;ty++)
			{
//				if(ty==0)cerr<<"A turn"<<endl;
//				else cerr<<"B turn"<<endl;
				p[ty].draw();
				int move=-1;
				for(int i=0;i<=4;i++)
				{
					int cur=ord[i],fl=0;
					if(p[ty].field[cur]||p[ty].hand[cur]==0)continue;
					if(cur==P)fl=p[ty].tdraw();
					else if(cur==S)fl=p[ty^1].tdiscard();
					else if(cur==M)fl=p[ty^1].tdestroy();
					else if(cur==F)fl=p[ty].trecycle();
					else fl=0;
					if(fl)
					{
						move=cur;
						break;
					}
				}
				if(move==-1)
				{
					for(int i=0;i<=4;i++)
					{
						int cur=ord[i];
						if(p[ty].field[cur]||p[ty].hand[cur]==0)continue;
						move=cur;
						break;
					}
				}
//				cerr<<"move "<<move<<endl;
				if(move==-1){}
				else if(p[ty].tcounter()&&p[ty^1].counter())
				{
					p[ty].hand[move]--;
					p[ty].grave[move]++;
				}
				else
				{
					p[ty].hand[move]--;
					p[ty].field[move]++;
					if(move==P)p[ty].draw();
					else if(move==S)p[ty^1].discard();
					else if(move==M)p[ty^1].destroy();
					else if(move==F)p[ty].recycle();
				}
//				cerr<<"Alice Hand: ";
//				for(int i=0;i<=4;i++)cerr<<p[0].hand[i]<<' ';cerr<<endl;
//				cerr<<"Alice Field: ";
//				for(int i=0;i<=4;i++)cerr<<p[0].field[i]<<' ';cerr<<endl;
//				cerr<<"Alice Grave: ";
//				for(int i=0;i<=4;i++)cerr<<p[0].grave[i]<<' ';cerr<<endl;
//				cerr<<"Bob Hand: ";
//				for(int i=0;i<=4;i++)cerr<<p[1].hand[i]<<' ';cerr<<endl;
//				cerr<<"Bob Field: ";
//				for(int i=0;i<=4;i++)cerr<<p[1].field[i]<<' ';cerr<<endl;
//				cerr<<"Bob Grave: ";
//				for(int i=0;i<=4;i++)cerr<<p[1].grave[i]<<' ';cerr<<endl;
				if(p[ty].win())
				{
					win=1;
					if(ty==0)cout<<"Alice "<<turn<<endl;
					else cout<<"Bob "<<turn+1<<endl;
					break;
				}
				if(p[0].empty()&&p[1].empty())
				{
					win=1;
					cout<<"Draw "<<turn+ty<<endl;
					break;
				}
			}
			if(win)break;
		}
		if(!win)cout<<"Draw 100"<<endl;
	}
	
	return 0;
}
