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