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