--Precalculated paths
local t,f,n=true,false,{}
local r={
[58]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58},t},
[49]={{51,50,47,48,49},t},
[16]={n,f},
[19]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,19},t},
[59]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59},t},
[63]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,23,62,63},t},
[34]={{51,50,47,48,49,45,44,28,29,31,32,34},t},
[21]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,21},t},
[48]={{51,50,47,48},t},
[27]={{51,50,47,48,49,45,44,28,27},t},
[14]={n,f},
[31]={{51,50,47,48,49,45,44,28,29,31},t},
[56]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56},t},
[29]={{51,50,47,48,49,45,44,28,29},t},
[13]={n,f},
[47]={{51,50,47},t},
[12]={n,f},
[45]={{51,50,47,48,49,45},t},
[57]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,57},t},
[36]={{51,50,47,48,49,45,44,28,29,31,32,33,36},t},
[25]={{51,50,47,48,49,45,44,28,27,26,25},t},
[71]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61,71},t},
[20]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20},t},
[60]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61,71,72,76,73,75},t},
[22]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,21,22},t},
[74]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61,71,72,76,73,74},t},
[62]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,23,62},t},
[1]={n,f},
[6]={n,f},
[11]={n,f},
[15]={n,f},
[37]={{51,50,47,48,49,45,44,28,29,31,32,33,36,37},t},
[2]={n,f},
[35]={{51,50,47,48,49,45,44,28,29,31,32,34,35},t},
[53]={{51,55,54,53},t},
[73]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61,71,72,76,73},t},
[72]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61,71,72},t},
[33]={{51,50,47,48,49,45,44,28,29,31,32,33},t},
[69]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,60,69},t},
[65]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,65},t},
[26]={{51,50,47,48,49,45,44,28,27,26},t},
[68]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61,71,72,76},t},
[50]={{51,50},t},
[66]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{51,50,47,48,49,45,44,28,27,26,25,24},t},
[23]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,23},t},
[44]={{51,50,47,48,49,45,44},t},
[39]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39},t},
[32]={{51,50,47,48,49,45,44,28,29,31,32},t},
[3]={n,f},
[30]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30},t},
[51]={{51},t},
[18]={n,f},
[67]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67},t},
[61]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,59,61},t},
[55]={{51,55},t},
[46]={{51,50,47,46},t},
[42]={{51,50,47,48,49,45,44,28,29,31,32,34,35,38,42},t},
[40]={{51,50,47,48,49,45,44,28,29,31,32,34,35,40},t},
[52]={{51,55,54,53,52},t},
[54]={{51,55,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41},t},
[17]={n,f},
[38]={{51,50,47,48,49,45,44,28,29,31,32,34,35,38},t},
[28]={{51,50,47,48,49,45,44,28},t},
[5]={n,f},
[64]={{51,50,47,48,49,45,44,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64},t},
}
return r