#include<bits/stdc++.h>
using namespace std;
int n;
int ans=0,sum=0;
struct ren{
int HP,hp;
int MP,mp;
int akt,zatk;
int def,zdef;
int talent,tx,ty;
int skill,sx,sy,sz;
int p,id;
bool die;
int pr[11];
};
struct dui{
ren ra[11];
int num;
}t[3];
struct tt{
int id,d,x,y,z;
}buff[50100];
bool qus(){
if(!t[1].num||t[2].num)return 0;
return 1;
}
void shanghai(int l,int r,int d,int x,int y){
for(int i=l;i<=r;i++){
if(!t[d].ra[i].die){
t[d].ra[i].MP++;
if(t[d].ra[i].talent==1)t[d].ra[i].HP-=(max(x-max(t[d].ra[i].def+t[d].ra[i].zdef,0),0)+y-y/2);
if(t[d].ra[i].talent!=1)t[d].ra[i].HP-=(max(x-max(t[d].ra[i].def+t[d].ra[i].zdef,0),0)+y);
if(t[d].ra[i].HP<=0){
t[d].ra[i].HP=0;
t[d].ra[i].die=1;
t[d].num-=1;
}
}
}
}
void jineng(int j,int d){
t[d].ra[j].MP=0;
int bian=t[d].ra[j].skill;
if(bian==0)return;
else if(bian==1){
if(d==1){
shanghai(1,n,2,t[d].ra[j].sx,0);
for(int i=1;i<=n;i++){
t[2].ra[j].MP-=t[2].ra[j].MP/10;
if(t[2].ra[j].MP<0)t[2].ra[j].MP==0;
}
}
if(d==2){
shanghai(1,n,2,t[d].ra[j].sx,0);
for(int i=1;i<=n;i++){
t[1].ra[j].MP-=t[1].ra[j].MP/10;
if(t[1].ra[j].MP<0)t[1].ra[j].MP==0;
}
}
}
else if(bian==2){
if(d==1)shanghai(1,n,2,0,max(t[d].ra[j].akt+t[d].ra[j].zatk,1));
if(d==2)shanghai(1,n,1,0,max(t[d].ra[j].akt+t[d].ra[j].zatk,1));
}
else if(bian==3){
if(d==1)for(int i=1;i<=n;i++){if(!t[2].ra[t[d].ra[j].pr[i]].die)shanghai(t[d].ra[j].pr[i],t[d].ra[j].pr[i],2,min(t[2].ra[j].hp/10,t[d].ra[j].sx*max(t[d].ra[j].akt+t[d].ra[j].zatk,1)),0);break;}
if(d==2)for(int i=1;i<=n;i++){if(!t[1].ra[t[d].ra[j].pr[i]].die)shanghai(t[d].ra[j].pr[i],t[d].ra[j].pr[i],2,min(t[1].ra[j].hp/10,t[d].ra[j].sx*max(t[d].ra[j].akt+t[d].ra[j].zatk,1)),0);break;}
}
else if(bian==4){
sum++;
buff[sum].id=1;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
}
else if(bian==5){
if(d==1){
for(int i=1;i<=n;i++){
if(!t[2].ra[t[d].ra[j].pr[i]].die){
t[2].ra[t[d].ra[j].pr[i]].zdef-=t[d].ra[j].sx;
if(t[2].ra[t[d].ra[j].pr[i]].zdef<0)t[2].ra[t[d].ra[j].pr[i]].zdef=0;
shanghai(i,i,2,0,max(t[d].ra[j].akt+t[d].ra[j].zatk,1));
break;
}
}
}
if(d==2){
for(int i=1;i<=n;i++){
if(!t[1].ra[t[d].ra[j].pr[i]].die){
t[1].ra[t[d].ra[j].pr[i]].zdef-=t[d].ra[j].sx;
if(t[1].ra[t[d].ra[j].pr[i]].zdef<0)t[1].ra[t[d].ra[j].pr[i]].zdef=0;
shanghai(i,i,1,0,max(t[d].ra[j].akt+t[d].ra[j].zatk,1));
break;
}
}
}
}
else if(bian==6){
if(d==1){
for(int i=1;i<=n;i++){if(!t[2].ra[t[d].ra[j].pr[i]].die)shanghai(i,i,2,0,max(t[d].ra[j].akt+t[d].ra[j].zatk,1));break;}
sum++;
buff[sum].id=2;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
}
if(d==2){
for(int i=1;i<=n;i++){if(!t[1].ra[t[d].ra[j].pr[i]].die)shanghai(i,i,1,0,max(t[d].ra[j].akt+t[d].ra[j].zatk,1));break;}
sum++;
buff[sum].id=2;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
}
}
else if(bian==7){
int minn=1;
for(int i=2;i<=n;i++){
if(!t[d].ra[i].die){
if(t[d].ra[i].HP<t[d].ra[minn].HP)minn=i;
else if(t[d].ra[i].HP<t[d].ra[minn].HP){
if(i<minn)minn=i;
}
}
}
t[d].ra[minn].HP+=t[d].ra[j].sz;
if(t[d].ra[minn].HP>t[d].ra[minn].hp)t[d].ra[minn].HP=t[d].ra[minn].hp;
sum++;
buff[sum].id=3;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
}
else if(bian==8){
if(d==1)shanghai(1,n,2,max(t[d].ra[j].akt+t[d].ra[j].zatk,1),0);
if(d==2)shanghai(1,n,1,max(t[d].ra[j].akt+t[d].ra[j].zatk,1),0);
sum++;
buff[sum].id=4;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
}
else if(bian==9){
for(int i=1;i<=n;i++){
t[d].ra[i].HP+=t[d].ra[i].sz;
if(t[d].ra[i].HP>t[d].ra[i].hp)t[d].ra[i].HP=t[d].ra[i].hp;
}
sum++;
buff[sum].id=5;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
}
else if(bian==10){
for(int i=1;i<=n;i++){
t[d].ra[i].akt*=2;t[d].ra[i].def*=2;
t[d].ra[i].MP=max(t[d].ra[i].mp/2,t[d].ra[i].MP);
t[d].ra[i].HP=max(t[d].ra[i].hp/2,t[d].ra[i].HP);
}
sum++;
buff[sum].id=6;
buff[sum].x=ans;
buff[sum].y=ans+t[d].ra[j].sx-1;
buff[sum].z=t[d].ra[j].sy;
buff[sum].d=d;
for(int i=1;i<=n;i++)if(t[d].ra[i].skill==10)t[d].ra[i].skill=0;
}
}
int jisuan(int j,int d,int dj){
int oo=0,maxx;
if(d==1)oo=2;
if(d==2)oo=1;
if(t[d].ra[j].talent==2){
maxx=max(max(t[d].ra[j].akt+t[d].ra[j].zatk,1)-max(t[d].ra[j].def+t[d].ra[j].zdef,0),0)+t[d].ra[j].tx;
if(t[oo].ra[dj].talent==1)maxx-=t[d].ra[j].tx/2;
}
else if(t[d].ra[j].talent==4){
maxx=max(t[d].ra[j].akt+t[d].ra[j].zatk,1);
if(t[oo].ra[dj].talent==1)maxx-=max(t[d].ra[j].akt+t[d].ra[j].zatk,1)/2;
}else{
maxx=max(max(t[d].ra[j].akt+t[d].ra[j].zatk,1)-max(t[d].ra[j].def+t[d].ra[j].zdef,0),0);
}
return maxx;
}
int main(){
cin>>n;
for(int k=1;k<=2;k++){
t[k].num=n;
for(int i=1;i<=n;i++){
cin>>t[k].ra[i].hp>>t[k].ra[i].mp>>t[k].ra[i].akt>>t[k].ra[i].def;
for(int o=1;o<=n;o++)cin>>t[k].ra[i].pr[o];
cin>>t[k].ra[i].talent>>t[k].ra[i].tx>>t[k].ra[i].ty;
cin>>t[k].ra[i].skill>>t[k].ra[i].sx>>t[k].ra[i].sy>>t[k].ra[i].sz;
}
}
while(qus()){
ans++;
for(int k=1;k<=2;k++){
int oo=0;
if(k==1)oo=2;
if(k==2)oo=1;
int jeuse[20];
bool a=0;
for(int i=1;i<=n;i++){
if(t[k].ra[i].mp==t[k].ra[i].MP && !t[k].ra[i].die)a=1;
}
if(a){
int shu=0;
for(int i=1;i<=n;i++){
if(t[k].ra[i].mp==t[k].ra[i].MP && !t[k].ra[i].die){
shu++;
jeuse[shu]=i;
}
}
int youxian=jeuse[1];
for(int i=2;i<=shu;i++){
if(t[k].ra[jeuse[i]].skill>t[k].ra[youxian].skill)youxian=jeuse[i];
else if(t[k].ra[jeuse[i]].skill==t[k].ra[youxian].skill){
if(jeuse[i]>youxian)youxian=jeuse[i];
}
}
jineng(youxian,1);
if(t[k].ra[youxian].talent==5&&t[oo].num!=0){
t[k].ra[youxian].MP+=t[k].ra[youxian].ty;
if(t[k].ra[youxian].MP>t[k].ra[youxian].mp)t[k].ra[youxian].MP=t[k].ra[youxian].mp;
}
}else{
int maxx=1,maxxd=0;
for(int i=1;i<=n;i++){
if(!t[oo].ra[t[k].ra[1].pr[i]].die){
maxxd=t[k].ra[1].pr[i];
break;
}
}
for(int o=2;o<=n;o++){
for(int i=1;i<=n;i++){
if(!t[oo].ra[t[k].ra[o].pr[i]].die){
if(t[oo].ra[t[k].ra[o].pr[i]].HP>maxxd){
maxxd=t[k].ra[o].pr[i];
maxx=o;
}
}
}
}
int v[20],sum=1;
v[1]=maxx;
for(int o=2;o<=n;o++){
for(int i=1;i<=n;i++){
if(t[oo].ra[t[k].ra[o].pr[i]].HP==t[oo].ra[maxxd].HP){
sum++;
v[sum]=t[k].ra[o].pr[i];
}
}
}
if(sum>1){
int maxxx=sum;
for(int o=sum-1;o>=1;o--){
if(jisuan(v[o],k,maxxd)>jisuan(v[maxxx],k,maxxd)){
maxxx=o;
}
}
if(t[k].ra[maxxx].talent==2)shanghai(maxxd,maxxd,k,t[k].ra[maxxx].akt,t[k].ra[maxxx].tx);
if(t[k].ra[maxxx].talent==4)shanghai(maxxd,maxxd,k,0,t[k].ra[maxxx].akt+t[k].ra[maxxx].zatk);
if(t[k].ra[maxxx].talent==0||t[k].ra[maxxx].talent==1||t[k].ra[maxxx].talent==3||t[k].ra[maxxx].talent==5)shanghai(maxxd,maxxd,k,t[k].ra[maxxx].akt,0);
if(t[k].ra[maxxx].talent==5){
t[k].ra[maxxx].HP+=t[k].ra[maxxx].tx;
if(t[k].ra[maxxx].HP>t[k].ra[maxxx].hp)t[k].ra[maxxx].HP=t[k].ra[maxxx].hp;
}
}else{
if(t[k].ra[maxx].talent==2)shanghai(maxxd,maxxd,k,t[k].ra[maxx].akt,t[k].ra[maxx].tx);
if(t[k].ra[maxx].talent==4)shanghai(maxxd,maxxd,k,0,t[k].ra[maxx].akt+t[k].ra[maxx].zatk);
if(t[k].ra[maxx].talent==0||t[k].ra[maxx].talent==1||t[k].ra[maxx].talent==3||t[k].ra[maxx].talent==5)shanghai(maxxd,maxxd,k,t[k].ra[maxx].akt,0);
if(t[k].ra[maxx].talent==5){
t[k].ra[maxx].HP+=t[k].ra[maxx].tx;
if(t[k].ra[maxx].HP>t[k].ra[maxx].hp)t[k].ra[maxx].HP=t[k].ra[maxx].hp;
}
}
}
for(int i=1;i<=sum;i++){
if(buff[i].id==1){
if(buff[i].x<=ans&&buff[i].y>=ans){
for(int o=1;o<=n;o++){
if(!t[k].ra[o].die){
t[k].ra[o].MP+=buff[i].z;
if(t[k].ra[o].MP>t[k].ra[o].mp)t[k].ra[o].MP=t[k].ra[o].mp;
}
}
}
}
if(buff[i].id==2){
if(buff[i].x<=ans&&buff[i].y>=ans){
for(int o=1;o<=n;o++){
int oo=0;
if(k==1)oo=2;
if(k==2)oo=1;
if(!t[oo].ra[o].die){
t[oo].ra[o].zatk-=buff[i].z;
if(t[oo].ra[o].zatk<0)t[oo].ra[o].zatk=0;
}
}
}
}
if(buff[i].id==3){
if(buff[i].x<=ans&&buff[i].y>=ans){
for(int o=1;o<=n;o++){
if(!t[k].ra[o].die){
t[k].ra[o].zatk+=buff[i].z;
}
}
}
}
if(buff[i].id==4){
if(buff[i].x<=ans&&buff[i].y>=ans){
for(int o=1;o<=n;o++){
int oo=0;
if(k==1)oo=2;
if(k==2)oo=1;
if(!t[oo].ra[o].die){
t[oo].ra[o].zdef-=buff[i].z;
if(t[oo].ra[o].zdef<0)t[oo].ra[o].zdef=0;
}
}
}
}
if(buff[i].id==5){
if(buff[i].x<=ans&&buff[i].y>=ans){
for(int o=1;o<=n;o++){
if(!t[k].ra[o].die){
t[k].ra[o].zdef+=buff[i].z;
}
}
}
}
if(buff[i].id==6){
if(buff[i].x<=ans&&buff[i].y>=ans){
for(int o=1;o<=n;o++){
t[k].ra[o].MP+=buff[i].z;
if(t[k].ra[o].MP>t[k].ra[o].mp)t[k].ra[o].MP=t[k].ra[o].mp;
}
}
}
if(buff[i].id==6){
if(buff[i].y<ans){
for(int o=1;o<=n;o++){
t[k].ra[o].die=1;
}
t[k].num=0;
}
}
for(int o=1;o<=n;o++){
if(t[k].ra[o].talent==3){
t[k].ra[o].HP+=t[k].ra[o].tx;
t[k].ra[o].MP+=t[k].ra[o].ty;
if(t[k].ra[o].HP>t[k].ra[o].hp)t[k].ra[o].HP=t[k].ra[o].hp;
if(t[k].ra[o].MP>t[k].ra[o].mp)t[k].ra[o].MP=t[k].ra[o].mp;
}
}
}
}
}
cout<<ans<<'\n';
if(t[1].num==0){
cout<<"Bob"<<'\n';
for(int i=1;i<=n;i++){
if(t[2].ra[i].die)cout<<0<<" ";
else cout<<t[2].ra[i].HP<<" ";
}
}else{
cout<<"Alice"<<'\n';
for(int i=1;i<=n;i++){
if(t[1].ra[i].die)cout<<0<<" ";
else cout<<t[1].ra[i].HP<<" ";
}
}
return 0;
}