if (is_link($_SERVER[SCRIPT_FILENAME])) { $tmp = explode("/", $_SERVER[SCRIPT_FILENAME]); include "/home/".$tmp[2]."/lib/php/eqinit.ph"; } else { include "/home/nac/lib/php/eqinit.ph"; include "/home/populus/lib/php//populus.ph"; include "/home/populus/lib/php//template.ph"; foreach ($_GET as $key => $value) { eval("\$$key = \$_GET[\"".$key."\"];"); } foreach ($_POST as $key => $value) { eval("\$$key = \$_POST[\"".$key."\"];"); } $EConf = array(); $EDBCon = array(); $EDBConStopword = array("ALL" => 1); $simEncodeArray = array( array(0,12,50,23,51,57,42,14,58,39,59,25,53,19,4,13,20,31,16,55,27,11,37,5,30,54,15,47,18,45,17,35,36,29,43,3,6,38,34,26,10,21,41,46,28,7,24,2,48,40,22,44,1,52,8,49,9,56,32,33), array(7,11,18,55,22,26,6,24,3,47,15,5,16,32,9,8,17,38,23,19,41,21,51,25,59,52,14,54,45,39,10,37,0,2,36,27,48,35,58,31,53,57,34,40,28,50,42,29,44,56,30,13,20,49,46,33,4,1,12,43), array(47,42,58,59,49,23,6,20,33,7,16,38,57,48,27,26,21,35,12,41,8,2,36,55,11,40,43,56,45,0,22,19,13,52,24,30,15,37,10,5,50,18,14,28,31,17,29,1,25,54,46,32,9,4,51,53,39,3,34,44), array(11,18,15,6,59,56,35,55,22,3,26,53,0,28,57,43,47,4,40,29,21,19,38,23,10,13,34,32,24,36,39,45,17,48,31,54,7,44,58,16,8,2,30,14,33,9,1,52,50,27,25,5,49,41,12,42,20,51,46,37), array(18,8,31,47,33,35,10,41,2,58,4,6,3,49,52,45,44,43,11,50,59,30,21,5,26,25,36,46,7,12,38,16,42,0,14,39,27,17,1,22,19,20,34,54,28,40,51,37,13,56,29,9,24,57,53,48,23,32,15,55), array(49,10,32,31,2,59,25,18,29,46,56,13,1,16,4,33,51,38,19,22,45,48,55,42,27,44,36,28,12,8,35,34,26,6,7,37,47,20,57,15,39,5,58,52,43,24,17,23,41,3,11,0,53,40,30,21,14,54,50,9), array(7,6,40,50,37,18,23,2,9,5,27,59,26,28,11,33,46,56,25,19,49,36,47,29,4,54,34,41,20,43,44,39,14,3,35,21,16,0,48,30,1,51,31,17,55,24,32,12,10,38,45,52,22,57,13,53,8,15,58,42), array(40,39,31,6,45,54,59,1,30,57,27,55,50,8,53,21,17,13,19,25,3,4,56,22,49,14,24,7,5,0,2,11,34,51,41,38,9,29,12,36,58,52,35,46,23,16,28,26,32,37,20,47,15,48,33,18,10,44,43,42), array(37,23,53,50,32,28,38,26,15,0,25,31,14,3,1,21,52,12,24,55,54,58,36,6,44,9,34,4,22,41,2,45,10,57,11,51,8,47,39,16,56,49,5,40,20,43,13,59,17,35,27,18,33,29,48,46,7,19,30,42), array(52,23,36,1,0,55,12,38,8,35,57,10,34,9,19,29,26,39,21,16,15,22,51,45,17,42,47,32,2,25,7,53,4,14,59,27,6,5,37,44,49,58,33,13,20,30,11,54,31,50,40,41,24,28,48,3,56,18,46,43), array(13,39,20,49,52,14,28,48,11,32,43,23,37,44,50,16,15,2,8,38,3,9,40,41,56,33,35,30,19,27,58,25,57,47,5,29,36,18,4,7,31,42,6,45,12,24,10,54,17,0,34,53,59,55,1,51,22,46,26,21), array(57,16,34,54,50,43,48,19,26,13,1,42,39,37,25,27,18,22,24,20,21,28,10,45,17,38,9,53,7,30,14,15,2,44,47,59,35,5,51,0,4,49,31,36,32,11,29,40,12,46,41,55,58,23,56,52,6,33,3,8), array(15,54,0,29,26,19,16,44,51,30,47,11,36,7,13,24,56,25,53,41,8,45,58,28,27,39,43,4,21,49,23,12,35,34,9,42,31,22,40,6,2,57,33,32,37,1,48,20,46,10,3,17,18,59,14,5,52,55,50,38), array(3,58,7,41,13,53,59,38,34,21,49,29,24,0,35,6,46,26,54,37,8,25,15,56,40,20,44,9,12,23,11,55,33,32,50,31,57,22,16,1,19,45,30,28,5,42,14,51,39,4,17,36,47,27,18,2,43,52,48,10), array(55,42,10,8,30,24,53,58,26,47,45,0,22,40,9,41,1,18,23,44,19,48,14,43,28,35,52,34,29,15,27,36,16,39,6,54,25,50,31,57,7,4,56,46,33,38,3,37,32,51,13,59,5,2,20,12,11,49,17,21), array(41,20,50,17,47,46,0,14,39,28,32,3,26,30,10,1,53,9,40,56,21,42,12,59,38,29,48,36,45,27,33,35,16,13,51,11,43,25,22,57,7,54,37,4,23,5,49,58,8,44,6,52,18,2,31,15,34,19,55,24), array(18,6,57,30,41,37,47,17,19,35,27,1,40,26,55,23,22,28,32,52,50,8,42,0,3,44,34,21,15,20,59,2,12,46,4,45,11,58,10,33,49,43,16,51,14,24,7,38,5,53,13,29,48,36,25,54,39,9,56,31), array(10,32,59,33,12,2,3,52,34,11,45,54,16,41,51,23,8,39,25,50,5,6,28,38,27,46,4,44,37,49,0,9,15,42,55,30,13,40,18,22,56,1,20,17,43,24,36,53,21,57,26,31,48,14,7,47,19,35,29,58), array(47,20,3,4,17,51,10,42,45,39,34,8,46,18,56,6,40,19,27,41,57,32,33,25,12,2,13,31,38,5,16,23,28,7,29,21,14,48,1,50,22,49,0,54,36,15,58,55,43,53,9,11,30,44,35,59,52,24,26,37), array(24,1,9,55,7,42,12,15,29,13,47,49,23,40,46,43,2,44,22,50,53,3,57,45,18,8,32,37,31,39,36,26,21,48,4,38,30,59,33,25,34,27,14,20,5,10,16,41,56,51,28,6,54,52,11,17,35,0,19,58), array(4,24,23,53,22,12,14,45,15,25,3,16,54,40,52,51,32,11,39,57,26,30,35,50,43,42,6,1,9,7,56,37,31,38,19,5,41,21,29,10,34,46,33,2,20,18,58,59,0,8,13,47,49,48,55,27,44,28,17,36), array(48,1,54,42,11,24,46,22,33,35,38,20,59,15,53,19,28,0,55,49,58,25,21,16,2,13,29,6,43,7,17,10,50,14,41,4,40,47,36,39,5,44,3,45,56,30,18,51,8,37,9,27,23,32,57,31,34,12,52,26), array(2,15,19,38,17,59,14,16,32,54,29,30,27,12,45,48,50,7,28,42,34,20,26,8,40,24,39,41,37,57,49,10,43,1,22,13,21,31,55,9,35,53,33,3,47,51,25,36,44,5,6,56,0,4,52,23,46,11,58,18), array(9,52,57,55,21,45,13,40,35,2,36,32,54,33,0,15,53,38,12,17,56,25,47,24,37,41,48,4,5,22,44,7,43,28,34,50,31,27,18,46,20,49,6,11,58,23,29,14,19,8,30,1,42,59,51,26,39,3,10,16), array(34,54,2,55,52,48,4,21,39,41,12,36,25,17,5,56,13,53,29,27,19,30,14,26,10,59,22,31,1,44,15,50,6,28,51,38,3,32,0,23,11,49,16,47,42,45,8,35,20,7,40,57,9,18,43,24,37,58,46,33), array(10,55,38,15,8,32,3,42,35,1,43,6,16,58,14,33,0,54,39,37,31,45,27,5,44,2,22,23,51,19,47,36,17,18,56,12,11,26,29,52,24,34,4,46,50,7,13,53,48,30,25,21,40,59,20,49,9,41,28,57), array(10,19,59,48,35,30,42,55,25,8,47,37,2,43,54,41,11,53,18,4,45,21,32,3,49,44,0,50,56,36,15,33,9,26,7,5,39,52,12,51,6,28,58,17,29,22,16,38,14,24,46,13,23,40,31,27,57,34,20,1), array(50,47,10,28,5,9,35,0,41,43,20,23,53,15,56,49,14,55,38,12,2,44,32,54,8,51,17,30,26,22,7,27,45,33,46,48,24,52,3,18,34,1,39,13,36,25,19,4,37,6,31,42,29,21,40,59,57,16,11,58), array(27,20,4,0,46,49,53,17,1,59,55,22,35,42,5,2,39,28,31,26,29,51,30,43,36,25,40,48,34,58,7,9,57,24,19,56,50,32,33,21,18,37,8,23,52,10,11,12,3,38,13,6,15,45,14,41,44,54,16,47), array(13,41,4,27,40,39,36,46,24,31,54,58,50,26,42,18,9,33,29,19,51,5,1,56,47,53,2,8,44,59,57,52,38,0,28,11,22,55,45,32,20,10,17,49,14,7,48,16,37,6,35,21,34,43,25,12,30,15,3,23), array(24,11,30,20,25,8,46,5,34,17,39,49,3,1,59,38,51,52,36,48,42,15,0,16,21,57,28,56,31,29,50,18,33,54,23,27,14,40,44,6,32,58,26,41,53,43,12,10,37,4,22,19,55,7,13,45,9,47,2,35), array(35,16,40,3,55,22,5,46,25,15,2,34,10,23,44,12,19,53,27,8,31,56,59,28,52,47,49,39,1,18,26,50,24,6,48,9,45,13,0,4,11,43,20,58,42,14,51,7,32,37,30,36,38,54,33,17,29,41,57,21), array(47,30,7,43,34,52,32,14,44,54,26,40,23,21,22,9,29,16,5,57,55,49,13,17,50,4,53,59,37,33,3,18,31,20,51,19,46,39,1,27,24,56,15,36,35,58,28,38,42,8,10,45,41,6,48,2,0,12,11,25), array(2,3,34,42,45,37,38,55,58,46,52,50,16,51,18,20,25,29,32,49,19,4,30,36,12,56,28,14,41,1,44,5,27,57,10,43,0,31,17,6,22,47,53,15,23,7,40,26,39,35,33,11,48,21,54,13,24,8,59,9), array(27,1,46,57,44,38,31,45,4,35,12,48,49,23,8,55,14,36,32,0,37,26,39,52,42,24,6,22,5,17,54,53,21,50,47,7,40,34,59,56,30,19,9,43,41,29,3,28,25,2,18,51,20,11,10,15,13,33,16,58), array(8,4,15,29,6,11,9,55,38,14,25,5,33,3,51,39,37,58,36,41,1,13,28,52,47,46,56,40,27,31,34,16,20,50,22,42,21,26,12,44,43,17,35,0,19,53,32,30,7,54,2,24,18,23,49,10,59,57,48,45), array(6,52,33,57,21,4,25,12,7,10,43,44,3,37,32,36,54,26,11,51,20,55,22,19,18,13,14,23,53,49,5,38,46,8,47,58,30,45,2,24,28,59,15,16,9,1,31,34,39,40,29,0,50,48,41,42,35,27,17,56), array(35,55,59,2,48,46,27,1,47,36,54,4,8,10,11,0,13,18,20,33,28,57,44,49,17,19,22,41,6,38,40,14,42,23,21,58,7,31,3,43,37,56,12,29,16,24,34,39,32,25,45,9,51,15,26,30,52,53,50,5), array(19,43,32,13,55,2,49,16,0,5,38,10,58,11,18,46,45,1,4,35,34,17,21,7,31,54,22,59,41,40,48,20,29,12,52,39,51,24,9,26,15,47,44,42,33,23,6,3,57,27,50,25,28,37,30,8,14,36,53,56), array(21,20,3,45,0,49,10,54,23,43,33,14,15,37,46,59,7,47,39,26,1,31,29,51,35,4,56,2,11,38,34,19,32,48,30,24,12,40,53,57,42,13,50,41,6,9,5,27,36,18,17,44,16,55,8,25,22,28,52,58), array(7,15,32,53,3,55,31,47,41,22,16,57,29,51,44,52,10,13,12,2,17,9,54,42,5,18,38,59,46,34,4,21,6,14,49,8,40,56,39,50,37,25,48,0,28,24,30,36,11,26,35,20,43,58,1,19,23,45,27,33), array(0,21,9,45,4,14,48,40,6,8,12,19,28,52,18,7,36,35,42,41,29,13,57,55,51,3,34,44,33,49,24,16,27,11,46,2,53,37,47,58,38,20,23,39,30,22,31,26,59,15,10,17,1,25,43,50,5,32,54,56), array(53,36,25,45,39,0,42,56,27,5,34,16,24,47,38,15,32,30,17,29,7,12,1,19,21,4,48,11,44,40,49,37,2,54,20,10,9,26,31,33,57,28,43,14,55,35,3,23,8,46,51,6,22,18,13,41,58,50,52,59), array(13,34,41,56,7,26,35,0,4,6,42,2,21,25,17,28,3,1,48,39,14,11,57,32,40,29,45,19,8,24,44,54,16,59,20,36,15,46,23,38,31,30,18,50,37,58,51,49,5,52,9,43,12,55,10,27,47,22,33,53), array(5,11,23,2,8,59,49,36,12,37,54,21,43,53,55,52,19,15,9,3,32,38,48,1,51,47,24,17,16,34,28,30,22,14,29,41,4,56,39,20,57,26,0,18,50,6,58,35,31,7,13,46,25,33,45,42,10,27,40,44), array(38,14,13,20,47,59,16,10,15,55,54,5,30,58,24,27,43,49,26,45,28,52,44,12,46,50,34,18,6,8,22,56,23,19,39,3,17,1,33,0,7,4,53,2,48,32,9,51,25,36,31,35,40,29,11,57,21,42,37,41), array(19,20,55,3,41,43,59,48,32,28,29,38,9,35,42,14,11,18,53,24,17,49,50,21,30,47,23,45,57,31,40,6,44,58,36,34,16,54,22,52,33,26,27,1,8,15,7,37,56,51,25,5,46,0,13,12,2,39,4,10), array(59,21,37,33,48,5,29,11,42,24,18,38,55,17,26,39,27,43,22,1,47,41,57,46,52,13,8,32,44,56,20,7,54,0,3,28,36,49,25,45,16,6,51,34,4,10,50,14,31,12,9,58,15,30,19,53,35,23,40,2), array(41,2,40,45,46,52,31,29,15,0,13,35,58,25,12,36,49,55,57,14,16,30,47,21,44,54,51,11,42,27,32,3,39,38,24,48,10,5,17,6,59,56,26,8,53,43,1,23,33,9,19,22,20,7,50,18,4,37,28,34), array(31,15,39,0,58,47,43,4,38,27,28,40,14,3,34,48,52,45,5,49,56,6,23,33,36,2,1,54,44,11,55,32,51,9,57,59,26,21,53,50,22,7,10,19,16,18,29,30,42,13,24,17,25,8,37,12,41,35,46,20), array(8,0,11,26,57,42,46,29,40,59,51,7,28,24,17,30,13,19,44,54,47,25,56,5,12,38,55,20,41,53,32,43,58,2,33,18,45,4,31,36,22,50,21,35,16,23,1,15,34,49,10,48,9,27,3,37,52,14,6,39), array(26,42,45,17,41,48,20,30,58,54,6,38,4,31,11,2,28,13,53,8,37,51,14,18,59,43,29,23,21,39,44,34,27,22,0,16,12,24,25,49,33,1,32,55,35,52,57,10,15,40,9,3,50,56,5,47,19,46,7,36), array(52,48,27,20,24,18,22,59,6,49,17,11,8,34,5,37,50,29,46,7,4,54,28,43,38,15,21,12,9,56,51,10,23,35,2,14,42,19,32,0,36,45,33,26,16,53,58,44,41,40,31,39,55,25,13,57,30,1,47,3), array(25,42,3,57,44,59,47,11,51,41,55,35,26,49,21,1,12,14,5,20,40,29,7,27,6,0,4,32,36,23,22,56,16,34,58,33,2,28,15,19,52,46,8,9,54,53,37,50,10,24,45,39,43,48,13,30,38,31,18,17), array(10,33,7,16,59,30,54,45,3,49,53,31,35,25,44,6,4,52,27,23,13,9,26,29,11,38,2,47,34,37,15,12,17,48,19,55,1,32,21,36,58,22,28,5,20,43,57,46,56,14,51,50,18,40,24,8,0,39,42,41), array(30,6,35,57,2,49,13,18,48,55,0,50,17,27,40,22,41,56,39,26,16,53,1,54,59,25,52,51,28,42,12,21,32,43,33,4,5,36,23,7,44,46,8,19,15,11,29,24,47,37,20,14,9,45,34,38,3,10,31,58), array(11,38,4,24,29,47,49,39,5,27,8,44,42,51,46,55,3,6,50,41,23,1,37,7,52,21,31,36,57,22,17,58,18,53,30,16,33,26,14,0,15,9,20,12,32,43,56,59,25,2,48,54,13,28,45,19,35,34,40,10), array(27,33,21,39,34,43,12,56,29,40,50,53,22,28,45,10,52,19,38,16,5,49,15,58,23,25,20,3,13,59,46,9,4,55,11,54,42,18,17,51,47,44,37,35,1,30,8,24,41,26,31,0,36,7,48,14,6,32,2,57), array(21,49,29,9,31,47,16,56,57,6,32,23,45,10,12,42,58,55,35,5,26,13,20,51,44,24,2,27,15,38,8,54,22,41,14,17,18,3,0,40,28,1,46,37,33,4,30,7,36,39,25,34,50,52,19,53,43,11,48,59), array(50,36,54,45,27,8,3,13,47,31,33,43,22,39,5,29,24,23,25,40,32,53,12,30,57,19,28,6,51,52,1,9,18,48,46,41,0,42,15,17,10,37,44,14,2,7,55,16,35,26,49,56,59,20,11,4,58,21,34,38), array(53,43,49,41,17,8,35,11,19,0,6,24,26,48,51,14,38,15,52,16,54,10,7,25,12,2,23,9,1,47,27,18,33,55,5,21,59,57,56,4,45,50,31,36,42,20,58,30,40,37,44,22,34,13,46,28,32,39,29,3), array(35,29,55,34,48,38,12,42,4,44,25,33,50,40,30,2,18,26,19,13,17,39,9,7,23,53,8,20,15,49,52,11,6,43,5,1,58,41,47,56,46,14,27,28,31,51,45,54,10,37,22,3,24,57,16,59,21,32,0,36), array(43,52,36,0,55,3,59,19,53,18,21,51,37,33,38,13,26,56,50,9,48,22,30,35,29,47,10,6,24,40,12,31,7,27,25,28,57,45,49,4,16,5,44,14,46,54,23,2,17,8,11,20,15,34,32,1,42,41,58,39), array(52,39,11,2,35,28,59,13,33,34,8,42,0,1,14,50,24,30,12,57,48,10,21,51,27,46,47,15,29,4,31,54,20,44,19,49,41,43,17,38,18,36,45,55,9,25,37,58,6,3,32,56,5,26,53,40,23,16,7,22), array(8,33,24,26,32,52,48,7,21,4,45,30,50,56,27,22,2,35,59,44,31,0,42,11,37,19,58,28,55,38,43,49,15,9,10,5,13,54,57,18,47,1,12,17,34,29,23,53,41,40,25,6,36,39,46,3,16,14,20,51), array(38,53,3,54,39,29,31,16,17,18,49,28,12,37,26,14,35,47,23,58,56,40,0,25,19,41,51,11,42,44,5,52,48,30,24,4,21,10,59,45,1,22,2,34,8,46,7,20,50,32,36,6,15,9,33,57,43,13,55,27), array(52,46,4,54,56,36,34,32,53,35,5,49,9,41,11,16,57,30,38,28,7,25,45,31,43,0,50,23,10,40,37,39,29,6,47,21,14,22,58,13,3,20,26,48,27,8,12,18,15,1,44,55,59,19,51,17,33,2,24,42), array(12,45,41,8,10,44,5,52,27,50,43,47,39,21,26,22,54,35,25,58,33,36,18,40,16,59,2,19,56,11,1,7,14,13,53,17,15,6,55,31,23,4,0,24,29,34,57,9,51,46,3,38,30,42,49,28,48,37,32,20), array(55,17,28,49,47,56,38,25,12,33,48,10,20,2,40,32,36,35,6,37,51,22,31,21,57,44,58,41,30,5,11,0,46,24,42,14,45,3,4,9,18,19,27,23,29,50,15,8,34,59,13,1,16,54,7,26,52,53,39,43), array(51,7,21,35,11,39,57,41,40,3,47,43,37,22,13,1,5,19,50,34,10,36,8,14,4,58,29,18,33,46,48,32,6,44,9,53,55,56,54,15,24,31,26,0,45,38,16,25,20,52,59,17,42,30,49,23,2,12,27,28), array(51,5,59,20,43,48,8,27,29,13,2,0,34,15,9,1,52,49,54,26,53,57,36,40,11,46,55,58,22,4,47,42,16,23,28,19,56,7,31,44,32,18,35,39,45,14,41,17,21,25,30,12,50,24,33,6,3,10,38,37), array(50,49,1,46,31,52,37,16,19,32,9,18,0,2,29,20,39,3,58,36,59,53,28,14,35,55,24,4,34,40,57,48,27,30,5,43,44,17,38,21,12,56,22,33,42,23,10,8,51,26,15,41,54,47,11,7,13,6,25,45), array(22,48,27,54,44,15,9,16,30,28,1,4,38,49,36,17,6,24,46,32,35,31,56,40,3,23,19,50,12,37,34,2,0,42,47,26,13,21,43,57,51,55,14,8,20,29,11,18,52,5,39,58,10,7,53,25,33,41,59,45), array(55,0,33,24,40,23,58,51,53,50,3,41,52,4,11,13,25,36,42,54,27,48,16,21,44,2,6,19,47,22,30,59,45,8,57,39,1,46,14,31,34,12,18,43,37,35,38,5,15,17,56,28,10,29,26,49,7,20,9,32), array(14,18,23,38,27,40,8,44,54,16,13,4,50,56,6,22,2,33,21,31,51,32,26,11,29,35,59,53,45,30,15,19,24,20,25,49,47,17,9,58,7,37,0,48,1,41,57,39,5,55,3,12,28,34,42,36,43,10,52,46), array(5,16,52,1,32,51,49,34,2,31,12,13,26,27,58,17,20,18,7,47,38,54,50,28,36,3,40,53,14,23,10,9,6,48,35,19,29,15,33,43,59,21,39,24,56,22,55,11,25,45,44,42,57,4,30,46,37,8,41,0), array(43,30,37,58,54,21,13,34,26,16,10,40,15,53,41,51,25,38,7,45,17,4,0,19,56,47,31,24,5,50,29,33,44,22,39,1,48,8,18,57,11,27,20,28,23,52,49,12,46,59,35,14,3,6,32,9,36,55,42,2), array(57,19,32,12,54,45,56,25,9,33,24,39,49,23,53,1,35,30,16,0,15,6,37,29,13,50,21,3,34,10,42,40,43,2,52,55,8,38,27,44,11,22,7,5,4,48,41,20,14,47,46,51,58,59,18,26,28,36,31,17), array(51,30,59,33,14,11,48,28,32,20,58,22,0,12,4,2,55,21,29,49,46,6,54,39,1,35,5,17,57,24,41,26,8,38,25,18,45,15,34,13,44,37,23,31,27,42,19,7,43,3,53,40,36,50,47,16,52,9,10,56), array(29,12,35,48,58,44,42,21,51,40,54,6,36,31,2,1,34,52,56,57,47,4,55,18,38,7,27,19,24,11,59,16,3,22,17,10,8,20,37,30,28,49,26,43,9,14,23,53,5,13,33,45,32,39,50,15,46,25,41,0), array(33,49,18,52,50,21,32,8,47,20,22,51,24,4,25,45,19,30,34,28,54,59,48,3,31,44,35,11,12,29,2,36,5,27,37,53,40,42,57,13,14,6,16,23,38,26,10,17,7,9,56,0,41,1,58,43,55,15,46,39), array(50,49,37,35,32,48,6,55,10,51,9,14,43,30,2,13,23,41,25,3,34,39,54,1,53,36,42,22,8,56,58,38,31,40,47,29,57,46,20,24,17,12,26,4,44,28,52,33,59,27,7,0,19,18,11,21,5,16,45,15), array(7,39,49,28,13,1,4,51,9,37,27,18,52,12,22,15,26,29,38,0,53,48,25,31,35,55,42,41,30,43,11,3,14,17,23,6,45,32,21,59,24,50,8,46,56,5,20,2,44,36,33,47,40,16,58,10,19,54,34,57), array(24,55,47,33,11,46,57,25,6,53,1,9,45,27,48,23,49,50,13,28,52,17,59,44,14,12,32,29,37,15,39,38,56,2,34,4,18,54,21,20,8,26,43,30,35,58,31,19,16,10,5,40,36,42,7,3,22,0,41,51), array(52,40,3,49,8,33,42,27,15,55,19,37,31,7,0,17,6,39,21,1,34,47,32,56,35,28,29,23,36,16,2,38,44,13,54,14,57,22,58,46,4,45,20,48,53,10,50,51,41,30,18,24,59,11,26,5,25,43,12,9), array(49,17,57,6,33,59,30,34,13,31,53,4,29,12,16,1,47,58,51,32,22,24,0,35,2,36,52,46,27,56,7,42,18,40,55,48,38,10,37,21,43,15,39,50,54,11,45,8,44,14,26,19,5,23,25,9,41,3,28,20), array(25,10,40,8,34,42,29,23,7,6,36,18,55,11,13,16,20,43,50,33,49,47,46,17,32,22,14,44,3,4,2,5,9,56,24,58,53,51,59,1,38,57,39,21,19,26,37,30,41,52,15,45,28,31,0,27,12,48,35,54), array(46,58,20,38,34,0,21,31,41,50,47,51,30,12,6,19,49,23,27,13,42,26,28,2,5,8,14,22,39,32,7,37,36,45,56,48,3,54,52,4,55,11,57,35,53,40,16,1,15,44,29,43,18,24,25,9,59,10,33,17), array(49,25,39,30,3,33,31,44,14,21,45,59,23,32,47,22,13,40,2,20,37,0,50,6,42,11,48,58,52,28,17,55,36,5,29,38,15,18,43,46,53,56,7,8,10,51,19,26,1,41,54,12,24,27,9,35,16,4,57,34), array(36,44,58,31,56,40,29,10,20,23,28,24,53,18,4,14,48,57,1,43,26,59,9,49,34,42,33,5,47,46,50,22,37,27,16,11,41,38,0,7,12,39,19,15,25,45,55,52,8,6,13,2,35,21,32,17,51,54,30,3), array(42,23,28,13,53,46,6,18,22,44,45,43,30,14,52,47,37,0,29,15,12,41,3,11,34,49,25,40,5,50,16,7,10,21,26,38,2,31,32,56,1,51,59,54,8,58,19,55,4,9,35,39,27,33,57,36,20,17,48,24), array(24,4,57,45,29,54,11,53,9,26,13,38,2,51,27,43,25,17,47,16,8,33,41,37,46,42,56,6,1,35,28,52,34,30,19,36,20,23,39,21,58,44,22,50,5,14,40,48,3,7,49,55,18,10,12,59,31,32,0,15), array(59,24,50,53,29,12,54,46,25,52,57,4,6,49,44,14,3,22,33,28,31,8,23,2,13,26,55,34,30,48,9,37,10,5,36,43,47,41,11,38,32,58,56,27,51,19,21,1,35,39,20,15,17,0,40,16,18,7,45,42), array(55,26,33,46,15,0,20,4,37,25,52,53,14,12,18,38,51,30,49,32,23,40,47,24,41,6,19,31,34,29,59,36,43,7,28,5,27,1,56,11,13,48,17,2,39,10,57,58,21,8,3,16,54,45,44,9,35,42,22,50), array(10,37,47,48,16,8,22,38,40,6,25,55,13,54,9,39,3,5,34,31,27,14,42,2,59,44,1,51,12,4,24,57,7,29,17,53,41,28,33,46,36,43,0,20,19,56,15,11,50,23,52,32,18,21,45,30,58,35,49,26), array(45,40,23,7,38,10,36,20,25,17,15,42,46,51,39,35,8,2,55,29,31,47,59,18,34,48,24,9,22,26,16,58,6,21,49,43,50,57,28,1,13,52,11,5,14,33,41,54,19,30,27,3,4,0,37,53,32,44,12,56), array(44,29,23,34,20,46,21,55,57,45,11,14,19,2,53,33,13,51,35,39,56,25,42,49,31,15,16,37,40,8,0,38,50,12,24,43,7,41,47,3,10,18,6,36,1,17,32,59,28,58,5,54,52,27,48,26,4,22,30,9), array(43,9,34,2,47,4,51,19,3,28,17,24,31,37,30,5,35,45,18,46,49,7,48,25,27,29,55,8,50,57,56,42,36,32,40,13,58,33,59,10,26,39,0,23,44,14,11,12,15,1,21,20,52,41,22,54,53,16,38,6), array(23,47,36,6,34,18,50,15,53,31,59,28,56,7,58,25,13,14,20,11,5,30,10,49,41,48,37,52,29,44,26,17,1,21,38,24,54,3,45,19,57,9,46,33,55,12,39,16,2,0,40,42,32,8,4,51,35,22,27,43), array(1,29,16,19,12,33,43,51,52,6,23,22,56,40,45,14,42,49,55,48,57,41,24,50,5,39,11,17,58,8,38,7,18,27,37,32,20,26,15,54,53,2,4,0,28,59,9,44,13,10,21,34,36,35,46,30,25,3,47,31), array(54,44,13,28,7,0,18,15,39,56,31,45,48,49,5,4,59,36,55,43,17,10,1,11,27,42,9,37,29,32,3,50,6,16,2,34,40,33,20,52,57,12,51,58,46,47,30,26,41,14,23,38,35,53,22,25,21,8,24,19), array(39,33,59,30,10,0,37,13,2,48,15,50,23,58,35,21,40,18,8,20,36,14,19,26,52,9,1,29,6,31,32,46,49,4,38,17,11,47,25,7,22,24,56,45,57,51,5,27,53,12,55,41,34,3,44,43,54,28,42,16), array(33,58,5,12,0,27,49,51,14,52,44,25,9,15,53,3,20,19,48,18,13,43,54,24,30,42,36,38,1,4,23,59,40,35,57,21,39,11,10,41,55,7,45,46,47,6,32,56,17,2,34,8,37,29,31,22,50,16,28,26), array(13,14,44,46,28,20,1,19,32,9,33,39,2,40,55,49,30,16,27,26,0,12,11,22,3,54,42,7,59,58,45,34,18,48,38,17,51,5,25,21,47,8,23,50,31,52,29,6,36,56,43,37,15,57,4,41,24,35,10,53), array(4,5,47,40,48,29,51,56,37,44,3,49,0,14,45,9,54,30,6,34,21,25,11,1,55,23,13,42,53,2,46,31,38,36,15,57,22,43,18,33,28,20,16,12,8,17,35,26,24,39,27,52,59,41,58,7,32,10,19,50), array(17,31,56,37,48,42,43,41,0,10,44,58,25,27,34,13,51,12,55,4,47,32,22,6,18,59,11,35,14,49,23,36,19,30,5,16,20,33,21,53,54,38,2,9,1,45,29,39,57,24,46,3,40,15,7,50,8,52,28,26), array(38,20,18,47,55,34,28,0,22,27,53,14,54,36,49,26,40,43,9,37,44,24,32,33,1,13,48,46,4,2,15,25,52,7,23,56,51,31,12,21,35,30,19,3,59,42,16,50,45,58,5,57,41,11,17,10,6,8,29,39), array(7,42,38,27,49,28,18,19,8,45,17,15,34,22,25,55,54,20,32,53,24,37,43,10,4,48,0,16,2,59,9,1,30,35,3,44,33,11,39,51,14,13,46,52,6,23,21,57,41,5,36,12,50,31,47,40,56,26,29,58), array(24,32,31,49,22,13,5,9,7,10,1,2,17,44,47,21,3,20,42,23,48,19,43,51,56,26,52,59,34,46,39,35,58,16,25,30,37,50,14,18,0,55,40,11,15,12,33,45,57,29,41,6,8,27,38,53,54,28,4,36), array(31,5,48,1,22,54,50,32,18,26,45,55,3,21,59,6,44,36,2,20,19,24,47,30,10,35,43,4,27,15,12,41,14,52,9,23,16,53,7,51,28,0,46,38,11,58,39,17,25,40,33,34,57,42,49,13,37,8,29,56), array(30,22,33,26,29,58,18,56,20,4,38,57,16,7,23,34,14,42,27,1,5,17,31,44,59,55,25,39,54,40,12,50,28,8,45,49,11,51,10,9,15,36,32,47,37,0,35,43,3,48,6,21,19,2,24,13,41,46,52,53), array(53,15,57,58,0,49,6,2,3,27,40,34,31,43,13,41,29,9,50,42,35,5,33,37,19,18,47,17,8,56,59,26,4,24,12,7,38,11,46,22,16,1,39,52,20,28,21,45,36,48,32,51,10,23,30,54,44,55,25,14), array(55,51,24,53,54,25,31,2,22,38,56,39,47,8,11,33,30,6,12,48,19,29,21,41,36,20,15,32,42,37,34,28,9,16,10,43,5,50,27,52,18,58,35,59,49,57,23,14,44,4,1,7,45,26,40,13,0,46,3,17), array(30,1,55,40,26,53,46,13,15,24,31,28,9,32,3,34,57,23,39,43,58,52,36,8,20,6,4,21,19,59,54,33,5,56,17,7,38,48,50,10,47,22,18,29,27,41,35,51,0,12,37,14,44,2,11,45,25,16,42,49), array(19,20,18,33,22,39,21,53,24,1,44,51,13,45,7,32,29,37,17,6,35,9,16,58,0,26,25,8,27,23,38,50,54,12,46,30,10,28,15,11,56,59,55,3,47,40,42,43,41,14,2,5,31,36,48,49,52,34,4,57), array(13,1,44,34,2,33,32,0,41,39,14,11,18,55,4,28,27,17,37,38,26,46,53,50,56,57,42,49,48,58,8,25,12,51,15,29,16,9,35,59,52,22,10,45,20,6,7,21,54,3,19,47,36,24,5,30,43,31,23,40), array(53,49,13,37,55,15,8,16,11,19,24,21,27,7,34,59,42,30,31,46,45,20,5,33,39,44,9,58,35,29,23,40,3,51,17,28,6,56,18,43,38,25,1,50,52,48,0,32,12,47,41,14,54,57,4,36,2,10,26,22), array(43,57,55,27,49,59,28,5,20,19,39,51,52,35,42,45,33,37,58,56,22,13,54,10,30,36,7,23,50,48,47,15,1,21,9,6,38,53,32,0,4,18,46,16,44,24,34,17,14,25,3,11,31,26,40,29,12,8,2,41), array(40,45,39,16,33,4,23,37,47,21,53,5,3,48,12,15,32,26,25,22,9,0,36,20,34,28,27,57,13,10,42,2,7,35,11,38,6,1,31,52,41,44,17,24,46,50,54,8,59,55,49,14,18,19,56,58,43,51,29,30), array(13,31,10,37,26,21,51,38,18,44,50,3,23,25,16,20,24,2,39,48,22,52,30,35,57,45,5,58,59,19,11,9,7,27,46,17,32,0,36,15,14,33,54,28,43,29,6,55,42,34,8,1,56,40,47,41,49,12,4,53), array(27,26,0,17,20,45,33,54,22,57,56,58,44,10,41,2,23,48,40,31,11,42,52,34,38,59,49,24,28,51,55,37,30,19,8,21,39,36,18,47,12,3,7,5,4,9,32,14,6,16,13,1,15,53,35,50,46,25,29,43), array(4,31,44,9,6,5,23,33,22,16,42,15,47,10,0,57,38,48,56,13,24,18,39,11,36,29,46,20,19,34,27,28,43,1,53,21,59,41,40,54,30,35,14,52,51,50,12,58,8,2,32,25,45,3,26,49,37,7,17,55), array(36,51,40,27,37,9,59,56,13,11,54,17,50,35,48,12,14,42,43,53,52,41,1,47,29,20,31,23,38,55,39,16,4,8,3,45,18,0,33,2,19,30,22,58,24,44,46,25,57,21,10,5,6,15,32,28,26,49,34,7), array(49,22,10,56,7,26,6,5,46,51,14,47,21,3,15,43,34,35,29,12,30,59,17,37,31,38,41,4,48,18,9,54,52,27,58,11,32,33,13,8,16,57,50,2,0,23,55,53,28,1,19,40,24,45,20,25,42,39,36,44), array(8,7,23,53,14,12,19,18,59,32,24,1,50,15,13,42,51,56,20,30,33,4,26,55,31,47,10,28,35,40,25,11,39,52,43,16,49,17,34,48,38,46,5,54,27,9,45,21,29,0,22,44,37,41,36,2,57,3,6,58), array(23,12,33,25,0,47,3,49,34,32,22,39,55,17,4,37,46,9,11,5,36,16,58,2,57,51,29,13,24,35,7,10,21,56,59,42,15,26,18,41,6,30,48,1,14,28,45,38,31,43,52,54,19,44,27,50,20,53,8,40), array(28,36,8,18,3,59,16,1,40,6,50,31,47,13,27,33,41,19,57,52,24,45,44,2,25,10,5,34,21,56,53,4,43,20,12,32,23,26,54,42,7,49,29,17,11,39,51,48,0,35,22,37,55,46,38,14,58,15,30,9), array(15,36,8,1,18,50,21,40,33,20,37,53,45,34,14,26,39,0,4,23,55,43,12,10,35,6,22,17,42,59,19,38,7,31,44,54,30,29,5,28,2,51,47,49,27,56,58,32,11,41,48,52,16,13,25,57,3,9,24,46), array(6,28,23,17,40,8,48,14,43,25,45,30,11,19,9,49,51,12,22,46,31,47,27,41,53,21,58,10,54,56,0,4,5,38,15,18,3,36,33,26,37,32,52,57,7,42,34,39,1,55,59,50,20,2,16,24,29,35,13,44), array(35,28,4,56,29,5,44,45,43,6,47,30,23,11,46,8,14,50,27,9,51,19,12,38,20,34,53,36,48,49,25,17,15,42,58,52,39,31,18,2,1,32,33,21,54,22,40,16,37,7,3,55,13,0,10,24,41,57,59,26), array(43,6,48,53,5,50,4,23,33,26,32,27,8,30,35,58,14,29,40,41,55,56,49,36,46,24,10,15,12,31,13,44,0,47,21,39,38,9,42,20,59,17,11,28,16,45,37,7,3,19,34,2,18,22,25,52,57,54,51,1), array(3,31,23,12,6,27,21,59,35,49,44,5,56,34,28,14,42,48,41,58,13,53,36,25,37,7,4,33,17,50,40,52,38,43,30,54,32,15,19,0,16,51,1,47,9,45,18,11,10,20,22,29,39,24,46,8,55,2,57,26), array(22,3,35,39,56,2,54,14,6,20,10,12,33,36,37,5,50,29,16,26,43,19,0,1,38,8,9,58,45,11,25,42,59,49,13,46,21,48,23,24,57,41,28,30,32,17,51,34,15,47,53,7,31,27,40,44,4,52,55,18), array(16,43,56,40,14,42,8,10,0,36,32,53,34,19,2,37,4,1,58,46,57,6,5,52,33,12,9,48,22,41,27,55,30,17,7,25,38,15,47,39,20,23,24,13,28,35,51,50,31,18,29,3,11,26,21,49,45,44,59,54), array(44,0,6,10,25,31,45,28,37,51,40,46,4,33,43,21,55,13,24,59,5,50,57,35,11,53,39,1,9,22,8,49,32,41,7,38,17,47,26,19,30,48,54,29,3,23,34,27,36,14,58,15,20,2,12,56,42,18,52,16), array(16,26,55,52,20,34,18,13,51,7,40,3,15,48,21,59,44,23,31,41,22,17,2,54,42,36,9,30,47,49,10,33,12,58,43,56,6,25,45,14,32,4,8,35,24,38,28,11,46,5,37,19,50,1,29,53,0,39,27,57), array(9,7,21,11,19,53,6,4,22,13,50,24,12,34,51,57,25,43,55,36,29,33,23,38,44,30,27,42,14,20,41,49,32,35,47,8,52,40,0,28,54,46,16,18,56,59,26,5,45,17,15,1,3,39,10,31,58,48,37,2), array(13,41,25,40,29,6,37,20,0,3,10,26,2,7,19,21,42,34,12,17,1,4,33,8,14,56,18,49,46,36,30,15,39,45,9,28,48,43,11,50,23,58,35,52,59,54,27,51,53,16,31,57,47,5,38,32,44,22,24,55), array(36,30,19,52,37,45,4,58,42,22,18,10,56,24,41,7,2,51,34,54,1,25,0,57,6,16,23,33,31,26,9,11,44,40,29,55,43,38,48,8,35,28,46,13,5,14,47,59,50,49,21,53,15,12,27,17,3,32,20,39), array(12,10,42,29,5,0,35,3,23,7,36,1,32,25,22,4,26,54,50,33,24,21,51,28,19,46,9,11,40,56,20,38,34,8,52,31,58,27,30,18,48,16,15,44,17,43,53,55,45,37,49,14,41,2,57,39,59,13,47,6), array(7,32,47,29,10,13,3,36,38,31,4,37,9,16,28,34,23,53,54,50,20,11,57,26,22,14,59,58,18,33,17,43,21,6,45,40,8,2,42,15,27,1,49,44,56,55,51,0,46,39,19,24,25,30,48,5,35,41,12,52), array(25,45,29,27,53,58,33,59,7,13,1,24,9,3,41,48,38,30,36,19,49,55,52,17,39,20,11,28,2,6,44,26,47,42,10,40,32,23,50,15,16,18,21,8,4,37,35,56,34,57,54,22,0,51,43,46,14,31,12,5), array(24,46,2,56,52,1,11,27,55,42,34,20,5,16,15,4,17,59,53,45,7,38,23,8,0,40,51,50,32,48,18,39,35,25,58,54,10,31,47,28,3,14,26,33,49,19,6,22,9,36,44,21,29,12,57,30,41,43,13,37), array(31,26,11,45,21,28,5,59,3,0,7,43,44,39,10,6,25,54,40,36,32,20,41,12,14,53,33,48,42,46,55,2,13,23,9,15,56,47,58,34,27,35,30,16,38,1,37,24,52,57,4,49,51,29,18,22,17,19,50,8), array(19,6,37,16,32,40,57,59,10,48,35,58,22,14,39,50,38,7,27,1,28,15,17,0,21,44,54,4,42,34,26,43,12,47,20,52,36,49,31,9,56,30,45,41,25,18,8,46,29,3,55,11,23,33,13,2,5,53,51,24), array(0,13,43,54,23,9,18,50,57,38,52,6,20,32,7,55,33,25,58,27,49,12,51,4,1,44,5,47,22,21,39,19,40,36,41,30,26,3,53,46,2,28,11,35,34,42,17,48,31,37,14,10,56,29,15,59,8,24,45,16), array(13,31,19,24,46,30,15,34,4,36,42,20,12,8,43,10,48,14,9,39,57,17,3,23,59,1,52,2,50,49,33,38,58,25,37,35,27,41,40,56,51,44,55,45,5,53,47,22,18,28,21,26,6,16,0,29,32,11,54,7), array(33,16,13,2,18,49,55,1,0,37,56,51,58,24,35,11,34,12,19,9,30,23,26,4,3,36,7,27,29,22,54,39,32,48,44,42,17,57,59,43,47,10,28,53,25,31,21,6,52,50,41,38,14,20,46,5,15,45,8,40), array(23,14,26,43,57,15,45,3,56,31,27,40,16,33,36,11,7,53,46,59,39,50,18,12,5,4,48,8,28,29,54,9,35,2,17,25,32,47,20,34,13,58,52,21,10,6,24,37,55,30,44,1,51,38,0,42,49,19,41,22), array(47,17,29,49,21,30,37,5,22,18,51,10,42,39,7,52,19,6,38,20,55,15,45,48,35,28,14,4,56,12,44,8,3,32,31,1,2,46,27,16,26,36,0,58,33,53,59,24,11,34,40,43,41,25,13,57,23,54,9,50), array(29,25,15,52,28,40,36,16,18,57,58,33,27,10,49,3,20,17,19,42,6,0,44,30,47,1,9,56,24,38,26,11,14,37,4,41,13,55,35,51,45,50,23,54,2,46,21,59,8,34,43,53,5,39,48,32,22,7,31,12), array(19,48,28,37,57,35,5,40,24,12,33,14,2,27,46,41,11,7,10,56,50,45,31,26,32,52,17,49,20,51,30,53,38,42,6,15,44,22,55,47,1,18,36,21,0,8,13,23,58,39,54,3,9,34,4,25,59,16,43,29), array(40,57,31,7,29,46,32,56,3,33,54,58,38,26,12,17,8,50,42,37,18,41,19,10,51,36,27,20,15,48,49,0,43,21,14,13,35,11,47,22,44,2,34,9,4,25,1,5,52,30,59,16,23,24,28,53,39,45,55,6), array(18,5,17,57,45,15,14,39,53,37,29,36,52,10,44,47,21,34,11,20,51,55,48,8,40,49,7,31,43,3,50,25,2,58,46,27,1,35,16,19,30,59,6,0,24,33,38,41,12,4,42,56,28,26,22,23,32,54,13,9), array(55,43,58,49,56,48,53,19,18,51,46,41,29,25,4,35,21,28,57,22,38,37,26,23,16,45,1,47,42,15,59,14,52,34,7,32,5,39,3,0,33,12,17,54,50,11,8,6,24,20,40,36,31,10,9,27,13,2,44,30), array(3,23,1,41,36,58,16,8,20,49,10,45,40,18,12,48,46,33,6,44,34,25,39,19,55,28,29,22,51,31,14,21,42,35,59,7,17,37,52,13,50,53,15,32,38,54,0,5,27,30,9,4,47,24,2,11,26,43,57,56), array(29,47,5,11,32,26,8,12,42,41,35,55,58,6,4,19,59,48,20,38,45,23,9,7,44,30,43,15,31,13,56,34,10,24,2,14,0,17,27,25,18,36,50,54,22,16,21,39,28,57,46,1,37,53,40,51,33,52,49,3), array(26,21,30,17,1,2,49,29,31,48,28,19,58,3,32,42,8,11,6,14,54,51,56,7,41,44,4,50,22,34,18,5,38,36,33,59,43,0,20,47,57,25,37,45,53,40,39,23,15,55,13,16,9,27,12,35,24,10,46,52), array(45,11,46,36,25,59,20,31,32,24,1,9,53,21,49,56,28,23,30,47,16,52,15,51,8,4,22,38,29,54,0,55,33,35,13,42,18,12,7,41,48,39,27,6,19,44,37,17,5,58,57,43,14,10,26,40,2,34,50,3), array(24,7,30,26,39,5,48,6,27,19,42,47,33,2,1,15,52,54,8,9,13,14,58,25,22,21,34,17,38,43,35,44,0,23,40,37,49,50,20,36,56,29,4,3,59,16,10,32,53,11,28,46,51,41,31,57,18,45,12,55), array(5,2,53,26,3,41,32,13,47,44,6,7,15,21,0,42,49,4,10,17,33,43,23,25,54,24,11,14,8,34,20,16,9,18,12,50,58,36,38,22,40,28,30,45,51,31,55,57,56,35,19,48,52,27,39,29,46,1,37,59), array(18,58,54,33,48,17,5,8,30,11,20,44,39,41,16,43,22,27,36,37,53,2,51,42,14,3,21,59,56,9,52,32,57,55,12,19,6,23,29,50,26,40,46,13,35,25,15,1,45,28,47,34,0,7,4,24,49,38,31,10), array(30,3,38,55,39,5,43,53,26,33,36,45,29,6,58,40,48,28,9,14,10,18,21,7,25,31,13,54,47,27,23,52,37,12,50,59,16,8,32,17,24,35,56,20,51,1,46,22,42,49,44,2,57,19,34,0,11,15,4,41), array(5,28,51,50,43,4,7,0,54,44,18,29,14,17,47,35,37,2,25,59,40,12,9,19,57,49,31,34,1,21,27,15,24,38,10,48,53,58,26,16,8,45,11,33,3,30,56,39,23,42,52,32,20,22,36,55,41,6,46,13), array(26,58,28,50,54,1,33,53,56,17,35,23,27,43,37,7,38,42,59,16,22,24,3,20,48,29,34,8,21,6,47,55,57,52,14,4,13,30,18,9,51,46,5,49,31,32,45,10,36,40,44,11,39,15,41,19,0,2,25,12), array(33,26,0,1,16,34,13,15,23,9,57,56,53,46,11,17,47,10,14,30,29,24,54,37,27,21,58,44,12,4,36,22,52,48,18,40,45,19,42,51,20,3,28,49,31,8,39,2,25,38,41,43,5,59,6,55,50,32,35,7), array(36,29,9,10,18,42,12,26,17,27,38,5,41,57,4,0,50,39,16,3,58,13,53,51,7,23,25,1,33,40,48,55,47,49,37,56,32,2,11,45,14,30,46,52,8,15,43,6,28,59,24,19,21,35,22,34,44,54,31,20), array(57,59,0,49,23,56,2,47,28,9,24,4,26,40,3,36,41,38,25,17,14,5,39,27,22,32,55,37,30,21,11,44,10,8,20,45,58,53,42,52,13,54,50,7,33,34,46,18,16,12,6,29,48,51,19,1,43,35,31,15), array(51,54,13,7,53,27,0,12,37,38,21,49,36,5,33,18,57,10,42,56,23,50,30,44,35,34,1,20,3,22,8,46,40,17,48,24,29,32,4,52,9,6,14,26,2,41,11,25,45,31,58,39,28,47,19,55,59,16,43,15), array(37,40,15,59,42,24,58,14,49,29,26,51,47,38,53,33,8,36,48,31,28,6,45,19,3,2,9,27,30,5,35,46,56,0,43,11,55,25,12,50,52,21,34,44,20,7,54,16,22,13,39,41,4,17,1,32,23,10,57,18), array(41,48,37,25,21,4,42,44,9,26,6,0,12,57,47,46,45,40,23,18,24,52,55,8,7,43,53,13,15,33,28,56,49,19,3,50,39,36,58,27,31,20,10,16,30,14,38,1,29,54,22,59,51,17,35,11,5,32,34,2), array(47,57,35,30,38,2,20,9,48,34,22,13,36,6,3,5,29,46,53,55,25,26,28,43,15,44,59,32,16,41,11,45,33,24,50,31,40,23,58,0,1,18,17,51,7,54,12,4,49,14,56,21,8,19,27,39,42,37,52,10), array(50,33,56,3,2,31,18,23,37,40,43,35,24,45,38,20,15,34,22,21,4,19,30,41,10,59,48,39,57,7,1,46,36,42,52,53,51,5,8,49,54,47,17,58,26,0,13,29,44,32,6,12,11,25,28,14,9,16,55,27), array(22,18,40,5,10,8,29,44,58,12,31,41,36,53,50,55,52,4,42,23,46,56,59,9,21,45,34,33,38,11,25,26,20,28,24,2,37,14,35,16,51,17,54,47,57,3,6,13,27,1,30,0,32,15,39,19,48,49,7,43), array(15,49,28,20,35,32,25,45,13,14,0,17,4,2,23,26,53,10,57,9,40,24,52,12,8,58,55,29,56,54,51,31,59,33,1,46,21,19,11,22,44,5,38,18,39,30,36,41,3,47,27,37,16,42,6,7,48,34,43,50), array(7,5,1,29,32,34,50,38,24,43,30,37,15,46,41,55,2,26,27,35,44,17,18,0,39,36,25,56,20,59,58,4,48,6,57,14,52,12,40,19,16,11,54,28,13,23,33,42,10,45,31,49,8,51,9,21,22,3,53,47), array(0,16,51,57,59,47,3,7,29,26,42,46,28,43,48,22,50,33,14,23,44,56,52,9,32,41,38,19,25,40,53,1,31,21,13,18,45,15,54,49,12,5,39,20,6,27,35,36,4,34,55,24,8,11,10,2,17,30,37,58), array(9,51,28,7,25,4,6,58,59,22,14,49,34,35,55,44,50,1,27,5,43,48,10,40,46,52,8,24,42,20,15,19,21,11,31,53,56,13,3,57,37,16,12,54,0,30,32,33,38,2,29,36,17,47,39,18,45,26,41,23), array(38,57,43,7,24,1,27,45,17,39,9,0,47,11,33,22,51,37,4,3,42,32,15,34,35,48,56,59,8,20,29,30,54,50,55,10,26,58,28,40,31,5,44,13,12,18,49,36,23,19,2,16,6,53,46,21,25,14,41,52), array(1,16,19,41,17,10,0,8,24,38,33,48,9,42,22,36,59,23,49,46,31,25,18,52,20,54,50,14,11,43,53,45,39,21,13,27,30,5,34,15,4,37,2,40,51,57,32,47,6,28,56,44,7,29,55,26,12,58,35,3), array(22,44,19,25,7,30,4,13,27,12,33,34,6,20,41,17,55,45,31,11,21,15,28,16,48,43,9,32,53,58,42,47,46,35,56,1,54,5,10,29,18,50,3,24,0,39,23,49,8,57,59,2,51,52,38,37,36,40,26,14), array(14,53,36,48,59,37,32,58,33,43,7,22,0,11,47,21,9,49,23,19,15,35,46,54,38,6,13,25,44,2,12,20,34,3,31,51,55,16,8,18,42,50,5,26,29,10,40,52,30,4,28,27,39,57,24,1,17,56,41,45), array(58,31,18,30,27,52,2,57,29,44,37,23,24,8,32,13,50,26,10,55,47,40,41,36,20,22,19,28,3,9,49,51,46,4,35,0,53,1,39,56,12,6,54,21,11,38,34,48,42,15,59,5,25,17,14,33,16,7,43,45), array(35,47,2,41,5,58,23,17,22,40,11,16,18,6,44,33,31,32,30,9,1,36,51,50,49,27,19,55,14,15,54,39,8,13,56,52,26,12,21,46,48,4,3,45,37,53,24,0,25,29,28,34,43,59,42,57,10,20,7,38), array(34,50,14,13,24,48,17,56,27,36,21,32,58,37,39,29,49,7,8,26,11,59,22,5,57,18,47,12,6,45,43,10,3,31,1,53,19,16,52,2,54,44,41,0,20,51,38,35,46,23,4,25,28,15,33,30,55,9,42,40), array(14,53,50,59,13,17,12,9,25,39,44,28,38,41,51,24,46,3,23,16,29,43,22,57,40,1,47,30,55,19,21,54,31,5,37,33,18,58,36,20,11,6,26,7,27,48,34,35,10,8,4,56,0,32,49,45,52,2,42,15), array(45,51,6,46,1,23,56,2,9,28,59,38,21,37,17,34,14,30,8,3,50,29,42,24,19,16,55,4,5,57,49,40,53,33,47,58,31,43,18,0,32,13,22,26,15,36,48,39,25,7,10,11,12,41,35,44,27,54,52,20), array(48,1,24,28,7,36,9,22,18,56,6,0,16,51,43,25,52,17,10,45,53,44,38,41,30,33,49,14,19,59,37,57,27,47,5,40,31,58,46,50,34,39,35,21,2,13,4,26,29,54,23,42,8,11,12,55,20,32,3,15), array(45,50,42,55,56,3,28,46,16,33,47,41,19,8,11,53,54,0,23,20,12,7,40,39,49,34,21,24,48,30,10,57,31,2,44,27,38,22,18,59,29,26,43,5,35,36,9,52,14,6,58,15,32,37,1,51,13,4,17,25), array(58,53,33,15,26,19,42,23,51,17,49,40,34,38,16,1,52,29,20,45,24,4,18,6,41,59,21,55,39,50,22,37,48,14,57,46,11,9,7,3,0,56,35,2,12,32,44,31,25,13,43,30,8,28,5,10,54,27,47,36), array(44,52,23,59,50,53,55,28,45,56,13,43,8,0,9,42,20,36,5,34,40,27,12,3,33,38,39,31,14,4,26,24,16,25,18,41,7,58,19,30,35,54,29,48,1,51,47,57,11,22,46,10,6,21,32,37,17,2,49,15), array(58,13,29,6,33,54,14,55,57,0,10,40,27,3,1,8,50,35,59,32,30,52,44,47,24,38,11,31,26,20,42,16,4,9,43,56,23,2,51,49,41,15,37,21,18,45,25,39,17,12,48,7,36,5,34,28,46,53,19,22), array(12,30,19,37,56,0,7,20,40,48,33,4,22,6,42,13,34,23,9,21,52,31,25,55,38,32,14,45,29,54,36,8,1,10,24,3,18,16,41,46,43,39,5,49,15,17,58,2,53,50,28,11,59,51,57,44,35,27,47,26), array(57,41,17,40,24,16,15,47,2,34,30,27,11,50,10,42,4,9,46,56,8,49,44,45,32,25,0,26,51,22,18,37,21,58,35,7,12,19,43,14,59,36,48,3,55,13,31,39,52,38,6,20,5,53,1,54,33,29,23,28), array(20,28,0,45,25,35,57,44,59,12,17,58,41,19,29,37,8,26,24,13,33,2,1,18,48,50,5,7,34,53,27,9,38,47,22,14,54,23,15,55,39,43,30,3,51,40,16,31,56,36,49,52,10,42,6,4,11,21,46,32), array(21,29,15,27,47,57,42,35,32,22,18,46,44,24,56,28,31,49,9,5,55,0,20,23,43,53,33,25,12,3,26,37,6,52,14,10,36,17,1,38,41,7,54,40,16,58,8,39,30,50,45,2,11,34,48,19,59,4,13,51), array(13,33,15,34,11,49,24,4,41,38,23,29,44,59,2,6,42,32,0,20,51,31,56,36,1,53,3,9,10,52,16,30,14,40,27,35,43,8,37,54,22,50,48,58,28,19,7,18,57,17,12,21,39,46,25,55,47,5,45,26), array(19,41,17,50,47,26,10,13,20,54,8,49,27,36,5,4,55,22,42,44,11,16,46,1,51,34,35,7,59,9,29,24,3,14,57,53,48,56,33,12,21,38,32,23,58,40,45,18,15,52,28,0,43,39,25,31,30,2,37,6), array(40,6,8,29,56,1,0,10,42,51,22,15,44,28,26,16,45,32,33,34,31,13,19,58,52,17,57,39,59,30,43,41,25,14,37,20,46,2,3,5,11,27,24,50,4,47,23,53,48,9,12,7,18,35,36,38,21,55,49,54), array(23,3,34,1,46,13,16,41,4,6,22,57,52,0,44,15,45,56,59,38,37,28,27,47,42,10,49,8,19,50,30,31,40,17,14,11,48,43,33,53,54,9,20,5,24,32,26,51,58,55,7,25,39,2,29,18,36,35,12,21), array(5,13,0,45,28,54,26,44,15,35,39,33,32,4,41,58,12,17,42,38,52,46,22,40,2,23,7,21,27,37,19,59,10,30,11,43,1,16,25,56,55,20,53,18,9,47,57,51,50,29,31,34,49,14,6,8,36,3,24,48), array(56,13,20,12,8,21,28,27,38,42,43,2,37,55,47,40,5,10,39,17,33,51,11,32,45,4,53,23,26,16,57,54,50,41,3,31,59,9,36,6,49,29,34,25,19,14,46,24,58,18,15,44,7,22,35,48,52,30,1,0), array(30,29,28,50,32,0,16,20,24,42,47,25,35,1,12,54,45,52,11,26,17,58,19,51,27,18,5,46,13,34,7,14,31,15,3,49,39,55,4,21,2,23,38,9,36,56,44,40,22,48,10,43,6,41,33,8,37,57,53,59), array(59,21,57,40,7,46,44,1,17,53,30,50,29,4,52,45,24,47,25,28,56,55,6,38,43,16,11,27,14,49,34,22,26,35,18,20,8,13,12,19,15,32,58,36,48,0,54,41,9,39,23,31,3,33,5,51,37,42,10,2), array(46,8,54,11,13,16,38,31,55,34,10,49,0,48,45,2,40,25,33,22,12,19,50,20,44,26,52,4,37,58,56,17,6,35,59,39,47,23,21,1,15,29,28,30,27,3,42,9,14,5,18,53,57,7,41,24,43,36,32,51), array(6,23,33,55,48,13,1,40,49,51,5,32,53,3,34,58,25,21,22,16,0,30,9,15,41,36,10,4,35,7,14,31,42,11,29,37,56,24,2,44,47,50,45,27,26,43,54,28,8,59,57,19,39,20,17,18,38,12,52,46), array(23,1,5,45,25,8,9,57,30,0,10,40,20,4,31,11,58,7,55,6,13,43,29,47,19,52,38,50,17,28,22,34,56,51,37,41,42,46,16,49,39,26,15,54,33,18,27,36,14,24,2,59,48,12,32,53,44,35,21,3), array(21,35,56,11,49,40,53,38,50,2,41,10,4,57,52,7,39,32,25,48,16,5,37,22,34,31,12,47,9,19,13,36,26,0,27,29,33,18,54,28,55,43,1,46,23,59,6,17,58,14,44,3,24,20,45,51,8,42,30,15), array(0,47,45,27,4,22,8,54,42,15,36,58,32,28,57,52,59,24,38,19,18,29,55,13,5,49,41,40,33,7,34,14,10,6,26,20,44,37,48,9,21,25,35,39,31,46,30,16,23,12,1,51,53,2,50,11,17,3,43,56), array(3,30,46,9,23,43,57,15,14,0,41,28,39,32,42,26,45,12,55,4,13,37,19,10,50,56,58,20,49,38,2,34,18,44,47,52,36,48,21,1,31,7,11,16,53,59,5,17,25,33,40,29,22,35,27,6,24,51,8,54), array(44,32,57,34,43,59,6,10,0,25,20,16,2,11,49,7,19,14,15,47,8,33,52,53,28,23,38,13,12,36,58,51,24,55,54,18,9,48,35,26,31,40,1,4,37,42,29,27,3,41,21,5,46,22,30,17,39,50,45,56), array(43,56,22,31,57,37,38,25,54,0,20,16,24,51,49,29,6,13,45,28,52,10,17,12,27,3,41,44,55,14,46,1,15,42,39,30,8,58,50,59,26,7,18,4,53,36,11,32,9,21,48,34,5,47,23,19,40,2,35,33), array(50,12,13,24,51,14,15,29,49,55,52,41,54,40,35,44,10,21,58,11,17,53,4,0,5,46,22,9,57,34,1,7,2,28,8,30,6,37,26,42,39,43,3,19,20,38,16,25,47,45,48,18,36,33,32,27,59,23,56,31), array(19,43,31,4,34,50,14,59,25,30,23,18,36,2,17,47,13,5,1,16,27,9,54,7,56,29,0,58,46,44,39,11,10,41,22,57,8,28,21,52,33,38,48,20,15,37,6,45,40,26,49,32,3,24,55,53,35,51,42,12), array(4,8,36,52,53,32,13,42,44,7,19,21,57,45,54,9,28,48,35,40,37,6,30,20,12,27,17,1,41,23,2,50,59,47,11,0,26,22,5,34,55,10,29,24,14,58,31,39,25,15,38,51,43,18,56,33,49,16,46,3), array(50,22,19,17,46,16,26,58,10,38,15,36,5,12,1,41,2,23,29,4,32,40,48,11,18,24,45,9,57,27,7,0,14,34,35,13,42,52,54,20,44,39,28,30,43,33,8,6,56,53,59,55,49,37,25,31,21,47,3,51), array(30,37,13,14,23,45,38,31,26,7,53,27,18,44,9,12,19,41,11,3,59,47,36,57,58,42,43,8,22,6,4,10,32,55,33,50,0,35,20,51,56,16,34,1,39,5,40,24,29,54,15,52,21,28,17,49,25,2,46,48), array(30,40,22,24,43,37,18,4,38,16,44,26,25,6,39,52,28,10,8,46,54,17,14,1,15,51,31,20,21,50,3,19,5,58,36,55,53,41,9,23,29,35,56,59,12,7,49,47,57,45,32,13,27,33,42,2,0,48,34,11), array(17,22,57,48,52,35,11,12,7,13,5,29,55,27,38,18,49,36,45,59,2,15,43,34,41,33,26,23,24,21,28,20,0,51,8,10,14,54,40,44,42,50,47,56,25,30,53,46,32,31,9,4,58,37,3,16,19,1,6,39), array(25,50,37,17,30,51,52,55,21,28,2,40,19,12,14,15,34,16,54,59,7,38,39,45,23,18,48,42,24,29,56,20,33,26,32,49,4,1,53,0,57,31,36,47,43,13,46,22,9,11,58,41,44,35,8,3,10,27,6,5), array(56,41,30,54,51,4,1,17,22,58,47,21,49,59,33,50,0,15,29,25,36,38,52,53,8,48,40,44,57,10,18,24,32,39,11,5,35,46,9,12,34,43,3,26,19,6,45,55,14,7,23,37,20,28,13,2,42,27,16,31), array(59,46,44,33,25,17,32,36,48,26,58,11,42,12,6,29,18,13,27,54,43,31,3,34,1,50,52,45,37,40,7,49,19,0,30,8,10,22,23,2,47,15,20,57,35,56,53,55,28,14,39,24,21,16,41,51,9,38,5,4), array(32,26,58,30,4,44,27,54,48,49,13,42,45,20,10,39,47,33,19,43,40,21,55,37,31,29,24,50,18,1,52,3,2,16,28,38,5,14,46,22,51,36,17,0,53,12,11,9,34,23,35,56,15,41,59,8,7,57,25,6), array(22,16,39,25,11,3,30,50,6,45,27,40,44,35,20,9,37,41,55,18,34,10,51,52,54,43,56,31,14,47,23,2,32,57,58,1,21,33,29,36,38,12,48,42,53,59,15,4,49,0,28,13,17,24,5,8,26,7,19,46), array(11,46,8,58,55,15,29,4,26,2,18,3,44,5,25,47,54,35,19,59,57,20,28,21,0,49,13,38,48,33,51,17,24,45,39,7,53,56,14,27,42,41,34,12,1,30,52,31,16,9,22,50,43,40,37,32,36,6,23,10), array(35,42,53,19,58,46,28,34,29,2,41,18,1,55,6,8,32,0,24,7,26,12,10,52,54,4,51,30,15,38,49,13,43,50,47,39,17,59,25,33,27,44,11,14,16,5,21,37,56,20,31,22,48,57,45,36,23,40,9,3), array(55,36,34,46,57,12,43,51,16,9,0,1,7,24,25,47,8,20,49,11,28,14,58,17,29,53,4,56,41,50,27,30,37,39,5,31,45,33,26,44,40,2,22,52,15,48,54,3,18,10,21,38,42,6,13,19,23,59,35,32), array(57,7,32,59,23,2,47,21,40,13,43,14,10,8,35,52,28,9,46,54,31,53,20,50,29,3,45,49,15,38,27,25,36,55,34,44,22,37,48,1,5,42,58,17,56,11,4,19,39,0,16,26,6,12,33,24,51,41,30,18), array(55,53,9,47,16,6,23,12,17,27,24,7,2,14,41,28,19,20,54,25,56,15,40,21,35,52,36,59,39,45,49,46,48,22,37,51,34,58,33,11,18,13,44,10,38,26,5,4,42,30,43,1,29,50,31,0,57,8,3,32), array(23,17,9,56,48,57,27,33,50,8,20,15,25,55,45,51,5,0,22,58,30,37,29,49,4,36,53,11,52,46,44,18,41,26,39,21,54,12,2,6,34,40,47,3,28,59,42,14,31,13,1,19,10,16,7,35,43,32,38,24), array(16,50,22,8,19,52,49,13,20,47,48,12,2,11,25,14,54,58,44,51,32,40,37,38,41,46,43,45,24,26,9,29,1,27,39,36,23,57,42,15,33,21,0,30,7,28,17,5,59,3,55,35,10,4,6,53,18,56,34,31), array(58,37,8,39,51,52,31,44,59,56,2,42,54,49,28,4,50,17,1,5,32,13,11,46,43,48,7,53,34,33,19,20,14,18,29,24,10,16,3,41,40,57,30,45,47,38,21,26,35,0,23,55,15,36,25,6,27,12,22,9), array(45,39,17,21,59,18,26,38,46,44,47,16,36,49,41,32,37,57,56,7,0,15,28,22,6,53,35,34,4,27,9,8,51,3,5,40,10,55,25,1,30,33,29,2,14,24,58,31,52,20,23,11,54,50,43,13,19,42,12,48), array(49,2,26,35,18,13,29,10,34,3,6,23,37,42,33,17,57,11,47,27,46,15,1,12,4,7,39,5,54,14,19,45,20,16,31,55,48,30,51,52,8,9,41,25,50,44,58,36,21,22,53,59,56,43,24,40,0,32,38,28), array(0,36,14,47,45,57,58,50,7,55,52,30,54,51,12,28,4,56,33,42,15,11,39,29,25,19,24,13,2,49,10,8,35,43,20,9,34,3,46,44,22,32,27,40,5,37,1,16,6,23,18,41,21,59,48,31,17,38,53,26), array(7,12,20,10,27,44,23,9,36,14,18,30,21,45,32,28,56,22,4,29,24,51,47,41,54,48,1,26,16,49,57,55,17,3,52,58,33,2,6,35,25,0,50,31,37,34,42,53,59,39,38,8,19,46,11,5,43,13,40,15), array(26,12,7,22,45,19,3,34,51,31,8,21,57,23,41,14,54,48,59,36,2,25,15,17,40,55,0,37,46,44,28,39,47,43,20,27,56,10,52,32,16,29,49,11,24,35,38,1,30,13,53,58,4,6,5,50,18,42,9,33), array(29,24,18,2,15,33,57,6,4,43,13,10,17,50,38,30,49,54,12,36,59,34,31,22,41,3,32,23,53,8,42,5,48,27,46,21,39,35,7,45,26,16,47,55,14,37,25,51,9,1,20,52,40,58,56,44,11,28,19,0), array(29,10,48,21,8,23,6,20,27,43,9,3,26,39,59,22,4,50,2,34,57,12,11,35,5,46,56,33,30,24,13,40,14,53,36,55,45,52,38,16,31,0,19,1,17,49,32,15,51,42,28,18,7,25,54,58,47,44,41,37), array(27,15,49,4,43,17,35,7,48,25,9,54,13,45,33,39,26,10,53,8,6,22,14,37,19,40,28,58,46,52,34,41,1,59,3,21,55,50,0,31,11,24,47,42,30,57,2,36,38,12,56,32,16,23,5,51,18,44,29,20), array(38,41,32,10,57,56,21,2,27,6,1,18,13,52,37,46,50,51,26,29,43,9,17,31,12,45,8,59,58,53,39,22,24,35,0,23,54,47,48,33,3,44,55,40,34,28,42,20,14,7,5,15,16,30,4,49,19,36,25,11), array(11,32,18,47,17,5,19,3,40,43,31,44,56,41,1,55,6,53,0,27,45,20,37,39,50,12,51,10,26,46,57,24,59,23,4,29,35,36,33,14,52,42,15,22,7,21,28,16,8,30,49,25,2,34,9,54,58,38,13,48), array(42,57,54,56,21,46,14,25,58,43,41,51,55,48,15,6,32,9,19,4,17,3,38,34,40,7,1,35,22,16,28,36,5,11,23,52,39,53,31,18,30,24,2,10,49,29,50,8,47,12,27,26,20,59,44,0,37,45,13,33), array(18,40,28,51,39,44,50,2,20,30,27,23,48,36,5,56,22,45,47,26,17,32,8,42,54,52,21,4,1,15,12,57,59,31,53,24,19,33,6,13,46,14,29,10,16,49,55,35,0,3,9,43,37,11,38,34,7,25,41,58), array(36,22,29,5,9,58,23,57,59,14,44,56,49,26,47,46,18,6,17,41,15,24,8,35,54,53,31,50,40,52,51,43,45,16,37,12,0,30,4,3,27,38,34,2,1,10,48,32,7,25,39,20,28,19,13,55,11,42,33,21), array(3,34,44,58,9,23,51,33,0,47,6,22,29,2,37,26,32,46,7,19,48,21,18,39,45,27,20,12,5,40,38,16,56,4,52,41,55,43,54,59,53,13,36,50,14,57,8,28,11,31,30,42,10,25,1,24,35,49,15,17), array(48,50,35,43,36,27,56,29,28,57,3,2,12,53,25,39,32,20,5,4,59,41,6,51,49,34,44,22,58,31,1,38,37,17,47,33,11,21,24,52,8,46,54,55,9,30,40,18,14,42,45,10,16,23,26,15,7,0,19,13), array(50,19,7,47,22,25,26,23,35,29,37,38,58,13,9,33,36,41,44,4,1,12,43,28,6,17,55,18,39,31,53,3,10,24,14,21,34,0,27,32,15,57,42,11,51,30,49,2,20,16,52,8,40,56,5,54,45,59,48,46), array(27,55,1,23,35,39,46,43,34,30,36,41,6,13,19,31,0,10,8,38,49,16,3,56,33,57,53,42,5,28,2,26,11,4,24,51,32,14,59,37,40,58,18,29,25,15,17,44,22,45,48,47,20,9,7,52,21,54,12,50), array(31,43,54,50,48,3,36,1,52,25,18,39,40,35,6,16,58,23,46,27,9,0,11,12,38,45,53,30,10,20,29,24,56,15,44,55,32,49,2,17,4,57,26,37,21,33,22,41,13,28,47,14,51,5,42,7,19,34,59,8)); eqinit(); ####----------- Initiailze Variables --------------#### if (empty($a)) { $a = "view"; } ####----------- Initiailze Variables --------------#### $connect = connectDB("NAC"); switch($a) { case "view": checkSimPagePermission(3395); ####----------- Initiailze variables --------------#### if (empty($l)) { $l = 20; } if (empty($p)) { $p = 1; } if (empty($ps)) { $ps = 0; } ####----------- Initiailze variables --------------#### ####----- Generate SQL for ordering -----#### if ($si != "") { if ($sm != "none") { $si2 = preg_replace("/\\_d\\_/",".", $si); $orderSQL = " order by $si2 $sm "; } else { $orderSQL = ""; } } else { $orderSQL = " order by NAC_ID DESC "; } ####----- Generate SQL for ordering -----#### ####--------- Setting for sort ----------#### $SortMethodInfo = new stdclass(); $SortIconInfo = new stdclass(); for ($i=0;$i".$column[$i]." = \$sm_next;"); eval("\$SortIconInfo->".$column[$i]." = getSortIconName(\$sm_now);"); } ####--------- Setting for sorting ----------#### ####----- Generate SQL for searching -----#### if (!empty($EConf["NAC_PROTEINSET_LIST"])) { $whereSQL = " where PROTEINSET_ID IN (".$EConf["NAC_PROTEINSET_LIST"].")"; } if ($ps > 0) { if ($whereSQL != "") { $whereSQL .= " and "; } else { $whereSQL .= " where "; } $whereSQL .= "PROTEINSET_ID=$ps "; } if ($sf != "" && $sv != "") { if ($whereSQL != "") { $whereSQL .= " and "; } else { $whereSQL .= " where "; } $sv = trim($sv); $sv2 = modifyForSQL($sv,1); $whereSQL .= " $sf like '%".$sv2."%' "; } ####----- Generate SQL for searching -----#### ####-------- Get total count of records --------#### $sql = "SELECT count(*) from NACProteinInfo $whereSQL"; $result = mysqlw_query($sql, $connect); list ($tc) = mysqlw_fetch_array($result); mysqlw_free_result($result); ####-------- Get total count of records --------#### $sp = ($p - 1)*$l; $tp = intval(($tc-1) / $l)+1; ####----------- Retrieve data from table ------------#### $sql = "SELECT * from NACProteinInfo $whereSQL $orderSQL limit $sp, $l"; $result = mysqlw_query($sql, $connect); $cnt = 0; while ($row = mysqlw_fetch_object($result)) { $aData[$cnt] = $row; $aData[$cnt]->PROTEIN_NAME = getProteinName($row->PROTEIN_ID); $aData[$cnt]->PROTEINSET_NAME = getProteinSetName($row->PROTEINSET_ID); $aData[$cnt]->CONTIG_NAME = getNucleotideName($row->CONTIG_NUCLEOTIDE_ID); $sql = "SELECT count(*) from NACProteinDomainInfo where NAC_ID=$row->NAC_ID"; $result2 = mysqlw_query($sql, $connect); list ($aData[$cnt]->DOMAIN_CNT) = mysqlw_fetch_array($result2); mysqlw_free_result($result2); $sql = "SELECT count(*) from NACProteinReferenceInfo where NAC_ID=$row->NAC_ID"; $result2 = mysqlw_query($sql, $connect); list ($aData[$cnt]->PAPER_CNT) = mysqlw_fetch_array($result2); mysqlw_free_result($result2); list ($aData[$cnt]->CREATOR_ID, $aData[$cnt]->CREATOR_NAME) = getSimUserIDName($row->CREATE_USER_ID); $cnt++; } mysqlw_free_result($result); ####----------- Retrieve data from table ------------#### ####--------------- Template engine ---------------#### $template = new Template; $template->loadData("index.dat"); $template->readTemplate("nac_view.tpl"); $template->parsing(array( "p" => $p, "l" => $l, "sv" => $sv, "sf" => $sf, "ps" => $ps, "si" => $si, "sm" => $sm, "SORT" => $SortMethodInfo, "ICON" => $SortIconInfo, "TOTAL_COUNT" => $tc, "TOTAL_PAGE" => $tp, "DATA" => $aData, "DATA_CNT" => count($aData))); $template->display(); ####--------------- Template Engine ---------------#### break; case "dv": checkSimPagePermission(3396); ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("id parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("id parameter is not number!"); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $sql = "SELECT * from NACProteinInfo where NAC_ID=$id"; $result = mysqlw_query($sql, $connect); if (mysqlw_affected_rows($connect) == 0) { alertForm("There is no data for NAC_ID=$id."); } $data = mysqlw_fetch_object($result); mysqlw_free_result($result); if (!checkNACList($EConf["NAC_PROTEINSET_ID"], $data->PROTEINSET_ID)) { alertForm("Sorry, you do not have permission to access this NAC gene"); } $data->EXON_GRAPH_ID = getExonStructureGraphID($data->PROTEIN_ID, 800, 80); $data->PROTEIN_NAME = getProteinName($data->PROTEIN_ID); $data->SEQ = getProteinSequence($data->PROTEIN_ID); $data->PROTEIN_LENGTH = getProteinLength($data->PROTEIN_ID); $data->PROTEINSET_NAME = getProteinSetName($data->PROTEINSET_ID); $data->CONTIG_NAME = getNucleotideName($data->CONTIG_NUCLEOTIDE_ID); $sql = "SELECT count(*) from NACProteinDomainInfo where NAC_ID=$id"; $result2 = mysqlw_query($sql, $connect); list ($data->DOMAIN_CNT) = mysqlw_fetch_array($result2); mysqlw_free_result($result2); $graph = "IMG_WIDTH\t800\n"; $graph .= "IMG_HEIGHT\t80\n"; $graph .= "IMG_MARGINWIDTH\t10\n"; $graph .= "IMG_MARGINHEIGHT\t10\n"; $cnt = 0; $legend = array(); $colorTable = getColorTable(1); $sql = "SELECT distinct(NAME) from NACProteinDomainInfo where NAC_ID=$id"; $result = mysqlw_query($sql, $connect); while (list ($name) = mysqlw_fetch_array($result)) { $graph .= "LEGEND_".$cnt."_COLOR\t".$colorTable[$cnt]->COLOR."\n"; $graph .= "LEGEND_".$cnt."_NAME\t".$name."\n"; $legend[$name] = $cnt; $cnt++; } mysqlw_free_result($result); $graph .= "PROTEIN_LENGTH\t".$data->PROTEIN_LENGTH."\n"; $graph .= "PROTEIN_MAXLENGTH\t".$data->PROTEIN_LENGTH."\n"; $sql = "SELECT * from NACProteinDomainInfo where NAC_ID=$id"; $result = mysqlw_query($sql, $connect); $cnt = 0; while ($row = mysqlw_fetch_object($result)) { $aData[$cnt] = $row; $aData[$cnt]->AA_LENGTH = strlen($row->SEQ); $aData[$cnt]->NT_LENGTH = strlen($row->GENESEQ); $graph .= "DOMAIN_".$cnt."_START\t".$row->START_POS."\n"; $graph .= "DOMAIN_".$cnt."_END\t".$row->END_POS."\n"; $graph .= "DOMAIN_".$cnt."_LEGEND\t".$legend[$row->NAME]."\n"; $graph .= "DOMAIN_".$cnt."_HEIGHT\t30\n"; if ($row->EVIDENCE_TYPE == "InterPro") { $aData[$cnt]->DETAIL_NAME = getInterProTermName($row->NAME, $row->EVIDENCE_VERSION); } else { $aData[$cnt]->DETAIL_NAME = "N/A"; } $cnt++; } mysqlw_free_result($result); $data->GRAPH_ID = registerGatewayGraph("Domain", $graph); $cnt = 0; $sql = "SELECT * from NACProteinReferenceInfo where NAC_ID=$id"; $result = mysqlw_query($sql, $connect); while ($row = mysqlw_fetch_object($result)) { $bData[$cnt] = $row; $bData[$cnt]->PAPER_TITLE = getPaperTitle($row->PAPER_ID); $cnt++; } mysqlw_free_result($result); $data->SEQ = getHTMLFormatSequence($data->SEQ, 100, $tag); $cnt = 0; $sql = "SELECT * from NACProteinPhylogroupInfo where NAC_ID=".$id; $result = mysqlw_query($sql, $connect); while ($row = mysqlw_fetch_object($result)) { $cData[$cnt] = $row; $cData[$cnt]->PHYLOGROUP_CATEGORY_NAME = getNACPhylogroupCategoryName(getNACPhylogroupCategoryID($row->PHYLOGROUP_ID)); $cData[$cnt]->PHYLOGROUP_NAME = getNACPhylogroupName($row->PHYLOGROUP_ID); list ($cData[$cnt]->CREATOR_ID, $cData[$cnt]->CREATOR_NAME) = getSimUserIDName($cData[$cnt]->CREATE_USER_ID); $cnt++; } mysqlw_free_result($result); list ($data->CREATOR_ID, $data->CREATOR_NAME) = getSimUserIDName($data->CREATE_USER_ID); ####--------------- Template Engine ---------------#### $template = new Template; $template->loadData("index.dat"); $template->readTemplate("nac_detail.tpl"); $template->parsing(array( "id" => $id, "sf" => $sf, "sv" => $sv, "si" => $si, "sm" => $sm, "p" => $p, "l" => $l, "ps" => $ps, "DOMAIN" => $aData, "DOMAIN_CNT" => count($aData), "PAPER" => $bData, "PAPER_CNT" => count($bData), "PHYLOGROUP" => $cData, "PHYLOGROUP_CNT" => count($cData), "DATA" => $data)); $template->display(); ####--------------- Template Engine ---------------#### break; case "modify": checkSimPagePermission(3397); if (!empty($EConf["NAC_PROTEINSET_LIST"])) { alertForm("You can't use this function"); } ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("parameter id is empty."); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("parameter id is not number."); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $sql = "SELECT * from NACProteinInfo where NAC_ID=$id"; $result = mysqlw_query($sql, $connect); if (mysqlw_affected_rows($connect) == 0) { alertForm("Invalid data"); } $data = mysqlw_fetch_object($result); mysqlw_free_result($result); ####--------------- Template Engine ---------------#### $template = new Template; $template->loadData("index.dat"); $template->readTemplate("nac_modify.tpl"); $template->parsing(array( "DATA" => $data, "id" => $id, "ps" => $ps, "sf" => $sf, "sv" => $sv, "si" => $si, "sm" => $sm, "p" => $p, "l" => $l)); $template->display(); ####--------------- Template Engine ---------------#### break; case "modify2": checkSimPagePermission(3398); if (!empty($EConf["NAC_PROTEINSET_LIST"])) { alertForm("You can't use this function"); } ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("parameter id is empty."); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("parameter id is not number."); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $comment = preg_replace("/'/", "\\'", $comment); $sql = "UPDATE NACProteinInfo SET COMMENT='$comment', LASTUPDATE_DATE=NOW() where NAC_ID=$id"; $result = mysqlw_query($sql, $connect); if (!$result) { writeLogMsg("Fail to execute query [$sql] [mysqlw_error:".mysqlw_error($connect)."]"); alertForm("Error occurred during MODIFY query."); } alertForm("Successfully modified", "nac.php?a=view&p=$p&l=$l&sf=$sf&sv=$sv&ps=$ps"); break; case "select": checkSimPagePermission(3480); if (empty($f1) || empty($f2)) { alertForm("Invalid usage!"); } if (!empty($sv)) { $sv = trim($sv); $connect = connectDB("NAC"); if (!empty($sf)) { $whereSQL = " where $sf like '%$sv%' "; } $cnt = 0; $sql = "SELECT NAC_ID, NAME, PROTEIN_NAME, PROTEINSET_ID from NACProteinInfo $whereSQL"; $result = mysqlw_query($sql, $connect); while ($row = mysqlw_fetch_object($result)) { $aData[$cnt] = $row; $aData[$cnt]->SPECIES_ID = getSpeciesIDFromProteinSet($row->PROTEINSET_ID); $aData[$cnt]->SPECIES_NAME = getSpeciesName($aData[$cnt]->SPECIES_ID); $cnt++; } mysqlw_free_result($result); } ####--------------- Template Engine ---------------#### $template = new Template; $template->loadData("index.dat"); $template->readTemplate("nac_select.tpl"); $template->parsing(array( "NAC" => $aData, "NAC_CNT" => count($aData), "sf" => $sf, "sv" => $sv, "f1" => $f1, "f2" => $f2)); $template->display(); ####--------------- Template Engine ---------------#### break; case "phylogroup_input": checkSimPagePermission(10373); ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("id parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("id parameter is not number!"); alertForm("Invalid usage!"); } $phylogroup_id = trim($phylogroup_id); if (empty($phylogroup_id)) { writeLogMsg("phylogroup_id parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($phylogroup_id)) { writeLogMsg("phylogroup_id parameter is not number!"); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $sql = "INSERT INTO NACProteinPhylogroupInfo VALUES ($id, $phylogroup_id, '$comment', NOW(), NULL, ".getSimUID().")"; $result = mysqlw_query($sql, $connect); if (!$result) { writeLogMsg("Fail to execute query [$sql] [mysqlw_error:".mysqlw_error($connect)."]"); alertForm("Error occurred during INSERT query."); } alertForm("Successfully registered", "nac.php?a=dv&id=$id&p=$p&l=$l&sf=$sf&sv=$sv&ps=$ps"); break; case "phylogroup_modify": checkSimPagePermission(10374); ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("id parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("id parameter is not number!"); alertForm("Invalid usage!"); } $id2 = trim($id2); if (empty($id2)) { writeLogMsg("id2 parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id2)) { writeLogMsg("id2 parameter is not number!"); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $sql = "SELECT * from NACProteinPhylogroupInfo where NAC_ID=$id2 and PHYLOGROUP_ID=$id"; $result = mysqlw_query($sql, $connect); if (mysqlw_affected_rows($connect) == 0) { alertForm("Invalid data"); } $data = mysqlw_fetch_object($result); mysqlw_free_result($result); ####--------------- Template Engine ---------------#### $template = new Template; $template->loadData("index.dat"); $template->readTemplate("nac_phylogroup_modify.tpl"); $template->parsing(array( "DATA" => $data, "id" => $id, "ps" => $ps, "id2" => $id2, "sf" => $sf, "sv" => $sv, "si" => $si, "sm" => $sm, "p" => $p, "l" => $l)); $template->display(); ####--------------- Template Engine ---------------#### break; case "phylogroup_modify2": checkSimPagePermission(10375); ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("id parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("id parameter is not number!"); alertForm("Invalid usage!"); } $id2 = trim($id2); if (empty($id2)) { writeLogMsg("id2 parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id2)) { writeLogMsg("id2 parameter is not number!"); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $sql = "UPDATE NACProteinPhylogroupInfo SET COMMENT='$comment', LASTUPDATE_DATE=NOW() where NAC_ID=$id2 and PHYLOGROUP_ID=$id"; $result = mysqlw_query($sql, $connect); if (!$result) { writeLogMsg("Fail to execute query [$sql] [mysqlw_error:".mysqlw_error($connect)."]"); alertForm("Error occurred during MODIFY query."); } alertForm("Successfully modified", "nac.php?a=dv&id=$id&p=$p&l=$l&sf=$sf&sv=$sv&ps=$ps"); break; case "phylogroup_del": checkSimPagePermission(10376); ####------------- Check variables ----------------#### $id = trim($id); if (empty($id)) { writeLogMsg("id parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id)) { writeLogMsg("id parameter is not number!"); alertForm("Invalid usage!"); } $id2 = trim($id2); if (empty($id2)) { writeLogMsg("id2 parameter is empty!"); alertForm("Invalid usage!"); } if (!is_numeric($id2)) { writeLogMsg("id2 parameter is not number!"); alertForm("Invalid usage!"); } ####------------- Check variables ----------------#### $sql = "DELETE from NACProteinPhylogroupInfo where NAC_ID=$id2 and PHYLOGROUP_ID=$id"; $result = mysqlw_query($sql, $connect); if (!$result) { writeLogMsg("Fail to execute query [$sql] [mysqlw_error:".mysqlw_error($connect)."]"); alertForm("Error occurred during DELETE query."); } alertForm("Successfully deleted", "nac.php?a=dv&id=$id&p=$p&l=$l&sf=$sf&sv=$sv&ps=$ps"); break; default: ####---------- Process for invalid usage ----------#### writeLogMsg("Not defined a value [$a]"); alertForm("Invalid act items."); ####---------- Process for invalid usage ----------#### break; } ####------------ Finalize Variables --------------#### mysqlw_close($connect); ####------------ Finalize Variables --------------#### ?>