
var moves0 = new Array( );
var names0 = new Array();
var base0 = -1;
var pieces = "KQNBR ";

var moves1 = new Array(52,36,10,26,57,42,12,20,54,46,11,27,36,27,20,27,61,54,6,21,51,43,27,35,42,36,21,36,54,36,1,11,62,52,11,21,36,54,5,19,60,62,127,61,4,6,71,5,55,47,5,4,61,60,0,1,50,42,35,42,49,42,2,29,43,35,26,35,52,35,29,36,54,36,21,36,59,45,36,26,58,40,19,5,60,4,3,4,56,57,9,17,35,18,1,2,18,8,2,0,8,25,0,3,25,35,4,32,40,58,32,48,57,17,48,56,45,44,26,11,17,9,11,21,62,54,3,4,58,49,56,0,44,45,21,36,45,13,6,7,9,8,0,2,46,38,36,19,13,10,19,34,49,58,2,10,8,10,34,28,10,9,7,6,58,37,28,43,37,44,43,28,44,37,28,43,37,46,14,22,47,39,4,60,9,1,6,13,1,9,13,6,38,30,60,58,9,10,43,60,54,47,60,43,35,20,5,40,10,14,6,7,14,8,7,6,8,40,6,13,20,37,43,60,40,8,13,4,8,15,58,42,37,22,60,45,47,38,45,35,53,37,42,43,22,28,43,41,37,29,41,33,28,43,33,34,43,37,35,18,38,31,34,26,29,21,18,28,15,12,4,5,37,20,5,6,12,4,6,13,4,12,13,6,20,26,28,18,12,14,6,7,30,22,18,28,14,15,7,6,46,28,6,5,15,7 );
var names1 = new Array();
var base1 = -1;
var pieces = "KQNBR ";

var moves2 = new Array(51,35,6,21,58,30,21,36,30,37,10,26,35,27,3,17,37,58,11,19,53,45,36,21,50,34,14,22,57,42,5,14,52,36,4,6,71,5,48,32,12,20,62,52,20,27,34,27,1,16,52,46,16,33,61,34,15,31,60,62,127,61,31,39,46,52,21,15,62,63,17,3,52,37,2,11,58,44,3,12,59,51,6,7,56,60,14,28,37,52,28,14,44,23,8,16,23,14,7,14,45,37,0,1,32,24,1,4,52,62,12,3,36,28,11,29,62,45,39,47,54,47,3,24,45,39,29,47,61,62,9,25,37,29,25,34,29,21,14,7,51,23,5,6,39,22,13,22,21,13,33,43,62,22,43,53,63,62,6,22,23,22,4,5,28,20,47,20,27,20,53,47,62,61,47,37,22,29,37,20,60,20,24,56,20,60,56,49,42,36,49,35,60,52,19,27,36,19,35,21,29,21,15,21,52,53,21,36,19,36,27,36,61,52,7,14,53,29,5,13,29,26,14,21,52,44,13,12,26,34,21,29,34,26,29,38,26,18,16,24,18,26,24,32,26,24,38,47,24,32 );
var names2 = new Array();
var base2 = -1;
var pieces = "KQNBR ";

var moves3 = new Array(52,36,10,26,62,45,11,19,51,35,26,35,45,35,6,21,57,42,14,22,58,44,5,14,53,45,4,6,71,5,59,51,1,18,60,58,120,59,19,27,58,57,0,1,35,25,8,16,25,8,18,8,44,8,1,0,51,44,12,20,8,17,3,11,36,28,21,4,17,26,9,25,55,39,11,10,45,37,2,9,39,31,0,2,26,5,14,5,59,58,10,11,31,22,13,22,42,52,5,26,52,35,26,17,61,43,9,0,50,42,25,33,42,33,2,1,43,50,16,24,33,25,11,8,58,59,24,32,48,40,4,10,44,47,10,25,35,25,8,11,25,19,17,26,50,22 );
var names3 = new Array();
var base3 = -1;
var pieces = "KQNBR ";

var moves4 = new Array(52,36,10,18,51,35,11,27,36,27,18,27,50,34,6,21,57,42,12,20,62,45,5,12,34,27,21,27,61,43,4,6,71,5,60,62,127,61,1,18,61,60,12,21,42,36,21,12,36,42,12,21,43,36,18,12,59,50,14,22,58,23,21,14,23,14,6,14,56,59,2,11,36,27,20,27,45,28,11,20,50,41,0,1,42,32,9,17,59,58,3,19,32,42,1,2,55,47,12,29,58,59,5,3,48,32,8,24,42,25,19,33,41,33,24,33,59,43,20,11,54,38,11,25,32,25,29,19,43,41,3,4,41,33,13,21,28,43,4,60,43,60,2,58,62,61,19,34,61,52,15,31,38,31,22,31,33,32,58,57,60,43,14,22,43,37,22,30,37,27,57,49,52,43,34,19,32,16,49,25,27,17,25,41,43,52,41,47,17,27,19,25,16,32,47,41,52,61,21,29,61,54,31,39,32,0,39,47,54,55,25,35,0,6,30,39,6,7,39,38,27,44,38,45,7,47,45,53,44,29,35,45,47,45,41,45,29,39,45,40,39,29,40,32,55,47,32,37,29,39,37,33,39,29,53,45,29,39,45,37,39,54,37,45,54,39,45,53,39,29,33,32,29,39,32,37,39,22,37,21,22,28,21,29,28,38,53,45,38,55,45,37,47,54,29,30,54,53,30,24,55,61,24,48,53,60,37,45,61,51,45,44,51,61,44,43,61,46,48,54,46,61,43,42,61,44,54,55,44,59,42,43,59,53,43,42,53,59,42,35,59,53,55,54,60,61,54,55,61,62,55,7,62,61,35,44,53,59,44,45,61,60,7,3,59,42,3,43,42,59,43,3,59,42,3,35,42,57,45,44,57,42,35,39,42,59,44,43,59,53,43,44,53,59,44,43,59,53,43,44,53,59,44,43,59,53,43,44,53,59 );
var names4 = new Array();
var base4 = -1;
var pieces = "KQNBR ";

var moves5 = new Array(52,36,12,20,51,35,11,27,57,42,5,33,36,28,3,11,48,40,33,5,55,39,9,17,39,31,2,16,61,16,1,16,59,43,16,1,31,23,6,23,58,23,14,23,42,52,10,26,50,42,1,18,49,33,26,34,43,45,4,2,64,3,62,47,2,9,47,37,18,12,52,46,12,22,37,31,3,2,31,21,11,32,60,62,127,61,5,12,21,38,2,5,38,23,22,39,45,31,32,50,23,13,7,6,13,19,9,1,56,58,50,22,31,22,15,22,58,60,8,16,53,37,1,10,46,52,12,19,28,19,10,19,61,53,22,30,37,30,5,53,62,53,6,30,52,37,20,28,35,28,30,28,60,28,19,28,54,46,39,29,53,45,27,35,42,35,28,35,46,38,29,14,38,30,35,42,30,22,42,41,45,36,41,40,37,27,16,24,33,24,17,24,27,44,34,42,36,43,40,41,44,50,24,32,50,35,41,49,35,50,14,29,43,36,29,12,36,43,12,22,50,44,22,28,43,35,42,50,44,50,49,50,35,28,32,40 );
var names5 = new Array();
var base5 = -1;
var pieces = "KQNBR ";

var moves6 = new Array(51,35,6,21,50,34,12,20,54,46,11,27,61,54,5,12,62,45,4,6,71,5,59,50,1,11,60,62,127,61,10,18,49,41,9,17,61,59,2,16,57,51,0,2,52,36,18,26,36,27,20,27,58,49,26,35,45,35,17,25,50,29,25,34,41,34,14,22,29,47,27,34,35,18,2,18,54,18,3,17,18,11,17,49,56,57,49,40,51,45,40,45,11,32,21,36,32,18,45,53,62,63,53,45,47,54,36,53,63,62,45,54,62,54,53,59,57,59,5,2,18,36,34,42,54,45,12,30,36,50,2,4,50,41,16,52 );
var names6 = new Array();
var base6 = -1;
var pieces = "KQNBR ";

var moves7 = new Array(50,34,6,21,49,41,14,22,58,49,5,14,62,45,4,6,71,5,52,44,10,26,61,52,1,18,48,40,12,20,60,62,127,61,11,27,34,27,20,27,51,43,2,20,57,51,3,12,59,50,0,2,56,58,9,17,61,60,5,4,50,57,21,11,49,14,6,14,57,49,12,21,49,21,11,21,43,35,18,1,45,28,21,11,53,37,13,21,28,45,20,29,62,53,2,10,55,47,4,2,54,38,29,20,35,26,17,26,44,36,27,36,51,36,20,41,52,34,41,34,58,34,11,17,34,50,10,18,36,42,14,13,38,30,1,11,30,21,18,21,42,36,21,18,60,59,13,14,40,32,2,10,32,24,17,2,59,11,10,11,45,28,11,10,28,18,10,18,50,26,18,26,36,26,2,19,53,45,14,13,47,39,15,31,24,16,13,12,26,43,12,21,43,28,19,25,28,18,25,10,18,8,10,16,8,18,16,26,18,28,21,29,28,13,26,43,13,19,29,20,19,34,43,26,34,44,26,9,45,36,9,19,36,45,20,21,44,27,21,29,27,44,29,20,44,54,19,29,45,36,20,19,36,45,19,26,45,36,26,19,36,45,19,20,45,36,20,21,36,45,21,12,45,36,12,19,36,45,19,27,54,44,27,35,44,50,35,42,50,44,42,35,44,50,35,43,50,60,43,42,60,54,42,35,45,52,35,36,52,53,29,35,53,46,35,52,46,47,52,37,54,37,36,37 );
var names7 = new Array();
var base7 = -1;
var pieces = "KQNBR ";

var moves8 = new Array(52,36,12,28,62,45,1,18,61,34,5,26,50,42,6,21,51,43,11,19,60,62,127,61,8,16,34,41,26,8,55,47,4,6,71,5,61,60,18,12,57,51,12,22,51,61,2,20,43,35,20,41,59,41,3,11,61,46,15,23,58,44,5,4,35,28,22,28,45,28,19,28,44,8,0,8,41,34,9,17,48,32,11,20,34,52,6,15,32,24,17,25,46,29,8,0,52,44,0,3,56,59,20,41,59,3,4,3,44,46,21,4,46,28,3,59,60,59,41,59,62,55,59,11,49,33,14,22,29,35,4,19,53,45,11,3,35,18,3,39,18,1,19,34,28,10,39,21,1,18,15,14,18,35,34,28,35,52,28,34,10,37,21,3,52,35,23,31,37,46,3,21,46,10,34,28,35,52,31,39,10,26,14,15,26,35,22,30,42,34,25,34,33,25,16,25,24,16,28,45,54,45,21,45,52,62,45,46,55,63,46,40,35,21,34,42,21,13,15,23,16,8,42,50,13,20,23,31,20,11,31,23,11,18,23,14,136,0,40,0,18,0,178,58,0,9,14,23,9,25,58,37,25,29,37,58,29,21,23,31,21,14,58,18,14,15,18,23,15,23,31,23,63,54,23,22,54,45,22,21,62,52,21,28,52,58,28,35,58,41,35,28,41,51,28,21,45,38 );
var names8 = new Array();
var base8 = -1;
var pieces = "KQNBR ";

var moves9 = new Array(51,35,6,21,50,34,14,22,57,42,5,14,52,36,11,19,53,45,4,6,71,5,58,44,10,26,62,52,1,18,35,27,18,28,52,46,12,20,61,52,20,27,34,27,15,31,60,62,127,61,21,15,59,51,31,39,46,63,22,30,63,53,8,16,48,32,2,11,49,41,3,21,56,58,0,2,53,43,21,12,43,28,12,28,52,43,2,4,61,60,28,12,62,63,14,28,45,37,30,37,44,37,39,47,37,28,12,28,60,44,47,54,51,54,6,7,42,52,5,6,44,46,6,46,55,46,4,6,58,61,6,14,61,37,15,30,37,39,7,6,54,55,14,22,39,23,28,56,52,62,30,45,23,22,13,22,55,53,11,38,43,34,45,62,53,62,38,45,63,55,56,7 );
var names9 = new Array();
var base9 = -1;
var pieces = "KQNBR ";

var moves10 = new Array(51,35,11,27,50,34,1,18,34,27,3,27,52,44,12,28,57,42,5,33,58,51,33,42,51,42,28,35,62,52,6,21,52,35,4,6,71,5,59,41,27,41,48,41,18,35,42,35,2,20,41,33,8,16,53,45,21,27,60,53,5,3,33,25,16,25,61,25,10,18,25,52,13,21,63,59,6,13,54,46,27,33,35,42,33,27,42,60,13,4,44,36,27,12,53,44,0,56,59,56,12,2,56,59,3,59,52,59,2,19,60,42,4,11,45,37,19,25,42,33,9,17,37,29,20,13,33,5,14,22,46,38,25,19,49,33,19,34,44,35,11,4,5,14,4,12,55,39,22,29,36,29,34,19,59,50,19,25,35,44,25,19,38,30,21,30,39,30,13,6,14,35,12,11,44,37,19,2,37,28,11,12,29,21,12,5,50,29,2,8,35,17,8,25,17,26,5,4,29,36,4,11,30,22 );
var names10 = new Array();
var base10 = -1;
var pieces = "KQNBR ";

var moves11 = new Array( );
var names11 = new Array();
var base11 = -1;
var pieces = "KQNBR ";

var moves12 = new Array(51,35,6,21,50,34,12,20,62,45,5,33,58,51,8,24,54,46,11,19,61,54,1,11,60,62,127,61,20,28,57,42,28,35,45,35,4,6,71,5,59,50,5,4,56,59,11,26,49,41,15,31,55,47,2,11,61,60,3,2,62,55,33,42,51,42,26,36,52,44,36,42,50,42,10,18,42,50,2,10,55,62,10,17,35,52,17,26,50,43,19,27,34,27,18,27,52,37,11,20,43,35,26,40,60,52,0,2,62,55,2,18,54,45,18,58,37,31,21,31,45,31,58,59,35,59,24,32,41,32,4,0,59,41,40,32,41,9,0,5,31,45,27,35,9,36,5,3,52,51,20,48,51,35,3,35,44,35,32,8,55,54,48,34,35,27,34,25,36,28,8,26,45,36,14,22,36,45,26,34,54,55,34,26,28,44,26,19,47,39,25,11,55,54,11,29,44,30,19,28,46,38,13,21,30,44,28,44,53,44,29,11,54,46,22,30,39,30,21,30,44,36,6,13,36,28,13,12,46,53,11,25,53,44,25,16,44,35,16,61,35,26,61,52,45,52,12,11,52,43,11,10,43,29,10,9,27,19,9,1,28,20,1,9,19,11,9,10,20,12,10,9,139,3,9,8,3,17,8,0,29,36 );
var names12 = new Array();
var base12 = -1;
var pieces = "KQNBR ";

var moves13 = new Array(52,36,10,26,50,42,6,21,36,28,21,27,51,35,26,35,42,35,11,19,62,45,1,18,61,34,12,20,60,62,127,61,27,17,34,25,2,11,59,52,8,16,58,30,5,12,30,12,3,12,25,43,18,33,28,19,12,19,57,42,33,43,52,43,11,18,61,60,15,23,42,36,18,36,43,36,17,27,56,58,4,6,71,5 );
var names13 = new Array();
var base13 = -1;
var pieces = "KQNBR ";

var moves14 = new Array(52,36,10,26,62,45,11,19,61,25,2,11,25,11,3,11,50,34,1,18,51,35,26,35,45,35,6,21,57,42,11,38,59,38,21,38,35,52,14,22,53,45,38,28,49,41,28,43,60,51,5,23,51,50,18,33,50,57,43,58,52,58,23,14,58,52,8,16,48,40,33,18,57,50,12,20,56,59,4,12,45,37,0,1,41,33,7,2,50,41,2,10,59,43,1,2,42,32,9,25,34,25,16,25,32,42,18,35,52,35 );
var names14 = new Array();
var base14 = -1;
var pieces = "KQNBR ";

var moves15 = new Array(62,45,11,27,54,46,2,38,61,54,1,11,60,62,127,61,12,20,51,43,6,21,49,41,5,12,58,49,4,6,71,5,57,51,10,26,52,36,38,31,36,28,21,4,59,52,4,10,55,47,8,24,48,32,10,16,46,38,31,22,61,60,16,33,51,61,26,34,41,34,27,34,60,59,34,43,50,43,0,2,56,58,2,58,49,58,11,26,43,35,26,32,52,44,33,27,44,60,32,42,59,51,12,33,61,46,42,57,60,59,57,51,58,51,9,25,47,39,3,10,45,60,33,51,59,51,10,42,51,52,42,35,39,31,27,42,52,49,22,43,60,45,35,33,49,51,42,52 );
var names15 = new Array();
var base15 = -1;
var pieces = "KQNBR ";

var moves16 = new Array(50,34,14,22,54,46,5,14,61,54,11,19,62,45,6,21,60,62,127,61,4,6,71,5,51,35,1,11,57,42,12,28,55,47,5,4,35,27,8,24,52,36,15,23,61,60,11,26,54,61,4,5,56,57,21,15,45,39,15,30,62,55,6,15,61,54,13,29,36,29,22,29,53,37,28,37,58,37,2,11,59,50,3,21,60,44,0,4,57,60,4,44,60,44,26,16,49,41,16,26,48,40,5,0,39,45,26,36,42,36,30,36,45,51,21,49,50,49,14,49,51,36,29,36,44,36,0,4,36,4,11,4,54,36,15,14,40,32,4,13,55,54,49,28,54,45,23,31,37,28,19,28,36,29,14,21,45,36,13,4,46,38,31,38,47,38,4,13,38,30,21,30,36,28,13,4,34,26,9,25,32,25,4,25,27,19,10,19,26,19,24,32,41,33,32,40,29,57,25,11,57,48,30,22,48,34,22,14,34,27,14,5,28,35,11,18,27,48,5,4,35,26,4,11,48,57,18,32,57,29,11,3,29,20,32,11,20,41,11,32,41,48,3,11,26,27,32,18,27,26,18,32,48,34,32,18,34,13,18,32,13,48,32,18,48,57,18,36,57,48,36,18,48,34,18,32,26,27,32,25,34,48,25,32,27,28,32,50,48,20,11,18,33,25,18,9,19,11,9,10,25,17 );
var names16 = new Array();
var base16 = -1;
var pieces = "KQNBR ";

var moves17 = new Array(52,36,12,20,51,35,11,27,57,42,5,12,62,45,6,21,61,43,10,26,36,27,20,27,60,62,127,61,26,34,43,52,4,6,71,5,45,28,1,18,58,37,2,29,61,60,5,4,59,51,12,33,52,45,29,36,45,52,15,23,48,40,33,24,49,33,34,41,97,97,50,41,0,2,41,33,24,17,28,18,9,18,52,16,2,10,37,10,17,10,16,43,21,38,43,36,10,55,62,61,27,36,60,36,4,36,42,36,3,27,56,60,55,10,53,45,27,29,51,50,14,22,50,18,10,17,18,19,23,31,40,32,31,39,32,24,39,47,24,17,47,55,61,52,29,25,52,51,25,32,45,38,32,48,51,44,48,54,17,9,54,62,44,43,183,63,137,1,6,15 );
var names17 = new Array();
var base17 = -1;
var pieces = "KQNBR ";

var moves18 = new Array(51,35,6,21,50,34,14,22,54,46,10,18,61,54,11,27,34,27,18,27,57,42,5,14,62,47,4,6,71,5,47,37,12,20,60,62,127,61,1,18,52,44,9,17,58,51,2,16,61,60,0,2,56,58,21,4,59,32,16,9,54,61,4,19,32,59,18,24,49,41,24,18,37,43,3,12,43,37,18,1,55,39,1,11,42,25,19,25,61,25,11,21,25,43,20,28,35,28,12,28,51,33,2,58,59,58,5,2,58,51,27,35,44,35,28,35,43,57,21,38,51,35,14,35,37,43,15,31,33,51,9,16,62,54,16,9,54,62,9,16,62,54,2,3,51,30,13,21,30,37,16,43,57,43,35,53,43,34,6,5,60,20,53,26,48,32,3,59,34,52,59,62,54,45,21,29,52,34,5,14,37,30,62,63,20,52,63,61,45,54,61,62,54,45,26,19,30,37,19,26,37,30,26,19,30,37,19,37,52,12,14,5,12,13,5,4,45,37,62,58,13,8,4,3,8,14,58,50,14,22,50,53,37,30,53,45,22,17,38,44,30,31,45,46,32,24,44,54,24,16,54,37,31,23,3,10,16,8,10,17,136,0,46,22,23,15,22,38,0,3,17,26,3,21,26,33,39,31,37,47,21,5,33,42,5,29,38,46,29,28,42,33,28,46,33,26,46,47 );
var names18 = new Array();
var base18 = -1;
var pieces = "KQNBR ";

var moves19 = new Array(52,36,11,27,36,27,3,27,57,42,27,24,51,35,6,21,62,45,10,18,61,34,2,29,58,51,12,20,42,27,24,3,27,21,14,21,34,41,3,10,59,52,5,12,60,62,127,61,1,11,50,34,4,2,64,3,48,32,7,6,62,63,6,38,55,47,38,14,45,39,29,22,32,24,21,29,51,23,14,6,39,45,22,31,52,44,31,45,44,45,6,22,23,37,12,19,37,44,3,6,34,26,19,55,24,16,22,54,16,9,10,9,41,34,55,10,45,54,6,54,63,54,9,49,56,8,29,37,8,0,11,1,44,58,49,35,34,16,2,11,16,52,35,36,52,45,36,22,54,63,22,50,0,8,50,26,8,48,26,34,61,59,11,2,48,51,13,29,58,40,20,28,45,52,34,41,40,19,41,47,63,62,37,45,52,61,47,38,62,55,38,37,55,62,37,38,62,55,38,37,55,47,37,38,47,55,38,37 );
var names19 = new Array();
var base19 = -1;
var pieces = "KQNBR ";

var moves20 = new Array(52,36,10,26,50,42,11,27,36,27,3,27,51,35,6,21,62,45,2,38,59,32,38,11,32,41,26,35,45,35,1,18,35,25,27,28,61,52,8,16,25,40,9,25,57,51,12,20,51,45,28,10,60,62,127,61,5,12,58,30,4,6,71,5,56,59,5,3,40,57,11,4,41,50,15,23,30,39,3,59,61,59,0,3,59,3,10,3,57,51,3,17,48,40,21,27,39,12,18,12,50,36,27,21,36,0,12,18,55,47,17,8,0,2,6,5,52,43,8,11,2,11,4,11,51,41,5,12,62,61,12,19,61,52,21,27,54,46,27,17,52,51,20,28,46,38,11,20,41,58,20,27,45,60,17,34,43,34,27,34,51,44,13,21,60,54,18,12,58,43,12,27,44,36,14,22,43,58,34,61,36,45,21,29,38,29,22,29,47,39,29,37,54,60,27,21,58,41,61,34,41,51,34,27,45,52,21,36,51,36,27,36,53,45,36,27,52,53,28,36,45,36,27,36,60,45,16,24,45,51,36,27,53,52,19,28,52,43,24,32,43,52,28,29,51,45,29,38,45,35 );
var names20 = new Array();
var base20 = -1;
var pieces = "KQNBR ";

var moves21 = new Array(51,35,6,21,50,34,10,26,35,27,12,20,57,42,20,27,34,27,11,19,52,36,14,22,55,47,5,14,62,45,4,6,71,5,61,43,5,4,60,62,127,61,26,34,43,50,9,25,48,40,8,16,58,44,21,11,44,35,14,35,45,35,11,26,59,51,1,11,53,37,3,39,35,45,39,3,56,60,0,1,36,28,11,5,62,63,16,24,42,36,26,36,50,36,5,11,28,20,11,26,37,29,1,9,51,23,26,36,60,36,3,21,20,13,21,13,36,4,13,4,29,21,2,29,45,30,4,5,21,13,9,13,30,13,5,13,61,60,25,33,40,33,24,33,23,30,13,11,60,12,11,2,30,23 );
var names21 = new Array();
var base21 = -1;
var pieces = "KQNBR ";

var moves22 = new Array(49,41,12,28,58,49,1,18,52,44,11,27,62,45,5,19,51,35,28,35,45,35,6,21,57,42,4,6,71,5,35,18,9,18,61,52,3,12,59,51,8,24,48,40,5,4,60,62,127,61,12,28,54,46,2,47,61,60,28,30,56,59,15,31,51,35,31,39,35,39,30,39,46,39,21,38,52,38,47,38,59,51,38,45,42,52,4,36,39,31,36,39,52,46,39,47,40,32,19,33,50,42,33,19,60,56,0,1,41,33,24,33,32,24,47,39,51,35,39,35,44,35,33,42,49,42,18,26,46,29,26,35,29,35,45,36,53,45,36,43,24,16,1,0,16,8,19,26,62,54,0,8,56,8,26,8,35,18,8,26,42,28,43,25,18,35,25,11,35,41,26,17,28,35,17,35,41,35,6,5,35,41,5,12,54,53,12,19,53,44,10,26,41,51,27,35,44,36,11,18,36,43,19,27,51,36,26,34,43,51,34,42,51,43,18,25,43,50,25,32,50,43,32,25,43,50,25,32,50,43,32,11,36,30,11,29,43,52,35,43,52,44,43,51,44,52,29,50 );
var names22 = new Array();
var base22 = -1;
var pieces = "KQNBR ";

var moves23 = new Array(51,35,11,27,62,45,10,18,50,34,12,20,52,44,6,21,57,51,1,11,61,43,5,19,60,62,127,61,4,6,71,5,44,36,27,36,51,36,21,36,43,36,11,21,36,50,15,23,49,41,9,17,58,49,2,9,59,43,5,4,61,60,3,10,34,26,19,12,45,28,0,3,28,13,6,13,43,22,13,5,60,20,9,2,20,44,3,27,44,46,12,3,26,17,8,17,49,40,5,6,46,45,10,13,45,21,13,22,21,22,3,21,41,33,2,29,22,21,14,21,50,41,29,20,41,27,20,27,55,47,4,0,40,58,0,32,48,40,6,14,58,49,17,25,56,60,14,13,54,38,32,0,49,58,23,31,62,55,31,38,47,38,0,4,58,44,4,0,44,58,0,4,60,44,4,36,44,36,27,36,55,46,36,27,58,37,13,22,37,10,21,29,46,37,29,38,37,38,22,21,38,37,21,20,37,38,27,36,53,37,36,29,38,30,29,50,10,28,50,43,30,23,20,13,23,31,43,36,31,38,13,20,38,46,20,29,46,53,36,27,53,44,27,34,44,51,29,36,51,42,34,20,42,51,20,38,51,60,38,20,60,53,20,27,53,46,36,29,46,47,27,20,47,39,20,13,39,46,13,27,46,53,29,36,53,52,27,34,52,51,34,20,51,50,20,27,50,49,27,20,49,56,20,27,56,57,27,20,57,58,20,27,58,59,27,20,59,60,20,27,60,61,27,20,61,62,20,34,62,63,34,20,63,55,20,27,55,46,36,29,46,39,27,13,28,10,13,4,39,46,4,13,46,45,13,27,45,44,27,20,35,27,20,27,44,35,27,63,35,26,63,54,10,28,54,63,26,17,63,54,17,24,54,63,40,32,25,32,24,32,63,54,32,24,54,61,24,17,61,54,17,26,54,63,26,19,63,54,19,12,54,63,12,13,63,54,13,14,54,63,14,23,63,54,33,25,18,25,23,14,25,33,14,13,33,41,13,12,41,49,28,49,29,37 );
var names23 = new Array();
var base23 = -1;
var pieces = "KQNBR ";

var moves24 = new Array( );
var names24 = new Array();
var base24 = -1;
var pieces = "KQNBR ";

var moves25 = new Array(54,46,11,27,61,54,6,21,53,37,14,22,62,45,5,14,60,62,127,61,9,17,51,43,2,9,59,60,4,6,71,5,52,36,27,36,45,30,1,16,43,36,15,23,30,47,12,28,37,29,3,35,47,53,0,3,50,42,35,32,46,38,16,26,57,51,26,43,53,43,3,43,60,52,5,3,55,39,9,16,49,41,32,24,51,34,16,34,41,34,24,42,58,49,43,51,49,42,51,52,54,45,52,44,42,28,21,36,28,14,6,14,56,60,44,60,61,60,36,19,60,12,22,29,38,30,23,30,39,30,19,34,12,10,3,43,45,31,34,28,62,53,43,40,10,12,28,22,31,52,40,48,53,44,29,37,44,45,22,12 );
var names25 = new Array();
var base25 = -1;
var pieces = "KQNBR ";

var moves26 = new Array(52,36,10,26,57,42,1,18,62,52,14,22,51,35,26,35,52,35,5,14,35,52,11,19,54,46,6,21,61,54,4,6,71,5,60,62,127,61,0,1,48,32,8,16,42,27,9,25,32,25,16,25,58,30,21,11,59,58,5,4,61,59,2,9,50,42,11,17,55,39,17,11,39,31,11,26,31,22,15,22,58,50,3,2,52,35,18,35,42,35,9,27,36,27,26,32,50,51,2,29,30,37,32,17,59,60,17,27,54,36,29,31,37,30,14,21,30,21,12,21,62,54,27,10,36,18,4,60,56,60,10,20,53,37,25,33,18,45,31,25,60,63,21,29,35,27,20,14,63,58,1,4,58,18,25,1,18,34,1,8,34,33,4,12,33,34,14,4,34,2,6,14,49,33,4,21,51,49,12,60,33,25,8,62,54,47,60,44,45,54,62,60,47,55,60,46,55,63,44,60 );
var names26 = new Array();
var base26 = -1;
var pieces = "KQNBR ";

var moves27 = new Array(62,45,10,26,50,34,14,22,54,46,5,14,61,54,1,18,57,42,11,19,60,62,127,61,12,28,45,60,13,29,51,43,6,21,60,50,4,6,71,5,56,57,8,24,58,30,15,23,30,21,3,21,48,40,2,20,50,44,29,37,44,27,21,13,49,33,24,33,40,33,26,33,42,25,0,3,27,33,18,33,57,33,19,27,34,27,20,27,54,27,3,27,25,42,27,35,33,35,28,35,42,36,9,25,59,57,5,1,57,33,13,27,61,58,37,46,55,46,27,11,33,24,11,12,58,10,12,28,24,8,1,4,53,37,28,10,8,10,4,5,10,18,25,33,18,22,6,7,22,17,23,31,17,33,31,39,62,54,39,46,54,46,7,6,33,9,14,23,36,30,23,14,9,27,6,7,27,63 );
var names27 = new Array();
var base27 = -1;
var pieces = "KQNBR ";

var moves28 = new Array(62,45,6,21,50,34,14,22,57,42,5,14,52,36,11,19,51,35,4,6,71,5,61,52,12,28,35,28,19,28,59,3,5,3,58,30,3,5,42,27,21,27,34,27,10,18,52,34,9,25,34,41,2,9,56,59,5,4,60,62,127,61,18,26,48,32,8,16,59,56,1,11,32,25,16,25,30,44,14,5,41,50,26,34,45,51,5,26,44,26,11,26,53,45,13,21,62,53,6,13,53,44,13,12,55,39,12,19,61,63,26,16,63,57,16,33,50,59,21,29,54,46,19,26,56,40,9,27,36,27,33,27,44,53,0,40,49,40,4,0,57,56,26,35,59,52,27,42,53,60,42,52,60,52,28,36,45,36,29,36,56,59,0,40,51,41,35,28,41,35,40,43,35,25,43,46,59,58,46,47,58,34,47,39,25,42,15,31,52,44,39,47,44,52,47,39,52,44,39,47,44,52 );
var names28 = new Array();
var base28 = -1;
var pieces = "KQNBR ";

var moves29 = new Array(52,36,11,27,36,27,3,27,57,42,27,24,51,35,6,21,62,45,2,29,58,51,10,18,61,34,12,20,60,62,127,61,24,10,61,60,5,19,55,47,4,6,71,5,45,28,9,25,34,43,29,43,28,43,1,11,59,45,8,16,56,59,18,26,35,26,11,26,43,26,19,26,51,30,26,12,42,36,21,27,30,12,10,12,50,42,5,3,36,46,12,30,46,36,30,12,36,46,12,5,46,31,0,2,59,35,27,12,60,59,3,35,59,35,12,29,35,43,5,12,31,46,29,19,46,36,19,34,45,52,15,23,49,41,34,17,36,19,2,3,52,28,13,21,19,29,21,28,29,12,6,13,43,3,13,12,3,1,17,27,42,34,25,34,41,34 );
var names29 = new Array();
var base29 = -1;
var pieces = "KQNBR ";

var moves30 = new Array(51,35,6,21,50,34,12,20,62,45,9,17,54,46,2,16,49,41,5,33,58,51,33,12,61,54,10,18,51,42,11,27,45,28,21,11,28,11,1,11,57,51,4,6,71,5,60,62,127,61,0,2,52,36,18,26,36,27,20,27,35,26,27,34,26,18,34,41,61,60,41,49,42,49,11,26,59,38,12,21,49,21,3,21,51,36,21,18,38,39,16,9,56,59,15,23,59,19,18,10,19,23,14,23,36,21,6,14,54,47,10,18,21,31,14,7 );
var names30 = new Array();
var base30 = -1;
var pieces = "KQNBR ";

var moves31 = new Array( );
var names31 = new Array();
var base31 = -1;
var pieces = "KQNBR ";

var moves32 = new Array(52,36,12,20,51,35,11,27,57,42,6,21,36,28,21,6,53,37,9,17,62,45,3,11,58,44,10,18,55,47,15,31,63,62,2,16,61,16,1,16,59,52,16,10,54,38,4,2,64,3,60,58,120,59,2,9,58,57,3,2,45,30,6,23,52,45,13,21,30,20,11,20,37,29,31,38,47,38,20,4,62,63,21,28,35,28,4,28,44,35,28,19,38,30,23,13,63,7,13,7,45,31,18,26,35,62,5,12,62,55,19,11,55,10,11,10,42,27,10,19,31,45,19,18,45,44,12,19,30,22,2,4,44,45,26,34,45,42,19,28,42,45,4,3,49,41,34,42,45,36,28,21,36,45,8,16,48,32,16,24,57,48,7,22,59,43,22,28 );
var names32 = new Array();
var base32 = -1;
var pieces = "KQNBR ";

var moves33 = new Array(52,36,12,28,62,45,1,18,61,25,8,16,25,32,6,21,60,62,127,61,21,36,51,35,9,25,32,41,11,27,35,28,2,20,50,42,5,26,57,51,4,6,71,5,41,50,20,29,51,41,29,22,45,35,26,35,42,35,16,24,58,44,24,32,41,51,32,40,51,36,27,36,49,40,18,24,40,32,25,33,56,57,0,1,35,27,3,12,59,35,5,3,35,26,12,26,44,26,3,27,26,33,1,4,33,24,27,24,57,9,24,26,50,41,15,31,28,20,13,20,61,59,22,29,55,47,6,13,32,24,26,24,9,10,4,12,59,11,12,11,10,11,13,21,62,61,24,26,61,52,14,30,11,51,21,28,51,50,26,25,52,44,31,39,50,42,30,38,47,38,29,38,48,32,25,24,42,34,38,29,34,33,28,19,41,34,24,8,34,25,8,14,32,24,14,54,24,16,54,14,25,61,39,47,33,9,47,55,9,14,183,63,16,8,63,45,44,51,45,53,51,42,53,60,42,34,60,61 );
var names33 = new Array();
var base33 = -1;
var pieces = "KQNBR ";

var moves34 = new Array(52,36,12,20,51,35,11,27,57,51,5,12,62,45,6,21,61,43,10,26,50,42,1,18,35,26,27,36,51,36,21,36,43,36,3,59,60,59,12,26,59,52,13,21,58,44,26,44,52,44,20,28,63,59,2,20,49,41,4,12,59,51,14,22,36,18,9,18,56,59,7,3,51,3,0,3,59,3,12,3,45,51,3,12,48,40,22,30,41,33,21,29,54,46,15,31,53,37,28,37,46,37,30,38,44,53,31,39,51,61,20,34,61,44,34,43,44,54,39,47,54,44,12,19,53,46 );
var names34 = new Array();
var base34 = -1;
var pieces = "KQNBR ";

var moves35 = new Array(52,36,12,20,51,35,11,27,57,42,5,33,36,28,10,26,48,40,33,42,49,42,6,12,59,38,4,6,71,5,61,43,1,18,38,31,12,22,62,45,3,10,55,39,26,35,60,59,35,42,63,47,9,17,58,44,27,35,44,58,8,24,45,30,15,23,43,22,13,22,31,22,23,30,39,30,5,53,22,15,6,13,30,22,13,4,59,60,53,5,47,31,2,16 );
var names35 = new Array();
var base35 = -1;
var pieces = "KQNBR ";

var moves36 = new Array(62,45,6,21,50,34,14,22,54,46,5,14,61,54,11,19,51,35,4,6,71,5,60,62,127,61,1,18,57,42,8,16,35,27,18,24,45,51,10,26,59,50,0,1,49,41,9,25,56,57,12,28,27,20,92,92,2,20,42,27,21,27,34,27,20,38,55,47,38,11,58,49,14,49,50,49,5,4,57,60,26,34,41,33,24,9,62,55,13,21,52,36,3,12,53,37,9,3,51,45,3,13,45,35,1,2,49,42,12,3,47,39,13,23,54,45,3,17,45,59,16,24,33,24,17,10,37,29,22,29,36,29,4,28,35,20,10,8,46,38,11,20,29,20,25,33,42,46,8,35,38,30,21,30,60,28,19,28,46,30,6,7,30,21,7,6,61,62,35,62,55,62 );
var names36 = new Array();
var base36 = -1;
var pieces = "KQNBR ";

var moves37 = new Array(51,35,11,27,50,34,27,34,62,45,6,21,52,44,12,20,61,34,10,26,60,62,127,61,1,18,59,52,26,35,61,59,5,12,57,42,4,6,71,5,44,35,18,24,34,43,9,17,58,30,2,9,56,58,0,2,43,16,9,16,52,16,24,34,30,21,12,21,49,41,34,19,42,52,3,11,52,46,2,58,59,58,5,2,58,2,19,2,55,47,2,12,46,36,12,27,36,21,14,21,16,34,6,14,54,46,11,9,45,51,27,12,47,39,12,29,48,32,29,19,34,52,9,27,52,38,14,5,38,37,5,12,46,38,15,31,53,45,8,16,62,53,17,25,32,25,16,25,38,30,21,30,39,30,19,29,37,10,12,5,10,1,5,14,1,28,14,6,28,1,6,15,51,36,27,35,53,54,15,14,1,25,29,39,54,46,39,29,46,54,29,39,54,46,35,62 );
var names37 = new Array();
var base37 = -1;
var pieces = "KQNBR ";

var moves38 = new Array(52,36,10,26,62,45,11,19,51,35,26,35,45,35,6,21,57,42,8,16,53,37,12,20,48,32,5,12,61,52,3,10,60,62,127,61,4,6,71,5,62,63,9,17,36,28,19,28,37,28,21,11,52,45,2,9,58,37,1,18,35,18,9,18,45,18,10,18,59,52,5,3,42,36,11,5,37,30,18,10,30,12,10,12,61,53,5,22,52,31,12,39,31,39,22,39,36,19,3,11,56,61,13,29,19,34,0,1,53,51,11,51,34,51,1,2,50,42,39,22,51,45,2,3,45,35,22,5,61,56,3,27,56,60,6,13,63,62,14,30,62,53,5,22,35,18,27,26,18,33,16,24,33,43,26,27,60,44,29,37,44,47,15,31,43,60,31,39,47,43,22,28,43,27,20,27,60,50,28,43 );
var names38 = new Array();
var base38 = -1;
var pieces = "KQNBR ";

var moves39 = new Array(52,36,12,20,51,35,11,27,57,51,6,21,36,28,21,11,61,43,9,17,50,42,10,26,62,52,2,16,43,16,1,16,60,62,127,61,16,10,51,45,15,23,52,37,14,22,59,43,11,1,48,40,26,34,43,50,1,18,54,46,3,11,45,51,18,24,40,32,10,16,49,33,34,41,97,97,51,41,24,34,41,51,34,51,58,51,0,2,61,57,16,33,57,33,5,33,37,22,33,42,22,7,42,56,50,15,11,12,51,23,56,35,23,14,2,10,15,6,4,11,14,21,12,4,6,38,10,34,38,14,34,10,14,38,35,26,55,39,26,12,21,14,12,5,14,21,5,12,21,14,4,6,39,31,10,34,53,37,6,15,62,54,15,36 );
var names39 = new Array();
var base39 = -1;
var pieces = "KQNBR ";

var moves40 = new Array(52,36,10,26,62,45,12,20,49,41,8,16,58,49,1,18,51,35,26,35,45,35,3,10,54,46,15,31,61,54,31,39,60,62,127,61,39,46,55,46,5,26,35,18,10,46,49,28,46,30,59,51,30,51,57,51,9,18,28,14,7,15,14,49,11,27,36,27,18,27,50,34,2,9,34,27,9,27,54,27,20,27,56,58,26,19,61,60,4,11,51,45,6,12,45,28,19,28,49,28,0,6,28,46,12,18,58,26,15,31,60,59,6,30,59,58,30,22,58,59,22,30,41,33,27,35,26,34,16,24,59,58,30,22,33,24,31,24,48,32,35,43,58,59,24,27,62,61,22,23,61,54,23,20,34,42,18,33,42,41,20,36,54,45,13,29,41,42,11,20,59,63,43,51,63,23,20,13,42,10,36,12,23,15,13,22,10,12,179,59,45,54,59,35,54,55,29,37,46,39,27,31,15,31,22,31,12,15,31,22,15,9,33,43,9,25,35,32,25,30,22,23,30,27,32,36,27,19,23,31,39,3,43,60,3,10,36,54 );
var names40 = new Array();
var base40 = -1;
var pieces = "KQNBR ";

var moves41 = new Array(50,34,12,20,62,45,11,27,51,35,10,18,57,51,13,29,54,46,6,21,61,54,5,19,60,62,127,61,4,6,71,5,49,41,2,11,58,49,11,4,45,28,4,31,51,45,1,11,28,43,15,23,45,28,14,30,53,45,3,12,59,50,0,3,48,32,8,16,41,33,3,2,50,41,6,15,33,25,18,26,52,44,31,13,56,58,13,6,41,48,16,25,32,25,27,34,28,34,19,1,49,40,9,17,48,57,6,13,35,26,17,26,34,24,13,22,24,18,12,14,18,1,2,1,43,26,11,26,40,26,5,2,57,49,14,13,26,35,21,27,58,2,1,2,61,58,2,1,58,18,13,12,45,37,22,4,54,27,20,27,18,16,1,25,16,8,12,8,49,25,8,35,25,4,35,36,4,13,15,7 );
var names41 = new Array();
var base41 = -1;
var pieces = "KQNBR ";

var moves42 = new Array(51,35,6,21,50,34,14,22,54,46,5,14,61,54,4,6,71,5,57,42,11,19,62,45,1,11,60,62,127,61,12,28,49,41,5,4,58,49,10,18,35,28,19,28,45,30,11,26,59,3,4,3,56,59,2,29,55,47,15,23,30,45,21,4,46,38,29,20,59,3,0,3,61,59,3,59,42,59,13,21,59,44,8,24,45,39,20,13,49,58,14,5,62,61,4,10,58,51,24,32,41,33,26,20,48,40,20,37,54,36,6,14,36,54,10,20,44,50,37,54,39,54,20,10,54,44,13,20,61,54,21,29,51,42,14,13,42,28,10,4,38,29,22,29,50,35,4,14,34,26,23,31,28,14,5,14,44,29,20,29,35,29,14,49,29,19,13,20,19,34,49,58,52,36 );
var names42 = new Array();
var base42 = -1;
var pieces = "KQNBR ";

var moves43 = new Array(52,36,11,27,36,27,3,27,57,42,27,24,54,46,14,22,61,54,5,14,62,52,6,21,60,62,127,61,4,6,71,5,51,35,10,18,58,37,24,31,61,60,2,38,59,51,1,11,37,44,38,52,42,52,21,38,55,47,38,44,51,44,12,20,52,37,31,29,37,43,11,17,50,42,29,21,43,26,21,12,44,45,12,10,60,52,17,11,26,43,11,17,56,60,0,3,43,26,17,11,26,43,11,17,47,39,17,27,43,28,27,17,54,47,10,12,49,33,17,27,48,40,27,10,47,54,10,27,39,31,8,24,33,24,12,40,42,34,40,45,54,45,27,12,52,49,12,29,49,9,29,35,62,54,3,0,28,18,35,18,45,18,0,24,31,22,15,22,60,59,24,26,18,25,14,28,59,11,22,30,54,45,6,14,45,38,14,22,53,37,30,37,46,37,28,42,9,10,26,10,11,10,5,1,38,45,22,21,45,36,42,33,10,8,1,3,8,9,33,26,9,10,3,35,36,45,35,37,45,37,26,19,37,36,19,10,34,26,21,12,25,18,13,29,36,45,20,28,45,44,12,20,18,9,10,1,44,45,1,8,26,18,28,36,45,37,8,1,37,44,20,28,9,16,29,37,44,52,37,45,52,60,36,44,16,61,28,37,61,34,37,28,34,61,28,19,61,43,19,26,43,36,1,46,60,59,44,52,59,50,180,60,18,10,60,36 );
var names43 = new Array();
var base43 = -1;
var pieces = "KQNBR ";

var moves44 = new Array(51,35,6,21,50,34,14,22,57,42,5,14,52,36,11,19,62,45,4,6,71,5,61,52,12,28,35,28,19,28,59,3,5,3,58,30,3,4,42,27,21,27,34,27,10,18,52,34,9,25,34,41,18,26,48,32,26,34,41,59,25,33,59,52,2,16,56,58,13,29,52,34,29,36,45,51,16,34,58,34,15,23,30,44,4,3,51,36,3,27,34,2,6,13,60,52,13,12,63,58,27,3,58,10,1,11,2,0,3,0,36,26,0,3,10,8 );
var names44 = new Array();
var base44 = -1;
var pieces = "KQNBR ";

var moves45 = new Array(49,41,10,26,58,49,11,27,52,44,8,16,62,45,1,18,51,35,6,21,61,52,2,38,60,62,127,61,12,20,57,51,5,12,50,34,4,6,71,5,48,40,0,2,35,26,12,26,41,33,26,19,34,26,19,1,45,35,38,52,59,52,3,10,54,46,18,28,53,37,28,11,44,36,27,36,51,36,21,36,52,36,11,21,36,45,5,3,56,59,9,17,35,41,21,27,49,28,10,12,28,1,2,1,59,58,17,26,58,26,14,22,61,58,12,21,58,50,27,12,41,24,21,35,62,54,35,56,24,18,12,18,26,18,56,57,18,10,1,17,10,2,17,19,54,47,15,31,45,0,57,61,47,39,61,59,55,47,59,35,50,26,6,14,2,3,19,3,0,9,35,21,26,30,3,27,9,8,27,29,8,44,16,24,33,24,29,24,46,38,31,38,47,38,14,15,39,46,24,0,30,28,0,2,40,32,15,14,28,26,2,0,32,24,21,49,44,28,49,28,37,28,14,5,46,37,5,4,37,30,4,12,26,10,12,3,10,13,0,24,30,21 );
var names45 = new Array();
var base45 = -1;
var pieces = "KQNBR ";

var moves46 = new Array(51,35,6,21,50,34,14,22,57,42,11,27,34,27,21,27,52,36,27,42,49,42,5,14,62,45,10,26,56,57,4,6,71,5,61,52,26,35,42,35,3,24,59,51,24,51,58,51,9,17,60,62,127,61,2,9,35,27,5,2,61,58,1,11,51,33,6,5,62,61,11,28,45,28,14,28,55,47,28,37,58,2,0,2,52,43,13,29,36,29,9,27,29,22,15,22,48,32,8,24,33,60,2,18,54,46,37,10,60,51,27,48,57,58,48,27,43,25,18,58,51,58,5,13,58,44,27,45,47,39,13,20,61,60,20,19,60,51,12,28,51,43,19,27,25,34,27,19,34,25,45,54,25,4,54,18,4,18,19,18,43,34,10,3,53,45,3,12,44,53,12,21,46,38,21,12,39,31,22,31,38,31,12,30,53,46,30,21,31,23,21,7,46,39,28,36,45,36,7,28,39,53 );
var names46 = new Array();
var base46 = -1;
var pieces = "KQNBR ";

var moves47 = new Array(52,36,10,26,62,45,12,20,51,35,26,35,45,35,8,16,61,43,14,22,60,62,127,61,5,14,58,44,6,12,57,42,4,6,71,5,59,51,1,18,35,18,9,18,44,23,14,23,51,23,13,29,36,28,18,26,56,59,3,10,53,37,2,9,43,34,12,18,42,52,18,24,49,41,24,34,41,34,0,1,55,39,5,13,52,46,9,18,61,53,1,33,39,31,13,14,31,22,15,22,46,61,33,34,54,46,34,35,59,57,35,33,57,59,33,35,59,60,18,9,53,55,10,18,23,30,26,34,30,3,6,13,60,52,18,2,3,21,13,6,55,23,35,59,52,53,2,18,23,7,6,7,21,5 );
var names47 = new Array();
var base47 = -1;
var pieces = "KQNBR ";

var moves48 = new Array(51,35,6,21,62,45,14,22,58,30,5,14,57,51,4,6,71,5,50,42,11,27,52,44,9,17,61,52,2,9,60,62,127,61,10,26,48,32,1,18,59,57,5,4,49,33,26,34,32,24,17,25,61,60,8,16,52,59,15,23,30,39,21,36,51,36,27,36,57,36,18,24,36,57,24,18,44,36,22,30,39,46,12,28,35,27,18,8,55,39,8,2,39,30,23,30,57,58,14,21,45,55,2,19,55,38,9,2,58,44,6,14,56,48,2,38,59,38,16,24,33,24,0,24,60,56,24,48,56,48,3,1,38,11,4,3,11,18,25,33,48,0,33,41,0,1,3,1,46,28,21,28,44,30,14,15,30,31,15,6,31,28,41,49,28,46,6,15,46,47,15,22,47,46,22,15,46,47,15,14,47,46,14,23,46,19 );
var names48 = new Array();
var base48 = -1;
var pieces = "KQNBR ";

var moves49 = new Array(54,46,14,22,61,54,5,14,62,45,6,21,60,62,127,61,4,6,71,5,51,43,10,26,57,51,1,18,52,36,11,27,36,27,21,27,61,60,9,17,48,40,2,9,56,57,12,20,51,34,15,23,34,28,18,28,45,28,3,10,28,38,23,31,38,44,0,3,44,27,9,27,54,27,3,27,59,45,26,34,58,37,10,18,43,34,18,34,50,42,5,3,57,59,34,41,59,27,41,27,45,52,17,25,55,39,8,16,37,30,3,11,62,55,6,15,30,44,14,21,44,37,21,14,52,44,14,21,44,17,27,45,37,44,45,0,60,56,11,27,56,58,21,3,17,8,0,8,44,8,27,51,49,41,3,12,8,44,51,49,41,33,49,41,58,59,15,6,44,23,41,42,59,11,12,21,23,44,42,40,44,26,16,24,33,24,40,24,11,9,25,33,9,1,6,15,26,33,24,29,55,54,21,14,1,9,14,23,53,45,15,6,9,1,6,15,33,42,23,14,42,51,29,27,51,44,27,11,46,38,11,27,1,9,15,6,54,53,6,5,9,1,5,12,44,58,14,35,53,54,35,28,1,9,27,11,9,17,12,4,58,40,28,19,17,19,11,19,40,19,4,11,19,28,11,18,54,46,18,27,28,14,27,34,46,37,34,41,38,31,41,48,31,23,20,28,37,28 );
var names49 = new Array();
var base49 = -1;
var pieces = "KQNBR ";

var moves50 = new Array(51,35,11,27,50,34,12,20,62,45,10,18,57,51,6,21,54,46,1,11,59,50,5,19,61,54,4,6,71,5,60,62,127,61,5,4,61,59,3,12,52,36,21,36,51,36,27,36,50,36,20,28,58,30,13,21,30,44,28,35,36,12,19,12,45,35,11,28,56,58,2,38,53,45,38,11,55,47,0,3,45,37,28,13,35,41,11,20,41,24,3,59,58,59,4,1,48,40,8,16,44,17,20,2,49,33,6,5,34,26,5,4,17,10,1,0,24,18,12,5,18,24 );
var names50 = new Array();
var base50 = -1;
var pieces = "KQNBR ";

var moves51 = new Array(52,36,10,26,62,45,11,19,51,35,6,21,57,42,26,35,45,35,8,16,53,37,12,20,59,45,3,17,35,41,17,10,54,38,9,25,38,30,21,11,61,43,2,9,48,40,11,26,58,51,1,11,55,39,26,43,50,43,11,26,41,58,19,27,36,27,0,3,60,62,127,61,9,27,42,27,3,27,51,42,10,11,61,59,26,32,58,52,5,26,62,54,4,6,71,5,39,31,5,3,43,35,26,5,52,46,32,17,46,36,27,29,36,46,29,27,59,60,17,34,56,59,34,19,60,28,19,34,28,52,34,19,59,63,19,29,46,36,5,12,31,23,14,22,45,53,11,10,63,59,16,24,53,60,10,37,42,24,37,38,54,63,3,2,24,33,12,30,36,30,38,30,52,20,30,31,63,62,31,38,62,55,29,44,20,22,15,22 );
var names51 = new Array();
var base51 = -1;
var pieces = "KQNBR ";

var moves52 = new Array(51,35,6,21,62,45,14,22,58,30,5,14,57,51,11,27,52,44,4,6,71,5,61,52,9,17,60,62,127,61,10,26,50,42,1,18,55,47,2,9,48,40,8,24,40,32,9,16,52,16,0,16,59,52,3,2,61,59,16,0,56,57,12,20,35,26,17,26,44,36,5,4,52,44,21,11,30,23,27,35,44,37,20,28,37,39,13,21,23,14,6,14,51,34,2,10,57,58,0,2,34,40,10,1,40,25,18,8,39,38,2,3,42,34,11,5,45,60,5,20,60,43,8,18,49,41,1,17,47,39,15,31,38,52,18,33,54,46,33,43,59,43,17,18,58,60,18,11,52,45,20,5,25,42,11,38,42,27,38,45,43,45,5,11,45,43,3,1,62,61,1,9,61,52,21,29,52,59,11,21,27,21,14,21,59,50,21,20,43,51,20,19,51,43,9,13,43,45,4,5,36,29,22,29,45,43,28,36,43,51,13,9,53,45,36,44,60,44,5,1,51,43,1,6,45,37,9,14,44,28,14,46,28,27,19,18,27,29,46,54,43,51,54,51,50,51,6,54,51,43,54,46,43,50,46,54,50,43,54,46,43,50,46,54,50,59,54,46,29,31,46,41,31,23,18,11,23,16,41,42,39,31,42,34,31,23,34,42,23,15,42,47,16,0,47,63,59,51,63,55,51,43,55,47,43,34,11,18,0,2,18,17,143,7 );
var names52 = new Array();
var base52 = -1;
var pieces = "KQNBR ";

var moves53 = new Array(52,36,10,26,62,45,12,20,51,35,26,35,45,35,8,16,61,43,14,22,60,62,127,61,5,14,50,42,11,19,58,44,6,21,55,47,4,6,71,5,57,51,1,11,53,37,20,28,35,52,28,37,52,37,11,28,51,45,28,43,59,43,5,4,37,27,21,27,36,27,2,29,43,51,3,24,45,30,4,28,54,38,0,4,56,60,29,11,61,13,14,23,13,11,23,30,51,53,24,27,44,35,28,60,62,55,27,63,55,46,60,44,35,44,4,44 );
var names53 = new Array();
var base53 = -1;
var pieces = "KQNBR ";

var moves54 = new Array(49,41,10,26,58,49,1,18,52,44,12,28,50,34,14,22,57,42,5,14,54,46,6,12,61,54,4,6,71,5,62,52,11,19,51,43,0,1,60,62,127,61,2,20,42,27,9,25,52,42,8,16,55,47,13,29,59,51,3,11,53,37,6,7,62,55,20,6,56,60,1,4,27,12,18,12,42,27,12,27,34,27,4,12,60,52,5,4,61,60,15,23,47,39,28,37,46,37,14,49,51,49,7,15,44,36,29,36,43,36,11,38,49,21,12,13,21,19,38,39,55,62,13,37,19,26,4,28,52,53,37,53,26,53,39,12,60,58,12,11,53,17,28,12,27,19,12,13,58,2,11,2,17,44,2,11,36,28,11,8,44,8,13,8,54,47,15,14,28,20,6,20,47,20,14,21,20,2,16,24,48,32,25,32,41,32,8,14,62,53,14,6,19,11,21,12 );
var names54 = new Array();
var base54 = -1;
var pieces = "KQNBR ";

var moves55 = new Array(50,34,6,21,54,46,12,20,61,54,11,27,62,45,10,18,59,50,1,11,60,62,127,61,5,12,51,35,4,6,71,5,61,59,9,17,49,41,2,9,57,42,0,2,52,36,18,26,36,27,20,27,35,26,27,34,41,33,17,26,33,25,3,24,58,51,5,4,42,27,24,25,56,57,25,16,45,30,9,18,59,60,12,19,51,42,15,23,27,21,11,21,42,21,23,30,21,30,18,54,62,54,19,28,30,51,28,35,60,4,2,4,57,60,4,60,51,60,34,42,54,62,16,22,50,58,42,50,60,51,22,43,51,37,43,52 );
var names55 = new Array();
var base55 = -1;
var pieces = "KQNBR ";

var moves56 = new Array(49,41,10,26,58,49,1,18,52,44,12,28,61,25,11,19,25,18,9,18,51,43,5,12,62,45,13,29,57,51,6,21,60,62,127,61,4,6,71,5,59,52,2,11,50,34,11,4,43,35,28,36,45,30,4,31,53,45,3,11,35,26,19,26,56,59,12,19,52,53,15,23,30,47,11,10,47,37,36,45,51,45,21,36,53,39,31,45,54,45,36,30,62,63,0,4,37,22,5,13,45,37,30,36,39,31,10,2,61,45,2,20,59,62,19,10,22,39,4,3,45,61,3,51,62,54,51,54,39,54,6,15,54,39,14,22,31,52,13,11,49,58,36,21,58,40,21,36,40,58,36,21,61,62,20,36,52,54,36,54,63,54,21,36,39,45,15,14,58,49,14,13,49,28,10,24,55,47,11,43,28,1,43,44,45,28,13,21,54,55,22,30,28,18,44,52,62,54,52,54,55,54,24,51,37,30,23,30,1,8,51,37,54,45,37,10,45,52,30,38,47,38,29,38,48,40,38,46,52,45,36,51,45,52,51,41,8,1,10,1,18,1,41,58,52,45,58,48,45,46,48,42,46,37,42,32,37,44,21,20,44,43,20,19,1,16,19,18,16,33,26,33,43,51,32,49,51,44 );
var names56 = new Array();
var base56 = -1;
var pieces = "KQNBR ";

var moves57 = new Array(52,36,12,28,62,45,1,18,61,34,6,21,51,43,5,12,34,41,4,6,71,5,60,62,127,61,11,19,50,42,2,20,41,20,13,20,61,60,3,11,57,51,0,4,48,32,19,27,49,33,12,19,33,25,18,3,42,34,3,13,58,49,4,3,36,27,20,27,56,58,27,34,51,34,5,4,34,28,13,28,45,28,19,28,49,28,11,43,59,43,3,43,28,10,4,60,58,60,43,40,32,24,21,27,10,3,40,41,54,46,41,25,62,54,6,13,60,28,15,23,55,39,25,26,39,31,26,25,54,45,25,41,45,36,27,21,3,21,13,21 );
var names57 = new Array();
var base57 = -1;
var pieces = "KQNBR ";

var moves58 = new Array(51,35,11,27,50,34,10,18,57,42,6,21,52,44,12,20,62,45,1,11,59,50,5,19,61,43,4,6,71,5,60,62,127,61,27,34,43,34,8,16,61,59,9,25,34,52,3,10,44,36,20,28,35,28,11,28,45,28,19,28,54,46,5,4,58,30,28,42,49,42,21,36,30,37,10,12,52,45,2,29,50,49,12,21,56,58,4,12,49,33,0,4,33,35,21,22,42,34,29,38,45,38,22,38,34,25,18,25,59,43,38,52,35,44,36,53,44,52,12,52,43,45,53,47,62,63,47,37,45,37,52,48,55,39,16,24,39,31,25,33,58,57,33,41,31,23,24,32,23,14,32,40,37,45,48,49,45,41,49,41,57,41,40,48,41,40,4,60,63,54,176,56,40,0,56,0 );
var names58 = new Array();
var base58 = -1;
var pieces = "KQNBR ";

var moves59 = new Array(51,35,6,21,50,34,10,26,35,27,12,28,57,42,11,19,52,36,14,22,54,46,15,31,55,47,5,23,58,23,7,23,62,45,4,5,61,54,5,14,60,62,127,61,23,7,59,51,1,11,45,60,8,16,60,43,31,39,46,38,21,15,53,37,28,37,51,37,3,12,56,60,13,21,48,40,15,30,49,33,9,17,33,26,17,26,60,57,30,13,42,59,11,28,43,28,13,28,59,44,16,24,57,17,2,16,61,57,24,32,54,61,0,8,61,52,7,4,62,53,28,13,52,45,8,9,17,9,16,9,57,17,12,10,17,57,9,16,53,54,4,1,57,1,10,1,45,59,1,49,37,53,49,40,53,51,13,30,36,28,21,28,59,50,16,34,44,34,40,45,54,55,45,47,55,62,30,45 );
var names59 = new Array();
var base59 = -1;
var pieces = "KQNBR ";

var moves60 = new Array(49,41,6,21,58,49,10,26,52,44,11,27,62,45,14,22,61,25,2,11,59,52,5,14,45,28,4,6,71,5,28,11,1,11,25,11,3,11,60,62,127,61,5,4,51,43,12,28,48,32,0,3,57,51,9,17,44,36,11,18,61,60,4,20,56,59,18,9,54,46,15,23,50,34,27,35,49,40,9,18,53,45,8,16,59,56,21,11,41,33,26,33,40,33,23,31,51,41,3,1,60,57,20,4,33,51,14,5,45,37,28,37,51,37,1,3,32,24,17,25,34,25,16,25,41,35,5,26,37,44,18,16,35,25,4,12,52,53,26,44,53,44,11,28,43,35,28,38,44,30,3,4,55,47,12,36,47,38,36,38,30,27,38,46,62,55,4,44,27,3,6,14,3,39,46,38,39,53,38,36,56,48,16,20,55,62,20,38,53,54,44,46,24,16,46,54,48,54,38,11,16,8,36,4,57,49,4,0,54,51,31,39,35,27,39,47,62,55,22,30,27,19,30,38,51,27,14,22,49,51,13,29,51,53,0,5,25,10,29,37,53,37,38,46,55,46,5,37,46,37,11,32,37,46,32,40,46,55,40,8,55,47,8,44,47,38,44,52,38,37,52,53,37,36,53,52,36,37,52,53,37,36,53,50,36,37,22,13,37,44,50,42,44,36,42,34,36,44,34,42,44,36,42,50,36,44,50,58,44,36,58,57,36,44,57,62,44,36,62,63,36,43,63,47,43,34,47,11,34,26,13,21,26,17,21,22,17,26,11,2,26,35,2,11,35,28,22,30,28,36,30,38,36,44,38,46,44,36,11,15,36,28,15,11,28,36,46,53,36,43,53,45,43,35,45,37,35,26,37,44,26,17,44,36,17,26,36,44,26,34,11,18,34,33,18,17,33,34,44,36,34,42,36,44,42,34,44,52,34,42,17,9,42,34,52,60,34,42,9,18,42,35,60,51,35,28,51,42,28,20,42,34,20,12,34,33,12,3,18,42,3,2,42,7,2,9,7,3,19,11,33,34,10,20,3,12,20,10 );
var names60 = new Array();
var base60 = -1;
var pieces = "KQNBR ";

var moves61 = new Array(51,35,11,27,50,34,10,18,57,42,6,21,52,44,12,20,62,45,1,11,59,50,5,19,49,41,4,6,71,5,58,49,3,12,61,43,27,34,41,34,20,28,35,28,11,28,45,28,19,28,55,47,2,20,60,62,127,61,0,3,56,59,28,1,42,52,15,23,52,35,20,2,59,51,18,26,35,45,9,17,61,59,5,4,49,21,12,21,43,15,6,7,51,3,4,3,15,36,3,59,50,59,1,10,36,27,8,16,45,51,2,29,51,61,17,25,59,41,29,11,41,59,11,20,59,43,25,33,44,36,20,2,43,59,7,15,61,44,21,37,44,61,37,21,61,44,10,37,44,61,16,24,59,32,21,30,32,4,2,47,54,46,47,20,27,20,13,20,4,20,37,58,20,16,30,3,62,54,3,4,16,9,58,49,9,27,49,35,61,51,4,32,51,45,32,48,27,29,14,22,29,13,35,14,45,39,48,32,13,22,15,7,22,13,32,18,53,45,18,21,39,22,7,15,22,5,15,7,5,22,7,15,22,5,15,7,5,22 );
var names61 = new Array();
var base61 = -1;
var pieces = "KQNBR ";

var moves62 = new Array(51,35,11,19,52,36,6,21,57,42,1,11,62,45,12,28,61,34,5,12,60,62,127,61,4,6,71,5,61,60,10,18,48,32,8,24,34,48,28,35,59,35,11,26,58,37,2,38,56,59,38,45,54,45,21,4,37,46,3,17,59,57,17,33,35,34,12,21,36,28,19,28,46,28,26,20,62,63,0,3,45,37,33,17,42,36,21,28,37,28,3,35,34,41,35,33,41,47,4,10,47,29,6,7,60,62,18,26,48,20,17,20,29,30,10,4,53,45,9,17,49,41,33,35,57,60,35,27,36,21,15,23,30,31,4,21,28,21,27,31,21,14,7,6,142,5,6,5,60,20,13,20,62,38,31,27,38,22,5,12,22,23,27,51,23,15,12,19,15,9,19,18,9,12,18,19,12,9,19,18,9,12,18,19 );
var names62 = new Array();
var base62 = -1;
var pieces = "KQNBR ";

var moves63 = new Array(51,35,11,27,50,34,10,18,57,42,6,21,52,44,12,20,62,45,1,11,59,50,5,19,49,41,4,6,71,5,58,49,3,12,61,43,27,34,41,34,20,28,60,62,127,61,5,4,42,36,28,35,36,19,12,19,44,35,11,5,61,60,2,38,45,28,38,31,53,37,5,20,50,53,0,3,34,26,19,10,37,29,20,5,55,47,21,27,54,38,13,21,38,31,21,28,35,28,27,33,43,34,6,7,31,23,33,43,34,43,3,43,28,20,43,46,62,61,46,47,23,14,7,6,142,5,4,5,49,28 );
var names63 = new Array();
var base63 = -1;
var pieces = "KQNBR ";

var moves64 = new Array(51,35,6,21,62,45,12,20,50,34,5,33,58,51,3,12,54,46,9,17,61,54,2,9,60,62,127,61,33,51,59,51,4,6,71,5,57,42,21,36,42,36,9,36,35,27,20,28,56,59,11,19,54,47,36,45,52,45,8,24,45,37,28,37,51,37,1,11,61,60,11,28,60,44,5,4,37,35,12,5,53,37,28,22,59,60,4,44,35,44,5,3,44,35,6,5,47,29,0,1,55,39,15,23,29,22,13,22,60,20,3,11,49,41,1,4,35,36,4,20,27,20,11,4,46,38,5,12,62,53,23,31,38,31,22,31,53,46,14,22,36,27,12,21,46,45,4,20,27,30,21,13,30,3,20,12,3,2,13,21,2,6,12,11,6,5,11,13,5,7,21,12,7,2,10,26,2,9,12,20,9,27,20,12,27,9,12,21,9,17,13,20,17,3,21,13,3,10,13,21,10,3,21,14,3,10,14,23,10,3,20,38,45,36,38,54,36,44,54,46,44,36,46,54,36,44,54,46,44,52,46,38,52,44,38,46,44,36 );
var names64 = new Array();
var base64 = -1;
var pieces = "KQNBR ";

var moves65 = new Array(49,41,11,27,52,44,6,21,58,49,14,22,62,45,5,14,61,52,4,6,71,5,60,62,127,61,10,26,50,34,27,35,44,35,21,31,54,46,26,35,51,43,1,18,61,60,12,28,57,51,13,29,52,61,5,4,48,40,8,24,61,54,6,7,55,39,2,20,45,30,20,6,59,50,0,2,54,45,31,21,41,33,15,23,33,25,23,30,25,18,9,18,39,30,21,15,62,54,6,20,50,32,20,11,60,63,7,6,34,26,15,30,56,60,11,20,45,59,2,1,49,58,20,27,53,45,30,20,32,50,1,25,51,34,25,26,59,52,28,36,40,32,27,34,43,34,35,43,50,48,43,52,45,36,3,43,60,52,20,35,52,44,43,50,48,50,35,50,44,43,29,36,43,19,36,44,19,22,44,52,58,23,4,12,23,14,12,14,22,20,180,60,63,60,50,60,20,60,26,34,54,45,34,32,60,4,6,15,4,20,32,40 );
var names65 = new Array();
var base65 = -1;
var pieces = "KQNBR ";
var nMoves = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
var EmptyWhitePath = "gif/w.gif";
var EmptyBlackPath = "gif/b.gif";
// Copyright 98,99 by ChessBase GmbH, Germany
function Init( path )
{ gifs = new Array(6);
	for ( var i=0; i< 26; i++)
		gifs[i]= new Image();
	gifs[0].src = path + "b.gif";
	gifs[1].src = path + "bbb.gif";
	gifs[2].src = path + "bbw.gif";
	gifs[3].src = path + "bkb.gif";
	gifs[4].src = path + "bkw.gif";
	gifs[5].src = path + "bqb.gif";
	gifs[6].src = path + "bqw.gif";
	gifs[7].src = path + "brb.gif";
	gifs[8].src = path + "brw.gif";
	gifs[9].src = path + "bnb.gif";
	gifs[10].src = path + "bnw.gif";
	gifs[11].src = path + "wbb.gif";
	gifs[12].src = path + "wbw.gif";
	gifs[13].src = path + "wrb.gif";
	gifs[14].src = path + "wrw.gif";
	gifs[15].src = path + "wqb.gif";
	gifs[16].src = path + "wqw.gif";
	gifs[17].src = path + "wkb.gif";
	gifs[18].src = path + "wkw.gif";
	gifs[19].src = path + "wnb.gif";
	gifs[20].src = path + "wnw.gif";
	gifs[21].src = path + "wpb.gif";
	gifs[22].src = path + "wpw.gif";
	gifs[23].src = path + "bpb.gif";
	gifs[24].src = path + "wpb.gif";
	gifs[25].src = path + "b.gif";
}
function SyncPicture( base, basename )
{	if ( base > -1 ) return base;
	for ( i=0; i < document.images.length; i++ )
	{	if ( document.images[i].name != "" )
			if ( document.images[i].name == basename )
				return i;
			else if ( document.images[i].name.substring(0,3) == basename.substring(0,3) )
				i+= 63;
	}
	return -1;
}
function MoveForward5( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	for ( i=0; nMoves[nm] < moves.length / 2 && i < 10; i++ )
		MoveForward( moves, names, nm, base );
	return base;
}
function MoveBack5( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	for ( i=0; nMoves[nm] > 0 && i < 10; i++ )
		MoveBack( moves, names, nm, base );
	return base;
}
function GoStart( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	while ( nMoves[nm] > 0 )
		MoveBack( moves, names, nm, base );
	return base;
}
function GoEnd( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	while ( nMoves[nm] < moves.length / 2 )
		MoveForward( moves, names, nm, base );
	return base;
}
function MoveForward( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	if ( nMoves[nm] < moves.length / 2 )
	{	var n = nMoves[nm]*2;
		var from = moves[ n ] & 0x3f;
		var to = moves[ n+1 ] & 0x3f;
		names[ n   ] = document.images[ base + from ].src;
		names[ n+1 ] = document.images[ base + to ].src;
		var len = names[n].length;
		var nn = (Math.floor(( to / 8 )) + ( to % 8 ));
		var dest = ( nn % 2 ) == 1 ? "b" : "w";
		var piece = names[n].substring(len-6,len-5);
		if (( moves[ n ] & 0x380 ) == 0x80 )
			piece = "q";
		else if (( moves[ n ] & 0x380 ) == 0x100 )
			piece = "n";
		else if (( moves[ n ] & 0x380 ) == 0x180 )
			piece = "b";
		else if (( moves[ n ] & 0x380 ) == 0x200 )
			piece = "r";
		document.images[ base + to ].src = names[n].substring(0,len-6) + piece + dest + names[n].substring(len-4,len);
		nn = (Math.floor(( from / 8 )) + ( from % 8 ));
		if (( nn % 2 ) == 1 )
			document.images[ base + from ].src = EmptyBlackPath;
		else
			document.images[ base + from ].src = EmptyWhitePath;
		nMoves[nm]++;
		if ( nMoves[nm] < moves.length / 2 && ( moves[ nMoves[nm]*2 ] & 0x40 ) == 0x40 )
			MoveForward( moves, names, nm, base );
	}
	return base
}
function MoveBack( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	if ( nMoves[nm] > 0 )
	{	nMoves[nm]--;
		var from = moves[ nMoves[nm]*2 ] & 0x3f;
		var to = moves[ nMoves[nm]*2+1 ] & 0x3f;
		document.images[ base + from ].src = names[ nMoves[nm]*2 ];
		document.images[ base + to ].src = names[ nMoves[nm]*2+1 ];
		if (( moves[ nMoves[nm]*2 ] & 0x40 ) == 0x40 )
			MoveBack( moves, names, nm, base );
	}
	return base;
}
function GetMoveString( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	if ( nMoves[nm] > 0 && nMoves[nm] <= moves.length / 2 )
	{	var n = (nMoves[nm]-1)*2;
		var from = moves[ n ] & 0x3f;
		var to = moves[ n+1 ] & 0x3f;
		var len = document.images[ base + to ].src.length;
		var piece = document.images[ base + to ].src.substring(len-6,len-5);
		if ( piece == "q" )
			piece = pieces.substring(1,2);
		else if ( piece == "r" )
			piece = pieces.substring(4,5);
		else if ( piece == "b" )
			piece = pieces.substring(3,4);
		else if ( piece == "n" )
			piece = pieces.substring(2,3);
		else if ( piece == "k" )
			piece = pieces.substring(0,1);
		else piece = pieces.substring(5,6);
		var piece2 = "";
		if (( moves[ n ] & 0x380 ) == 0x80 )
			piece2 = pieces.substring(1,2);
		else if (( moves[ n ] & 0x380 ) == 0x100 )
			piece2 = pieces.substring(2,3);
		else if (( moves[ n ] & 0x380 ) == 0x180 )
			piece2 = pieces.substring(3,4);
		else if (( moves[ n ] & 0x380 ) == 0x200 )
			piece2 = pieces.substring(4,5);
		var lines = "abcdefgh";
		var rows = "87654321";
		var fromLine = from%8;
		var fromRow = Math.floor(from/8);
		var toLine = to%8;
		var toRow = Math.floor(to/8);
		var off=1;
		for ( i=0; i <= n; i += 2 )
			if (( moves[i] & 0x40 ) == 0x40 )
				off = off+1;
		var result = (Math.floor((nMoves[nm]-off)/2)+1).toString() + ". ";
		if ( document.images[ base + to ].src.substring(len-7,len-6) == "b" )
			result = result + "... ";
		if ( n >= 2 && (( moves[n] & 0x40 ) == 0x40 ))
		{	if (( moves[n-1] == 62 ) || ( moves[n-1] == 6 ))
				result = result + "0-0"
			else if (( moves[n-1] == 2 + 7 * 8 ) || ( moves[n-1] == 2 + 0 * 8 ))
				result = result + "0-0-0"
			else
			{	var sep = "x";
				from = moves[ n-2 ] & 0x3f;
				to = moves[ n-1 ] & 0x3f;
				fromLine = from%8;
				fromRow = Math.floor(from/8);
				toLine = to%8;
				toRow = Math.floor(to/8);
				result = result	+ lines.substring( fromLine, fromLine+1 ) + rows.substring( fromRow, fromRow+1 )
										+ sep
										+ lines.substring( toLine, toLine+1 ) + rows.substring( toRow, toRow+1 )
										+ piece2 + " ep";
			}
		}
		else
		{	var len = names[ n+1 ].length;
			var substr = names[ n+1 ].substring( len-6, len );
			var sep = (( substr == "/w.gif" ) || ( substr == "\\w.gif" ) ||
						  ( substr == "/b.gif" ) || ( substr == "\\b.gif" )) ? "-" : "x";
			if ( piece2 != "" ) piece = "";
			result = result + piece.toUpperCase() + lines.substring( fromLine, fromLine+1 ) + rows.substring( fromRow, fromRow+1 )
				+ sep
				+ lines.substring( toLine, toLine+1 ) + rows.substring( toRow, toRow+1 )
				+ piece2;
		}
		return result;
	}
	return "";
}

