|  |  | @ -1,10 +1,16 @@ | 
			
		
	
		
			
				
					|  |  |  | #pragma once | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | /// This is the index for the range prefix. Given the `head` and the first
 | 
			
		
	
		
			
				
					|  |  |  | /// 12-bit (0 ~ 4095) of the `range`, you can get the positions of all cases
 | 
			
		
	
		
			
				
					|  |  |  | /// in the current `head`. That is, according to the position of 2x2 block
 | 
			
		
	
		
			
				
					|  |  |  | /// and the `range`, the short code range is obtained.
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | #include <cstdint> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     const uint32_t RANGE_PREFIX_OFFSET[16][4096] = {{ | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x0 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | const uint32_t RANGE_PREFIX_OFFSET[16][4096] = {{ | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x0 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    9527,   12991,   16067,   25594,   29058,   30527,   31657,   35121,   38525,   39766,   41041,   44445,   53972,   57436,   60512, | 
			
		
	
		
			
				
					|  |  |  |       70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039, | 
			
		
	
		
			
				
					|  |  |  |       70039,   73445,   74914,   76019,   79425,   80894,   80894,   81362,   82831,   84047,   84573,   85031,   86247,   89653,   91122,   92227, | 
			
		
	
	
		
			
				
					|  |  | @ -261,8 +267,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, 2854438, | 
			
		
	
		
			
				
					|  |  |  |     2854438, 2857844, 2859242, 2860307, 2863615, 2865013, 2865013, 2865367, 2866529, 2867702, 2868094, 2868444, 2869447, 2872755, 2873917, 2874830, | 
			
		
	
		
			
				
					|  |  |  |     2877744, 2887271, 2890632, 2893622, 2902931, 2906292, 2907454, 2908380, 2911332, 2914639, 2915655, 2916686, 2919600, 2928909, 2931861, 2934505, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x1 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x1 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    9527,   12991,   16067,   25594,   29058,   30527,   31657,   35121,   38525,   39766,   41041,   44445,   53972,   57436,   60512, | 
			
		
	
		
			
				
					|  |  |  |       70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039, | 
			
		
	
		
			
				
					|  |  |  |       70039,   73445,   74914,   76019,   79425,   80894,   80894,   81362,   82831,   84047,   84573,   85031,   86247,   89653,   91122,   92227, | 
			
		
	
	
		
			
				
					|  |  | @ -519,8 +525,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, 2171924, | 
			
		
	
		
			
				
					|  |  |  |     2171924, 2175330, 2176728, 2177793, 2181101, 2182499, 2182499, 2182853, 2184015, 2185188, 2185580, 2185930, 2186933, 2190241, 2191403, 2192316, | 
			
		
	
		
			
				
					|  |  |  |     2195230, 2204757, 2208118, 2211108, 2220417, 2223778, 2224940, 2225866, 2228818, 2232125, 2233141, 2234172, 2237086, 2246395, 2249347, 2251991, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x2 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x2 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    9527,   12991,   16067,   25594,   29058,   30527,   31657,   35121,   38525,   39766,   41041,   44445,   53972,   57436,   60512, | 
			
		
	
		
			
				
					|  |  |  |       70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039,   70039, | 
			
		
	
		
			
				
					|  |  |  |       70039,   73503,   74972,   76102,   79566,   79566,   79566,   79566,   79566,   80807,   81333,   81729,   82970,   86434,   87903,   89033, | 
			
		
	
	
		
			
				
					|  |  | @ -777,10 +783,10 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, 2857120, | 
			
		
	
		
			
				
					|  |  |  |     2857120, 2860584, 2861982, 2863068, 2866429, 2866429, 2866429, 2866429, 2866429, 2867623, 2868015, 2868327, 2869343, 2872704, 2873866, 2874792, | 
			
		
	
		
			
				
					|  |  |  |     2877744, 2887271, 2890632, 2893622, 2902931, 2906292, 2907454, 2908380, 2911332, 2914639, 2915655, 2916686, 2919600, 2928909, 2931861, 2934505, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x3 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x4 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x3 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x4 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    9527,    9527,   12933,   22460,   25924,   27393,   28523,   31987,   35451,   35451,   36920,   40384,   49911,   49911,   53317, | 
			
		
	
		
			
				
					|  |  |  |       62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844, | 
			
		
	
		
			
				
					|  |  |  |       62844,   66308,   67777,   68907,   72371,   72371,   72371,   72371,   72371,   73840,   73840,   74366,   75835,   79299,   80768,   81898, | 
			
		
	
	
		
			
				
					|  |  | @ -1037,8 +1043,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, 2242744, | 
			
		
	
		
			
				
					|  |  |  |     2242744, 2246208, 2247606, 2248692, 2252053, 2252053, 2252053, 2252053, 2252053, 2253451, 2253451, 2253843, 2255005, 2258366, 2259528, 2260454, | 
			
		
	
		
			
				
					|  |  |  |     2263406, 2272933, 2272933, 2276241, 2285550, 2288911, 2290073, 2290999, 2293951, 2297312, 2297312, 2298474, 2301426, 2310735, 2310735, 2313649, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x5 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x5 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    8169,    8169,   11633,   19802,   19802,   19802,   19802,   19802,   23266,   23266,   24735,   28199,   36368,   36368,   39832, | 
			
		
	
		
			
				
					|  |  |  |       48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001, | 
			
		
	
		
			
				
					|  |  |  |       48001,   51465,   51465,   52706,   56170,   56170,   56170,   56170,   56170,   57639,   57639,   58165,   59634,   63098,   63098,   64339, | 
			
		
	
	
		
			
				
					|  |  | @ -1295,8 +1301,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, 1813321, | 
			
		
	
		
			
				
					|  |  |  |     1813321, 1816785, 1816785, 1817979, 1821340, 1821340, 1821340, 1821340, 1821340, 1822738, 1822738, 1823130, 1824292, 1827653, 1827653, 1828669, | 
			
		
	
		
			
				
					|  |  |  |     1831621, 1839790, 1839790, 1843151, 1851170, 1851170, 1851170, 1851170, 1851170, 1854531, 1854531, 1855693, 1858645, 1866664, 1866664, 1869616, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x6 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x6 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    9527,    9527,   12991,   22518,   25924,   27393,   28639,   32045,   35451,   35451,   36920,   40326,   49853,   49853,   53317, | 
			
		
	
		
			
				
					|  |  |  |       62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844, | 
			
		
	
		
			
				
					|  |  |  |       62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844, | 
			
		
	
	
		
			
				
					|  |  | @ -1553,10 +1559,10 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, | 
			
		
	
		
			
				
					|  |  |  |     2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, 2263406, | 
			
		
	
		
			
				
					|  |  |  |     2263406, 2272933, 2272933, 2276294, 2285603, 2288911, 2290073, 2291090, 2294004, 2297312, 2297312, 2298474, 2301388, 2310697, 2310697, 2313649, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x7 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x8 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x7 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x8 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    8397,   11405,   11405,   19802,   22810,   24085,   25191,   28199,   28199,   28199,   28199,   28199,   36596,   39604,   39604, | 
			
		
	
		
			
				
					|  |  |  |       48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001, | 
			
		
	
		
			
				
					|  |  |  |       48001,   51007,   52282,   52282,   55288,   56563,   56563,   57019,   58294,   58294,   58294,   58294,   58294,   61300,   62575,   62575, | 
			
		
	
	
		
			
				
					|  |  | @ -1813,8 +1819,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, 2260408, | 
			
		
	
		
			
				
					|  |  |  |     2260408, 2263414, 2264635, 2264635, 2267563, 2268784, 2268784, 2269134, 2270165, 2270165, 2270165, 2270165, 2270165, 2273093, 2274124, 2274124, | 
			
		
	
		
			
				
					|  |  |  |     2276726, 2285123, 2288052, 2288052, 2296275, 2299204, 2300235, 2301148, 2303750, 2303750, 2303750, 2303750, 2303750, 2311973, 2314575, 2314575, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0x9 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0x9 ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    5741,    8119,    8119,   13860,   16238,   17223,   17223,   19601,   21979,   22964,   22964,   25342,   31083,   33461,   33461, | 
			
		
	
		
			
				
					|  |  |  |       39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202,   39202, | 
			
		
	
		
			
				
					|  |  |  |       39202,   41172,   42157,   42157,   44127,   45112,   45112,   45112,   46097,   46913,   47321,   47321,   48137,   50107,   51092,   51092, | 
			
		
	
	
		
			
				
					|  |  | @ -2071,8 +2077,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, 1826821, | 
			
		
	
		
			
				
					|  |  |  |     1826821, 1828791, 1829742, 1829742, 1831678, 1832629, 1832629, 1832629, 1833450, 1834245, 1834561, 1834561, 1835264, 1837200, 1838021, 1838021, | 
			
		
	
		
			
				
					|  |  |  |     1839793, 1845534, 1847857, 1847857, 1853509, 1855832, 1856653, 1856653, 1858741, 1861064, 1861885, 1861885, 1863973, 1869625, 1871713, 1871713, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0xA ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0xA ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    6375,    8925,   11205,   17580,   20130,   21405,   21405,   23955,   26245,   27161,   28131,   30421,   36796,   39346,   41626, | 
			
		
	
		
			
				
					|  |  |  |       48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001, | 
			
		
	
		
			
				
					|  |  |  |       48001,   50551,   51826,   52738,   55288,   56563,   56563,   56563,   57838,   58754,   59212,   59600,   60516,   63066,   64341,   65253, | 
			
		
	
	
		
			
				
					|  |  | @ -2329,10 +2335,10 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, 2258426, | 
			
		
	
		
			
				
					|  |  |  |     2258426, 2260976, 2262197, 2263085, 2265581, 2266802, 2266802, 2266802, 2267833, 2268724, 2269074, 2269382, 2270165, 2272661, 2273692, 2274474, | 
			
		
	
		
			
				
					|  |  |  |     2276726, 2283101, 2285597, 2287829, 2294096, 2296592, 2297623, 2297623, 2299875, 2302115, 2302898, 2303708, 2305732, 2311999, 2314251, 2316271, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0xB ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0xC ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0xB ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0xC ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    8281,   11299,   14237,   22518,   25536,   26811,   27781,   30799,   34205,   35451,   36920,   40326,   48607,   51625,   54563, | 
			
		
	
		
			
				
					|  |  |  |       62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844, | 
			
		
	
		
			
				
					|  |  |  |       62844,   65794,   67069,   68121,   71071,   72346,   72346,   72746,   74021,   75233,   75759,   76285,   77497,   80447,   81722,   82774, | 
			
		
	
	
		
			
				
					|  |  | @ -2589,8 +2595,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, 2863318, | 
			
		
	
		
			
				
					|  |  |  |     2863318, 2866268, 2867489, 2868509, 2871385, 2872606, 2872606, 2872918, 2873949, 2875119, 2875511, 2875903, 2876905, 2879781, 2880812, 2881698, | 
			
		
	
		
			
				
					|  |  |  |     2884262, 2892543, 2895480, 2898347, 2906459, 2909396, 2910427, 2911237, 2913843, 2917151, 2918168, 2919330, 2922244, 2930356, 2932962, 2935522, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0xD ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0xD ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    6466,    8786,   11114,   17580,   19900,   20885,   21726,   24046,   26336,   27161,   28131,   30421,   36887,   39207,   41535, | 
			
		
	
		
			
				
					|  |  |  |       48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001,   48001, | 
			
		
	
		
			
				
					|  |  |  |       48001,   50319,   51304,   52144,   54462,   55447,   55447,   55795,   56780,   57600,   57950,   58300,   59120,   61438,   62423,   63263, | 
			
		
	
	
		
			
				
					|  |  | @ -2847,8 +2853,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, 2198750, | 
			
		
	
		
			
				
					|  |  |  |     2198750, 2201068, 2202019, 2202835, 2205104, 2206055, 2206055, 2206333, 2207154, 2207952, 2208230, 2208508, 2209212, 2211481, 2212302, 2213018, | 
			
		
	
		
			
				
					|  |  |  |     2215068, 2221534, 2223804, 2226081, 2232438, 2234708, 2235529, 2236245, 2238295, 2240535, 2241240, 2242050, 2244074, 2250431, 2252481, 2254535, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0xE ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0xE ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |           0,    8542,   11618,   14338,   22880,   25956,   27231,   28346,   31422,   34550,   35680,   36836,   39964,   48506,   51582,   54302, | 
			
		
	
		
			
				
					|  |  |  |       62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844,   62844, | 
			
		
	
		
			
				
					|  |  |  |       62844,   65840,   67115,   68075,   71071,   72346,   72346,   72792,   74067,   75163,   75631,   76039,   77135,   80131,   81406,   82366, | 
			
		
	
	
		
			
				
					|  |  | @ -3105,7 +3111,8 @@ namespace klotski { | 
			
		
	
		
			
				
					|  |  |  |     2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, 2863600, | 
			
		
	
		
			
				
					|  |  |  |     2863600, 2866596, 2867817, 2868747, 2871667, 2872888, 2872888, 2873234, 2874265, 2875324, 2875678, 2875994, 2876905, 2879825, 2880856, 2881664, | 
			
		
	
		
			
				
					|  |  |  |     2884262, 2892804, 2895794, 2898444, 2906802, 2909792, 2910823, 2911738, 2914382, 2917419, 2918345, 2919284, 2921962, 2930320, 2932964, 2935326, | 
			
		
	
		
			
				
					|  |  |  |     }, { | 
			
		
	
		
			
				
					|  |  |  |     /// --------------------------------------------------------------------- 0xF ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  |     }}; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | }, { | 
			
		
	
		
			
				
					|  |  |  | /// --------------------------------------------------------------------- 0xF ---------------------------------------------------------------------
 | 
			
		
	
		
			
				
					|  |  |  | }}; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | } // namespace klotski
 | 
			
		
	
	
		
			
				
					|  |  | 
 |