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