#include<bits/stdc++.h>
using namespace std;
struct node{
int x[4],y[4],index;
}f[5000000];
struct node2{
int x,y;
}tar[4];
int k,head,tail,n,m,a[17][17],b[17][17],c[17][17][5],mp[17][17][17][17][17][17];
int q[10]={0,0,-1,0,1},p[10]={0,1,0,-1,0};
int bfs(){
int ax,ay,bx,by,cx,cy;
int nax,nay,nbx,nby,ncx,ncy;
head=0;
tail=1;
do{
head++;
ax=f[head].x[1];
ay=f[head].y[1];
bx=f[head].x[2];
by=f[head].y[2];
cx=f[head].x[3];
cy=f[head].y[3];
if(head==1)mp[ax][ay][bx][by][cx][cy]=1;
for(int i=0;i<=b[ax][ay];i++)
for(int j=0;j<=b[bx][by];j++)
for(int t=0;t<=b[cx][cy];t++){
nax=ax+q[c[ax][ay][i]];
nay=ay+p[c[ax][ay][i]];
nbx=bx+q[c[bx][by][j]];
nby=by+p[c[bx][by][j]];
ncx=cx+q[c[cx][cy][t]];
ncy=cy+p[c[cx][cy][t]];
if(k&