#include #include "vec.h" short bpawn[] = /* V002 */ { 117, 36, 118, 46, 121, 58, 129, 72, 142, 86, 156, 96, 168, 103, 179, 108, 183, 110, 190, 112, 191, 113, 205, 116, 209, 119, 201, 133, 196, 148, 195, 154, 194, 169, 194, 184, 196, 189, 199, 202, 203, 217, 208, 230, 213, 244, 216, 252, 216, 267, 215, 270, 200, 270, 194, 270, 185, 270, 170, 270, 155, 270, 140, 270, 134, 271, 132, 273, 131, 278, 131, 293, 136, 307, 144, 321, 158, 336, 170, 344, 178, 349, 186, 353, 195, 357, 199, 358, 200, 359, 207, 361, 207, 391, 211, 405, 219, 420, 231, 431, 240, 436, 245, 436, 245, 438, 260, 438, 270, 437, 279, 434, 288, 427, 298, 415, 303, 405, 304, 403, 307, 389, 307, 374, 308, 361, 316, 359, 316, 358, 327, 355, 327, 354, 335, 351, 348, 344, 362, 332, 372, 320, 379, 307, 382, 298, 383, 292, 383, 277, 382, 274, 367, 274, 352, 274, 337, 274, 322, 274, 307, 273, 305, 272, 303, 266, 303, 251, 308, 237, 314, 222, 316, 217, 320, 208, 325, 197, 328, 184, 329, 173, 329, 158, 327, 146, 322, 131, 316, 121, 316, 119, 323, 117, 327, 115, 336, 113, 336, 112, 347, 109, 349, 107, 356, 105, 358, 103, 362, 102, 377, 92, 392, 78, 401, 64, 406, 51, 407, 44, 406, 36, 391, 36, 376, 36, 361, 36, 346, 36, 331, 36, 316, 36, 315, 35, 300, 35, 285, 35, 270, 35, 255, 35, 240, 35, 225, 35, 210, 35, 195, 35, 180, 35, 165, 35, 150, 35, 149, 34, 149, 33, 134, 33, 131, 33, 119, 33, 117, 36, End, End }; short bknight[] = /* V003 */ { 45, 206, 45, 218, 53, 233, 66, 245, 71, 248, 78, 263, 79, 265, 85, 278, 92, 292, 99, 306, 105, 319, 112, 334, 119, 348, 125, 362, 129, 369, 132, 377, 131, 388, 128, 403, 125, 417, 122, 431, 121, 435, 122, 448, 124, 450, 136, 449, 151, 436, 156, 432, 161, 432, 165, 447, 167, 453, 169, 464, 173, 470, 185, 469, 188, 466, 200, 456, 214, 442, 220, 437, 228, 436, 243, 436, 243, 435, 253, 434, 253, 433, 267, 431, 271, 430, 271, 429, 284, 426, 284, 425, 295, 422, 297, 420, 303, 418, 305, 416, 308, 415, 313, 412, 322, 408, 327, 404, 334, 400, 349, 389, 363, 376, 377, 361, 389, 347, 399, 332, 408, 317, 415, 304, 421, 291, 427, 277, 432, 264, 437, 249, 441, 236, 445, 221, 448, 208, 450, 199, 453, 184, 455, 170, 457, 157, 458, 147, 459, 138, 460, 125, 460, 110, 461, 106, 461, 46, 460, 35, 458, 34, 458, 33, 443, 33, 428, 33, 413, 33, 398, 33, 383, 33, 368, 33, 353, 33, 338, 33, 323, 33, 308, 33, 293, 33, 278, 33, 263, 33, 248, 33, 233, 33, 218, 33, 203, 33, 188, 33, 173, 33, 158, 33, 146, 34, 145, 38, 145, 68, 148, 83, 152, 97, 158, 111, 166, 126, 176, 140, 190, 155, 205, 168, 219, 180, 233, 192, 233, 193, 218, 193, 203, 193, 188, 183, 174, 173, 159, 163, 151, 151, 145, 148, 143, 147, 137, 146, 124, 146, 124, 147, 121, 147, 111, 147, 105, 143, 93, 141, 79, 141, 79, 142, 73, 143, 64, 149, 62, 154, 58, 169, 55, 177, 51, 190, 46, 204, 45, 206, End, 79, 213, 83, 218, 92, 218, 92, 199, 90, 196, 84, 196, 80, 202, 79, 213, End, 151, 278, 151, 287, 157, 300, 164, 314, 175, 315, 190, 315, 205, 315, 208, 313, 209, 304, 205, 301, 198, 300, 194, 293, 184, 286, 178, 284, 168, 283, 165, 281, 160, 275, 155, 275, 151, 278, End, 188, 408, 194, 408, 209, 408, 224, 408, 239, 408, 239, 407, 246, 406, 257, 404, 258, 403, 271, 400, 271, 399, 278, 397, 280, 395, 285, 393, 298, 386, 311, 378, 324, 368, 339, 355, 353, 341, 365, 326, 375, 311, 383, 298, 391, 283, 397, 270, 403, 255, 408, 240, 412, 228, 416, 214, 419, 202, 422, 189, 425, 174, 426, 164, 427, 156, 428, 144, 429, 143, 429, 128, 430, 116, 431, 114, 431, 69, 430, 66, 422, 66, 407, 66, 407, 67, 406, 73, 406, 88, 405, 98, 405, 113, 404, 127, 403, 137, 402, 147, 401, 154, 399, 167, 397, 178, 395, 187, 392, 202, 389, 213, 385, 228, 380, 242, 375, 255, 369, 270, 362, 284, 354, 298, 344, 313, 332, 328, 318, 343, 303, 356, 289, 367, 274, 376, 260, 384, 254, 386, 251, 388, 244, 390, 241, 392, 229, 395, 229, 396, 225, 397, 211, 399, 211, 400, 203, 401, 194, 402, 190, 404, 188, 408, End, End }; short bbishop[] = /* V004 */ { 38, 51, 38, 66, 39, 78, 47, 92, 55, 100, 62, 104, 77, 104, 92, 104, 105, 102, 105, 101, 115, 100, 125, 99, 139, 98, 139, 97, 154, 97, 159, 99, 160, 102, 160, 177, 159, 177, 158, 186, 148, 195, 142, 206, 137, 213, 132, 226, 129, 236, 127, 247, 127, 277, 128, 279, 129, 287, 132, 301, 136, 313, 142, 327, 150, 342, 159, 357, 167, 371, 176, 385, 184, 398, 190, 408, 192, 412, 192, 420, 188, 426, 187, 430, 187, 445, 188, 453, 194, 464, 205, 471, 220, 471, 229, 467, 239, 457, 243, 444, 243, 429, 239, 418, 241, 413, 248, 409, 252, 405, 260, 405, 271, 417, 270, 424, 268, 427, 266, 433, 266, 448, 268, 457, 277, 469, 280, 470, 282, 472, 286, 473, 301, 473, 306, 472, 315, 464, 316, 464, 321, 452, 322, 448, 322, 433, 317, 421, 315, 418, 316, 413, 325, 405, 336, 390, 346, 377, 354, 362, 357, 356, 360, 350, 365, 337, 369, 323, 373, 310, 375, 298, 377, 283, 377, 238, 376, 228, 374, 215, 371, 200, 367, 186, 363, 174, 358, 160, 357, 156, 357, 111, 358, 103, 360, 100, 375, 100, 390, 100, 403, 101, 405, 102, 414, 103, 423, 104, 438, 104, 453, 104, 459, 103, 473, 92, 480, 80, 483, 68, 483, 53, 480, 39, 474, 27, 474, 26, 465, 27, 457, 29, 457, 30, 444, 32, 429, 32, 414, 32, 399, 32, 384, 32, 369, 32, 354, 32, 345, 33, 345, 34, 330, 34, 328, 35, 317, 36, 309, 37, 309, 38, 297, 40, 294, 40, 293, 42, 283, 45, 278, 48, 269, 52, 266, 55, 265, 56, 261, 58, 252, 57, 241, 49, 229, 43, 225, 42, 225, 41, 213, 38, 211, 37, 206, 36, 198, 35, 187, 35, 183, 35, 168, 35, 153, 35, 144, 34, 143, 33, 128, 33, 127, 33, 113, 33, 98, 33, 95, 32, 86, 31, 81, 30, 80, 29, 70, 27, 69, 26, 58, 23, 54, 21, 49, 21, 42, 35, 39, 47, 38, 51, End, 190, 174, 190, 203, 196, 204, 206, 205, 216, 206, 216, 207, 231, 207, 246, 207, 261, 207, 276, 207, 291, 207, 301, 206, 313, 205, 327, 203, 329, 200, 329, 171, 316, 172, 307, 173, 297, 173, 296, 175, 281, 175, 266, 175, 251, 175, 244, 175, 236, 175, 221, 175, 213, 174, 199, 172, 199, 171, 191, 171, 190, 174, End, 191, 103, 191, 133, 195, 135, 205, 136, 211, 137, 212, 138, 227, 138, 242, 138, 257, 138, 272, 138, 287, 138, 295, 137, 304, 136, 314, 135, 322, 134, 322, 133, 329, 132, 329, 102, 319, 103, 307, 104, 294, 105, 294, 106, 279, 106, 264, 106, 249, 106, 234, 106, 219, 106, 215, 105, 203, 104, 191, 103, End, 244, 162, 246, 166, 250, 167, 265, 167, 270, 163, 270, 156, 266, 152, 260, 150, 260, 149, 253, 149, 252, 151, 249, 151, 245, 154, 244, 162, End, 280, 385, 287, 393, 299, 393, 307, 383, 318, 368, 323, 358, 329, 349, 335, 334, 340, 319, 343, 307, 344, 305, 345, 298, 347, 287, 348, 276, 344, 276, 342, 281, 337, 295, 331, 309, 324, 322, 316, 337, 306, 350, 295, 365, 281, 380, 280, 385, End, End }; short brook[] = /* V005 */ { 91, 38, 91, 98, 92, 104, 104, 118, 109, 127, 113, 142, 114, 148, 129, 161, 143, 175, 144, 177, 144, 312, 143, 327, 133, 336, 121, 351, 115, 356, 107, 365, 106, 368, 106, 443, 105, 445, 120, 445, 135, 445, 150, 445, 165, 445, 173, 445, 177, 432, 182, 418, 195, 418, 200, 428, 205, 443, 207, 449, 207, 450, 222, 450, 237, 450, 252, 450, 267, 450, 282, 450, 292, 450, 298, 435, 304, 422, 307, 417, 321, 418, 327, 432, 332, 444, 332, 445, 347, 445, 361, 445, 362, 445, 377, 445, 392, 445, 397, 445, 397, 370, 396, 361, 384, 351, 375, 340, 368, 335, 361, 325, 361, 190, 362, 180, 374, 165, 387, 150, 391, 145, 395, 130, 406, 116, 418, 101, 419, 98, 419, 83, 420, 73, 420, 43, 421, 38, 419, 37, 419, 36, 404, 36, 389, 36, 374, 36, 359, 36, 344, 36, 329, 36, 314, 36, 299, 36, 284, 36, 269, 36, 254, 36, 251, 37, 236, 37, 221, 37, 206, 37, 191, 37, 176, 37, 161, 37, 146, 37, 131, 37, 116, 37, 105, 37, 101, 37, 91, 38, End, 173, 328, 173, 343, 183, 344, 198, 344, 213, 344, 228, 344, 243, 344, 258, 344, 273, 344, 288, 344, 303, 344, 318, 344, 333, 344, 333, 318, 331, 316, 324, 316, 309, 316, 294, 316, 279, 316, 264, 316, 249, 316, 234, 316, 219, 316, 204, 316, 189, 316, 175, 316, 174, 316, 174, 317, 173, 328, End, 175, 153, 175, 181, 184, 181, 199, 181, 214, 181, 229, 181, 244, 181, 259, 181, 274, 181, 289, 181, 304, 181, 319, 181, 334, 181, 334, 156, 332, 153, 325, 153, 310, 153, 295, 153, 280, 153, 265, 153, 250, 153, 235, 153, 220, 153, 205, 153, 190, 153, 175, 153, End, End }; short bqueen[] = /* V006 */ { 25, 320, 25, 335, 35, 348, 40, 350, 41, 351, 56, 351, 68, 347, 76, 340, 83, 328, 84, 324, 85, 320, 84, 306, 85, 302, 93, 299, 97, 296, 100, 295, 103, 293, 109, 291, 112, 289, 117, 287, 128, 281, 131, 281, 134, 278, 139, 277, 146, 276, 149, 290, 152, 305, 154, 313, 155, 320, 156, 322, 159, 337, 162, 352, 164, 360, 166, 371, 162, 376, 155, 381, 147, 395, 144, 405, 144, 420, 147, 432, 156, 444, 161, 448, 164, 449, 167, 451, 182, 451, 192, 451, 194, 448, 202, 443, 207, 435, 211, 430, 214, 421, 215, 416, 215, 401, 212, 389, 207, 381, 207, 376, 214, 363, 221, 349, 228, 336, 235, 322, 243, 307, 245, 304, 250, 304, 257, 318, 265, 333, 273, 348, 280, 361, 288, 376, 290, 379, 289, 384, 286, 389, 284, 397, 283, 405, 284, 419, 289, 432, 299, 444, 306, 448, 309, 449, 310, 450, 325, 450, 331, 449, 333, 449, 341, 445, 350, 434, 354, 424, 355, 420, 355, 405, 353, 395, 346, 381, 336, 373, 331, 370, 331, 357, 332, 357, 335, 342, 338, 329, 341, 316, 344, 302, 347, 290, 350, 277, 351, 273, 358, 273, 362, 277, 375, 285, 390, 295, 404, 304, 409, 307, 411, 310, 412, 324, 418, 336, 430, 348, 436, 350, 436, 351, 451, 351, 461, 347, 470, 336, 472, 330, 472, 315, 468, 304, 459, 293, 450, 288, 446, 287, 445, 286, 433, 285, 428, 272, 423, 258, 418, 244, 413, 229, 408, 215, 403, 201, 398, 186, 397, 183, 396, 177, 395, 166, 394, 157, 393, 142, 392, 131, 391, 121, 390, 109, 389, 96, 388, 81, 386, 67, 373, 58, 370, 57, 367, 55, 361, 53, 358, 51, 351, 49, 350, 48, 338, 45, 338, 44, 327, 42, 323, 41, 321, 40, 309, 38, 300, 37, 299, 36, 287, 35, 283, 35, 272, 35, 257, 35, 256, 34, 256, 33, 241, 33, 226, 33, 222, 34, 213, 35, 202, 36, 201, 37, 186, 39, 179, 40, 179, 41, 166, 43, 163, 43, 162, 45, 149, 48, 149, 49, 144, 50, 138, 52, 135, 54, 130, 55, 117, 63, 115, 66, 114, 74, 112, 89, 110, 103, 109, 113, 107, 126, 106, 137, 105, 142, 104, 151, 102, 165, 101, 170, 100, 181, 98, 191, 93, 202, 88, 217, 85, 222, 80, 236, 74, 249, 69, 262, 62, 277, 59, 285, 57, 287, 47, 290, 43, 293, 40, 293, 39, 296, 32, 301, 26, 313, 25, 320, End, 128, 200, 128, 215, 135, 217, 138, 219, 150, 222, 151, 223, 155, 224, 167, 226, 168, 227, 181, 229, 192, 230, 192, 231, 198, 232, 213, 232, 228, 232, 243, 232, 258, 232, 273, 232, 288, 232, 302, 231, 302, 230, 310, 229, 318, 228, 327, 227, 327, 226, 332, 225, 344, 223, 344, 222, 358, 219, 358, 218, 366, 216, 370, 213, 370, 202, 369, 193, 368, 184, 363, 184, 355, 186, 355, 187, 348, 188, 341, 190, 341, 191, 337, 192, 323, 194, 323, 195, 316, 196, 308, 197, 295, 198, 281, 199, 266, 199, 251, 199, 236, 199, 233, 199, 221, 199, 206, 199, 206, 198, 195, 197, 186, 196, 177, 195, 176, 193, 171, 193, 158, 191, 158, 190, 145, 187, 144, 186, 137, 184, 137, 183, 134, 183, 131, 183, 130, 188, 128, 200, End, 134, 164, 146, 164, 150, 161, 151, 154, 150, 150, 143, 144, 140, 144, 136, 144, 135, 149, 134, 164, End, 140, 114, 140, 121, 149, 124, 149, 125, 163, 128, 163, 129, 175, 131, 179, 131, 180, 133, 189, 134, 197, 135, 209, 136, 209, 137, 224, 137, 239, 137, 254, 137, 269, 137, 284, 137, 289, 136, 300, 135, 309, 134, 315, 133, 316, 132, 330, 130, 334, 129, 335, 128, 349, 125, 349, 124, 359, 121, 363, 117, 362, 104, 361, 89, 360, 86, 360, 85, 347, 88, 343, 90, 332, 92, 331, 93, 319, 95, 313, 95, 312, 97, 305, 98, 296, 99, 286, 100, 286, 101, 271, 101, 256, 101, 241, 101, 226, 101, 211, 101, 211, 100, 197, 99, 188, 98, 182, 97, 182, 96, 169, 94, 164, 93, 164, 92, 153, 90, 150, 88, 144, 88, 143, 92, 141, 106, 140, 114, End, 233, 175, 237, 180, 242, 181, 257, 181, 263, 177, 263, 168, 259, 162, 256, 162, 254, 160, 241, 160, 234, 165, 233, 175, End, 348, 157, 352, 162, 366, 163, 366, 157, 365, 143, 357, 143, 354, 145, 349, 150, 348, 157, End, End }; short bking[] = /* V007 */ { 24, 285, 24, 315, 25, 323, 28, 335, 34, 349, 42, 362, 53, 373, 55, 375, 68, 384, 74, 386, 76, 388, 87, 391, 87, 392, 91, 393, 100, 394, 115, 394, 130, 394, 145, 392, 145, 391, 155, 389, 161, 386, 166, 385, 168, 383, 174, 381, 176, 379, 185, 376, 185, 463, 191, 464, 206, 464, 211, 464, 221, 464, 236, 464, 251, 464, 266, 464, 281, 464, 296, 464, 311, 464, 311, 460, 312, 457, 312, 397, 313, 397, 313, 382, 319, 382, 321, 384, 327, 386, 329, 388, 336, 390, 339, 392, 350, 395, 352, 396, 356, 397, 370, 398, 385, 398, 400, 398, 412, 396, 412, 395, 423, 392, 423, 390, 427, 390, 437, 384, 451, 372, 463, 357, 469, 344, 474, 329, 475, 320, 475, 290, 474, 283, 471, 271, 466, 257, 460, 246, 452, 232, 441, 218, 428, 204, 413, 191, 406, 187, 403, 184, 400, 171, 398, 160, 396, 149, 394, 139, 392, 127, 390, 116, 388, 105, 386, 93, 384, 80, 381, 69, 373, 63, 358, 54, 352, 52, 349, 50, 339, 47, 339, 46, 327, 43, 326, 42, 323, 41, 311, 39, 310, 38, 297, 36, 287, 35, 286, 33, 280, 33, 265, 33, 250, 33, 235, 33, 220, 33, 207, 34, 206, 35, 198, 36, 185, 38, 183, 39, 169, 42, 167, 43, 156, 46, 155, 47, 148, 49, 145, 52, 142, 52, 133, 57, 120, 66, 116, 73, 113, 87, 110, 101, 107, 114, 104, 127, 103, 129, 101, 140, 100, 143, 97, 157, 94, 169, 91, 183, 80, 191, 67, 203, 54, 218, 44, 232, 41, 239, 35, 248, 33, 256, 32, 256, 29, 267, 27, 272, 24, 285, End, 53, 295, 53, 310, 54, 319, 60, 334, 72, 349, 81, 355, 85, 358, 94, 362, 99, 363, 99, 364, 114, 364, 129, 364, 141, 363, 152, 360, 152, 359, 160, 356, 172, 349, 187, 336, 200, 322, 209, 308, 216, 295, 220, 281, 222, 272, 237, 272, 252, 272, 267, 272, 274, 272, 277, 283, 280, 295, 287, 310, 296, 325, 305, 335, 308, 339, 323, 352, 337, 360, 348, 365, 356, 367, 356, 368, 362, 369, 377, 369, 392, 369, 401, 368, 401, 367, 411, 364, 413, 362, 418, 360, 431, 349, 440, 335, 444, 325, 445, 319, 445, 304, 444, 289, 442, 280, 436, 265, 427, 250, 414, 235, 401, 222, 395, 218, 395, 217, 385, 218, 380, 220, 377, 222, 370, 224, 370, 225, 358, 228, 358, 229, 344, 232, 343, 233, 340, 233, 330, 235, 324, 236, 323, 237, 315, 238, 302, 239, 287, 239, 272, 239, 257, 239, 242, 239, 227, 239, 225, 239, 212, 239, 197, 239, 197, 238, 188, 237, 188, 236, 173, 234, 168, 233, 167, 232, 156, 230, 152, 229, 151, 228, 139, 225, 135, 223, 129, 221, 128, 221, 125, 219, 122, 218, 117, 215, 114, 214, 111, 212, 103, 212, 98, 218, 86, 227, 75, 242, 67, 253, 60, 268, 56, 280, 53, 295, End, 81, 293, 81, 308, 84, 318, 91, 330, 101, 337, 109, 340, 120, 341, 135, 341, 136, 340, 144, 338, 154, 333, 168, 323, 179, 310, 185, 299, 188, 294, 191, 282, 192, 267, 190, 266, 178, 265, 177, 264, 171, 263, 158, 261, 158, 260, 144, 257, 142, 256, 131, 253, 130, 252, 120, 249, 120, 247, 116, 247, 114, 245, 106, 245, 98, 254, 88, 268, 83, 282, 81, 293, End, 129, 171, 131, 171, 146, 171, 149, 169, 154, 164, 155, 156, 153, 149, 145, 142, 143, 141, 140, 140, 140, 139, 137, 139, 135, 140, 133, 148, 130, 161, 129, 171, End, 143, 107, 143, 113, 153, 116, 153, 117, 163, 119, 168, 120, 169, 121, 182, 123, 188, 124, 188, 125, 196, 126, 205, 127, 215, 128, 215, 129, 230, 129, 245, 129, 260, 129, 275, 129, 289, 128, 302, 127, 311, 126, 317, 125, 319, 124, 331, 122, 335, 121, 336, 120, 350, 117, 350, 116, 355, 114, 354, 99, 352, 88, 351, 86, 351, 85, 337, 87, 333, 87, 332, 89, 319, 91, 313, 91, 312, 93, 302, 94, 288, 95, 273, 95, 258, 95, 243, 95, 228, 95, 213, 95, 202, 94, 194, 93, 193, 92, 179, 90, 174, 89, 173, 88, 164, 86, 162, 85, 155, 83, 149, 83, 146, 92, 144, 103, 143, 107, End, 211, 373, 214, 380, 221, 385, 228, 394, 233, 399, 232, 404, 221, 413, 211, 425, 213, 431, 219, 435, 219, 436, 229, 436, 233, 430, 247, 417, 252, 417, 257, 424, 265, 431, 270, 436, 280, 436, 287, 426, 284, 420, 269, 406, 265, 400, 273, 390, 287, 376, 287, 372, 278, 364, 278, 363, 270, 364, 257, 378, 253, 381, 244, 381, 234, 369, 232, 367, 226, 362, 220, 363, 211, 373, End, 225, 167, 225, 179, 230, 185, 236, 188, 248, 189, 263, 189, 263, 188, 268, 186, 274, 179, 274, 171, 273, 167, 265, 160, 259, 158, 259, 157, 254, 157, 239, 157, 239, 158, 235, 159, 225, 167, End, 232, 331, 233, 331, 248, 331, 263, 331, 264, 330, 260, 322, 253, 308, 250, 299, 247, 299, 245, 303, 238, 318, 235, 322, 232, 331, End, 305, 279, 308, 292, 313, 305, 322, 319, 336, 333, 342, 336, 346, 339, 354, 342, 355, 344, 360, 344, 375, 344, 390, 344, 402, 337, 412, 324, 416, 311, 416, 296, 414, 285, 409, 272, 401, 258, 391, 247, 385, 247, 378, 251, 368, 254, 368, 255, 356, 258, 355, 259, 352, 260, 340, 262, 340, 263, 326, 265, 316, 266, 316, 267, 306, 268, 305, 279, End, 340, 165, 345, 172, 352, 173, 367, 173, 367, 168, 365, 157, 362, 143, 357, 143, 355, 144, 346, 149, 341, 156, 340, 165, End, End }; short sempty[] = /* V009 */ { 499, 4, 499, 6, 505, 14, 512, 14, 512, 6, 511, 4, 499, 4, End, 428, 2, 428, 4, 435, 12, 449, 27, 463, 42, 476, 56, 490, 70, 504, 85, 511, 86, 511, 78, 509, 74, 495, 60, 481, 45, 467, 30, 454, 16, 440, 2, 428, 2, End, 358, 4, 367, 14, 381, 29, 394, 43, 408, 58, 422, 73, 436, 87, 449, 102, 458, 110, 472, 125, 485, 139, 493, 146, 503, 158, 510, 158, 510, 149, 504, 143, 490, 128, 476, 114, 462, 99, 448, 84, 434, 70, 421, 55, 412, 47, 399, 32, 385, 17, 372, 3, 365, 2, 365, 1, 359, 1, 359, 2, 358, 4, End, 287, 1, 290, 6, 303, 19, 316, 34, 330, 49, 344, 63, 358, 78, 372, 93, 386, 108, 400, 122, 413, 137, 427, 151, 441, 165, 455, 180, 469, 194, 483, 209, 497, 222, 502, 229, 510, 229, 509, 220, 500, 211, 486, 196, 471, 182, 457, 167, 443, 152, 429, 138, 415, 123, 401, 108, 387, 93, 373, 79, 359, 64, 346, 50, 333, 35, 328, 31, 315, 16, 301, 1, 287, 1, End, 219, 3, 227, 12, 241, 27, 254, 41, 268, 56, 281, 70, 295, 84, 308, 98, 322, 113, 336, 128, 350, 143, 363, 157, 377, 171, 391, 186, 405, 200, 419, 215, 433, 229, 447, 244, 461, 258, 474, 272, 489, 286, 502, 300, 509, 300, 509, 291, 508, 291, 494, 277, 480, 263, 466, 248, 452, 234, 448, 229, 434, 216, 420, 201, 406, 187, 392, 172, 378, 157, 364, 142, 350, 127, 336, 112, 322, 98, 308, 83, 295, 69, 282, 54, 273, 46, 260, 31, 246, 16, 233, 2, 228, 1, 228, 0, 221, 0, 219, 3, End, 150, 0, 150, 2, 155, 8, 169, 23, 182, 37, 196, 52, 209, 66, 223, 80, 237, 95, 250, 109, 264, 124, 278, 139, 292, 154, 306, 168, 316, 180, 330, 193, 343, 208, 353, 217, 366, 232, 379, 244, 393, 259, 406, 273, 419, 287, 434, 301, 448, 316, 462, 330, 476, 344, 490, 358, 504, 372, 510, 372, 509, 371, 509, 363, 495, 349, 481, 334, 466, 320, 452, 305, 438, 291, 424, 277, 411, 263, 397, 249, 383, 234, 369, 219, 355, 205, 341, 190, 327, 176, 313, 161, 299, 146, 285, 131, 272, 117, 258, 102, 244, 87, 230, 72, 216, 58, 203, 43, 189, 29, 176, 14, 162, 0, 150, 0, End, 81, 0, 82, 3, 86, 8, 100, 22, 114, 37, 128, 52, 141, 66, 155, 80, 169, 95, 182, 109, 196, 124, 210, 138, 224, 153, 238, 168, 252, 183, 266, 197, 280, 212, 294, 227, 308, 242, 322, 256, 335, 271, 349, 284, 362, 299, 376, 312, 390, 327, 397, 335, 409, 346, 423, 361, 437, 375, 451, 390, 466, 404, 480, 419, 495, 433, 504, 443, 511, 443, 510, 435, 499, 423, 485, 409, 470, 395, 456, 380, 442, 366, 428, 352, 414, 337, 400, 323, 386, 309, 372, 294, 358, 280, 344, 265, 330, 250, 316, 235, 302, 221, 288, 206, 274, 191, 260, 177, 247, 162, 233, 148, 219, 133, 205, 118, 191, 103, 177, 88, 164, 74, 150, 60, 136, 45, 122, 30, 108, 15, 94, 0, 81, 0, End, 10, 427, 10, 436, 20, 447, 34, 461, 48, 476, 62, 490, 75, 505, 88, 505, 85, 501, 71, 486, 57, 472, 43, 457, 29, 442, 15, 427, 10, 427, End, 9, 499, 9, 506, 18, 505, 14, 499, 9, 499, End, 15, 286, 16, 295, 22, 303, 37, 317, 51, 332, 65, 346, 79, 361, 93, 375, 107, 390, 121, 405, 135, 419, 149, 434, 163, 449, 177, 463, 191, 478, 205, 493, 218, 507, 231, 507, 228, 504, 215, 490, 201, 475, 187, 460, 173, 446, 159, 431, 145, 416, 132, 402, 118, 388, 104, 373, 91, 359, 77, 345, 63, 330, 49, 316, 35, 301, 21, 286, 15, 286, End, 15, 356, 15, 365, 24, 375, 38, 389, 51, 403, 65, 417, 79, 432, 93, 446, 107, 461, 121, 476, 135, 491, 149, 506, 163, 507, 159, 502, 146, 489, 132, 474, 118, 459, 104, 444, 90, 430, 76, 415, 62, 400, 48, 386, 34, 371, 20, 356, 15, 356, End, 19, 213, 19, 223, 27, 232, 41, 246, 55, 260, 69, 275, 83, 289, 97, 304, 111, 318, 125, 333, 138, 347, 152, 361, 166, 376, 180, 391, 194, 405, 208, 420, 222, 435, 236, 449, 250, 464, 264, 479, 278, 493, 291, 508, 305, 508, 302, 505, 288, 490, 274, 475, 260, 461, 246, 446, 232, 431, 218, 417, 204, 402, 190, 387, 176, 372, 162, 358, 148, 343, 134, 328, 121, 314, 107, 300, 94, 286, 80, 272, 66, 257, 52, 243, 38, 228, 24, 213, 19, 213, End, 22, 69, 22, 82, 37, 96, 51, 111, 65, 125, 78, 139, 92, 153, 106, 168, 120, 182, 134, 197, 148, 212, 162, 226, 176, 241, 190, 256, 203, 270, 208, 274, 217, 285, 226, 293, 240, 308, 254, 323, 268, 338, 282, 352, 296, 367, 309, 381, 323, 395, 336, 409, 350, 423, 364, 437, 378, 452, 392, 466, 406, 481, 420, 495, 434, 509, 448, 510, 445, 506, 430, 492, 416, 477, 402, 463, 388, 448, 374, 434, 360, 419, 346, 405, 332, 390, 318, 376, 304, 361, 290, 346, 276, 332, 262, 317, 248, 302, 234, 288, 220, 273, 206, 258, 192, 243, 178, 228, 164, 214, 150, 199, 137, 185, 123, 171, 109, 156, 96, 142, 82, 128, 68, 113, 54, 99, 40, 84, 26, 69, 22, 69, End, 21, 141, 22, 153, 36, 167, 50, 181, 63, 195, 77, 209, 90, 223, 104, 237, 117, 251, 131, 265, 145, 280, 159, 295, 173, 309, 187, 324, 201, 339, 215, 353, 229, 368, 243, 383, 256, 397, 270, 411, 284, 426, 298, 440, 308, 452, 323, 466, 337, 481, 351, 495, 363, 509, 376, 509, 376, 507, 369, 501, 359, 489, 345, 476, 331, 461, 317, 446, 303, 432, 289, 417, 275, 402, 262, 389, 248, 374, 234, 359, 220, 345, 206, 330, 192, 315, 178, 300, 164, 286, 150, 271, 136, 256, 123, 242, 109, 228, 96, 214, 82, 200, 68, 185, 54, 171, 40, 156, 26, 141, 21, 141, End, 23, 0, 23, 6, 24, 10, 37, 22, 50, 37, 64, 50, 77, 65, 91, 78, 105, 93, 119, 108, 133, 122, 147, 137, 161, 152, 175, 167, 189, 181, 203, 196, 217, 211, 231, 225, 245, 240, 259, 255, 272, 269, 286, 283, 300, 298, 313, 312, 327, 326, 340, 340, 354, 354, 367, 368, 381, 382, 395, 397, 409, 411, 423, 425, 436, 439, 451, 453, 465, 468, 480, 482, 494, 497, 508, 511, 519, 512, 517, 506, 505, 493, 490, 479, 477, 465, 462, 451, 449, 437, 434, 423, 420, 408, 406, 394, 392, 379, 378, 365, 364, 350, 350, 336, 336, 321, 322, 307, 308, 292, 294, 277, 280, 262, 266, 248, 252, 233, 238, 218, 224, 203, 210, 189, 196, 174, 182, 159, 169, 145, 155, 130, 141, 116, 127, 101, 113, 86, 99, 72, 87, 58, 73, 45, 59, 30, 45, 15, 31, 0, 23, 0, End, End }; short wpawn[] = /* V010 */ { 110, 36, 110, 46, 112, 54, 115, 63, 123, 76, 137, 90, 151, 100, 156, 102, 158, 105, 161, 105, 166, 108, 172, 110, 175, 112, 185, 115, 187, 116, 201, 119, 202, 121, 197, 129, 191, 142, 188, 156, 188, 186, 191, 200, 195, 213, 200, 228, 205, 241, 210, 254, 210, 269, 209, 272, 202, 274, 188, 274, 187, 274, 172, 274, 157, 274, 142, 274, 127, 274, 126, 275, 125, 287, 127, 299, 130, 309, 138, 322, 150, 336, 165, 347, 173, 351, 175, 352, 178, 354, 184, 356, 187, 358, 197, 361, 198, 362, 202, 364, 202, 391, 203, 398, 205, 403, 211, 418, 224, 431, 231, 435, 234, 437, 238, 438, 253, 438, 268, 438, 280, 431, 291, 419, 298, 406, 301, 394, 302, 391, 302, 376, 301, 364, 305, 361, 314, 359, 317, 357, 323, 355, 327, 353, 332, 351, 346, 342, 360, 329, 370, 315, 376, 300, 377, 291, 377, 276, 369, 275, 354, 275, 354, 274, 344, 273, 329, 273, 314, 273, 299, 273, 297, 269, 296, 256, 297, 251, 301, 240, 306, 227, 309, 220, 312, 213, 318, 200, 321, 188, 322, 176, 322, 161, 320, 148, 316, 135, 312, 129, 309, 121, 312, 119, 321, 117, 325, 115, 335, 112, 336, 111, 342, 109, 346, 107, 349, 106, 356, 102, 369, 94, 382, 82, 393, 67, 399, 52, 399, 37, 391, 37, 376, 37, 361, 37, 346, 37, 346, 36, 335, 36, 320, 36, 305, 36, 290, 36, 275, 36, 260, 36, 245, 36, 230, 36, 215, 36, 200, 36, 185, 36, 170, 36, 155, 36, 140, 36, 125, 36, 110, 36, End, 166, 65, 166, 69, 176, 77, 190, 85, 198, 88, 199, 89, 211, 92, 211, 93, 222, 95, 225, 97, 229, 99, 235, 107, 236, 119, 233, 126, 222, 140, 217, 154, 215, 167, 215, 182, 216, 190, 218, 199, 222, 211, 228, 225, 236, 240, 243, 255, 244, 266, 247, 266, 262, 266, 262, 253, 264, 245, 270, 234, 275, 225, 278, 220, 286, 206, 291, 193, 292, 178, 292, 163, 291, 155, 289, 147, 285, 137, 276, 125, 275, 111, 276, 107, 278, 103, 287, 96, 290, 95, 302, 93, 303, 92, 314, 89, 315, 87, 318, 87, 328, 82, 341, 74, 345, 68, 344, 67, 336, 66, 321, 66, 306, 66, 291, 66, 276, 66, 261, 66, 246, 66, 231, 66, 231, 65, 226, 65, 211, 65, 196, 65, 181, 65, 166, 65, End, 175, 308, 187, 321, 202, 331, 205, 332, 210, 335, 221, 338, 221, 339, 225, 340, 233, 341, 238, 342, 242, 348, 243, 356, 241, 363, 235, 370, 232, 379, 231, 389, 232, 395, 238, 405, 244, 409, 259, 409, 265, 405, 266, 405, 271, 396, 272, 383, 271, 377, 265, 368, 265, 354, 269, 347, 277, 341, 285, 340, 289, 338, 296, 336, 300, 334, 305, 332, 318, 323, 331, 309, 331, 304, 324, 304, 309, 304, 296, 304, 294, 304, 279, 304, 264, 304, 249, 304, 249, 303, 236, 303, 221, 303, 215, 303, 206, 303, 191, 303, 176, 303, 176, 304, 175, 308, End, End }; short wknight[] = /* V011 */ { 43, 211, 44, 219, 52, 234, 63, 245, 70, 249, 76, 264, 78, 267, 81, 273, 85, 283, 92, 297, 98, 311, 104, 323, 110, 337, 117, 351, 123, 365, 129, 379, 128, 392, 125, 406, 123, 417, 120, 431, 119, 435, 119, 449, 122, 451, 135, 451, 142, 443, 154, 434, 158, 434, 161, 442, 165, 457, 167, 465, 170, 471, 184, 471, 185, 469, 191, 463, 202, 454, 207, 448, 217, 439, 230, 438, 243, 437, 243, 436, 254, 435, 265, 433, 266, 432, 279, 429, 279, 428, 291, 425, 293, 423, 299, 421, 304, 418, 307, 417, 320, 410, 333, 402, 340, 396, 348, 391, 363, 377, 377, 363, 388, 349, 399, 334, 408, 319, 415, 305, 422, 291, 428, 276, 433, 263, 438, 249, 442, 235, 445, 222, 448, 210, 451, 196, 453, 185, 455, 172, 457, 158, 458, 150, 459, 138, 460, 126, 460, 111, 461, 111, 461, 51, 460, 38, 458, 37, 443, 37, 428, 37, 413, 37, 398, 37, 383, 37, 368, 37, 353, 37, 338, 37, 323, 37, 308, 37, 293, 37, 278, 37, 263, 37, 261, 35, 246, 35, 231, 35, 216, 35, 201, 35, 186, 35, 171, 35, 156, 35, 145, 35, 143, 39, 143, 69, 146, 84, 150, 98, 156, 113, 164, 127, 175, 142, 176, 143, 188, 157, 202, 169, 216, 181, 230, 193, 231, 195, 216, 195, 201, 195, 187, 185, 174, 176, 160, 166, 154, 161, 151, 154, 144, 150, 143, 149, 138, 148, 138, 147, 125, 148, 119, 148, 110, 148, 110, 147, 101, 144, 99, 143, 94, 142, 79, 142, 76, 143, 75, 144, 69, 146, 69, 147, 62, 151, 58, 165, 54, 178, 49, 193, 44, 208, 43, 211, End, 78, 208, 79, 216, 92, 226, 100, 240, 106, 254, 113, 269, 119, 283, 126, 297, 132, 311, 139, 326, 146, 341, 152, 355, 153, 357, 159, 369, 165, 382, 168, 389, 168, 390, 183, 390, 198, 390, 201, 392, 200, 396, 186, 408, 185, 410, 200, 410, 215, 410, 230, 410, 239, 409, 252, 407, 256, 406, 260, 404, 267, 403, 269, 402, 270, 401, 278, 398, 286, 394, 299, 387, 314, 377, 329, 365, 343, 352, 356, 337, 368, 323, 377, 309, 385, 295, 392, 281, 398, 268, 403, 256, 408, 241, 412, 228, 416, 214, 419, 202, 422, 190, 424, 179, 425, 170, 426, 162, 427, 150, 428, 139, 428, 124, 429, 122, 429, 107, 430, 99, 430, 70, 415, 70, 401, 69, 400, 68, 385, 68, 370, 68, 355, 68, 340, 68, 325, 68, 310, 68, 298, 67, 283, 67, 268, 67, 253, 67, 238, 67, 223, 67, 208, 67, 193, 67, 178, 67, 176, 68, 177, 78, 182, 93, 188, 106, 197, 121, 208, 135, 222, 149, 236, 161, 251, 173, 265, 185, 274, 193, 274, 238, 272, 244, 267, 248, 252, 248, 240, 236, 238, 233, 230, 229, 226, 228, 226, 227, 211, 227, 200, 230, 193, 235, 186, 235, 185, 221, 171, 211, 158, 202, 144, 193, 132, 185, 128, 183, 113, 183, 104, 182, 99, 177, 94, 176, 88, 176, 84, 189, 80, 202, 78, 208, End, 153, 282, 154, 291, 161, 305, 166, 317, 179, 317, 194, 317, 199, 317, 209, 317, 210, 309, 208, 306, 199, 304, 200, 303, 188, 291, 178, 288, 177, 286, 167, 286, 163, 280, 156, 280, 153, 282, End, End }; short wbishop[] = /* V012 */ { 33, 59, 34, 74, 40, 88, 51, 101, 56, 103, 58, 105, 63, 105, 64, 106, 79, 106, 89, 106, 90, 105, 94, 104, 95, 103, 109, 101, 118, 100, 118, 99, 130, 98, 145, 98, 156, 98, 157, 101, 157, 176, 156, 185, 144, 199, 136, 213, 131, 224, 128, 236, 127, 240, 126, 249, 126, 264, 127, 277, 129, 289, 132, 301, 137, 316, 144, 330, 152, 344, 158, 354, 161, 359, 170, 373, 179, 387, 187, 400, 194, 413, 193, 419, 189, 426, 188, 431, 188, 446, 193, 458, 201, 466, 204, 467, 207, 467, 219, 467, 228, 467, 238, 458, 240, 454, 243, 448, 244, 443, 244, 428, 242, 420, 240, 418, 240, 412, 249, 407, 252, 403, 256, 401, 263, 405, 272, 415, 269, 426, 267, 431, 267, 446, 273, 461, 280, 466, 283, 469, 286, 470, 301, 470, 307, 470, 309, 467, 316, 462, 322, 450, 323, 444, 323, 429, 316, 415, 317, 410, 329, 398, 339, 383, 349, 369, 355, 357, 356, 356, 361, 343, 365, 334, 369, 319, 372, 307, 374, 296, 376, 282, 376, 237, 375, 228, 373, 214, 370, 200, 366, 186, 362, 173, 357, 160, 355, 154, 355, 109, 356, 98, 360, 97, 370, 97, 375, 97, 390, 97, 404, 98, 413, 99, 413, 100, 428, 100, 443, 100, 453, 99, 463, 94, 472, 84, 477, 74, 479, 66, 479, 51, 478, 41, 475, 31, 470, 22, 469, 21, 469, 20, 458, 23, 458, 24, 447, 26, 442, 27, 442, 28, 433, 29, 418, 29, 403, 29, 388, 29, 373, 29, 358, 29, 346, 30, 331, 30, 328, 32, 318, 33, 307, 34, 301, 35, 300, 36, 289, 39, 289, 40, 279, 43, 277, 45, 273, 46, 267, 50, 258, 56, 249, 55, 235, 46, 230, 44, 227, 42, 220, 40, 216, 38, 205, 36, 205, 35, 196, 34, 188, 34, 181, 34, 166, 34, 151, 34, 136, 34, 126, 34, 121, 34, 106, 34, 94, 33, 84, 32, 84, 31, 69, 29, 65, 28, 65, 27, 53, 24, 53, 23, 44, 23, 38, 35, 35, 47, 34, 51, 33, 59, End, 63, 61, 63, 68, 68, 75, 79, 75, 94, 75, 104, 74, 116, 73, 116, 72, 130, 71, 137, 70, 152, 70, 150, 68, 147, 67, 140, 66, 125, 65, 110, 65, 95, 65, 80, 65, 80, 64, 70, 62, 70, 61, 63, 61, End, 158, 253, 158, 268, 160, 283, 163, 297, 168, 312, 175, 327, 183, 341, 192, 355, 201, 369, 211, 384, 215, 389, 226, 389, 229, 385, 244, 373, 258, 358, 270, 344, 281, 329, 290, 314, 297, 302, 302, 289, 307, 277, 311, 263, 314, 252, 317, 238, 318, 226, 319, 218, 319, 203, 317, 202, 317, 201, 309, 202, 295, 203, 280, 203, 265, 203, 250, 203, 235, 203, 220, 203, 205, 203, 201, 202, 201, 201, 190, 200, 188, 200, 179, 200, 170, 213, 164, 226, 160, 240, 159, 244, 159, 253, 158, 253, End, 188, 136, 188, 166, 190, 168, 194, 169, 201, 170, 201, 171, 209, 172, 221, 173, 236, 173, 237, 173, 251, 173, 266, 173, 281, 173, 296, 173, 298, 172, 307, 171, 307, 170, 317, 169, 323, 168, 325, 165, 325, 131, 312, 132, 302, 133, 293, 134, 293, 135, 278, 135, 263, 135, 248, 135, 233, 135, 218, 135, 217, 134, 205, 134, 198, 133, 189, 133, 188, 136, End, 207, 443, 209, 448, 221, 449, 225, 444, 226, 431, 221, 425, 214, 425, 208, 432, 207, 443, End, 217, 94, 217, 97, 222, 99, 222, 100, 226, 101, 236, 102, 251, 102, 266, 102, 281, 102, 292, 100, 292, 99, 296, 98, 297, 95, 293, 93, 287, 92, 287, 91, 274, 89, 274, 88, 268, 88, 253, 88, 238, 88, 238, 89, 225, 91, 225, 92, 217, 94, End, 237, 159, 239, 165, 246, 169, 261, 169, 264, 168, 270, 162, 270, 153, 268, 149, 263, 146, 261, 144, 246, 144, 238, 150, 237, 159, End, 280, 377, 280, 384, 282, 384, 287, 391, 297, 391, 302, 387, 312, 372, 322, 358, 329, 343, 335, 329, 338, 319, 342, 305, 343, 298, 345, 289, 346, 281, 347, 270, 343, 270, 341, 277, 336, 291, 331, 304, 324, 318, 316, 332, 307, 346, 296, 360, 284, 375, 280, 377, End, 286, 443, 288, 449, 301, 450, 305, 446, 305, 433, 299, 426, 294, 426, 292, 427, 287, 432, 286, 443, End, 370, 61, 370, 64, 376, 64, 391, 64, 406, 65, 406, 66, 415, 67, 430, 68, 445, 68, 448, 67, 449, 59, 434, 59, 419, 59, 404, 59, 404, 58, 402, 58, 387, 58, 386, 60, 377, 60, 370, 61, End, End }; short wrook[] = /* V013 */ { 93, 34, 93, 97, 94, 100, 99, 105, 110, 120, 113, 132, 117, 145, 124, 151, 126, 153, 132, 160, 146, 172, 146, 319, 145, 322, 136, 332, 123, 347, 109, 360, 107, 366, 107, 441, 115, 441, 130, 441, 137, 441, 145, 441, 160, 441, 175, 441, 175, 440, 177, 433, 181, 420, 184, 414, 196, 413, 196, 414, 198, 415, 200, 422, 205, 435, 209, 448, 217, 447, 232, 447, 247, 447, 262, 447, 277, 447, 292, 447, 294, 443, 300, 428, 307, 414, 319, 414, 322, 415, 327, 428, 333, 442, 337, 442, 352, 442, 367, 442, 382, 442, 397, 442, 397, 364, 396, 360, 395, 359, 381, 344, 375, 339, 366, 328, 362, 326, 362, 223, 363, 223, 363, 178, 366, 174, 378, 160, 391, 145, 393, 137, 399, 123, 411, 109, 421, 94, 421, 79, 422, 64, 422, 34, 408, 34, 393, 34, 378, 34, 363, 34, 348, 34, 333, 34, 318, 34, 303, 34, 288, 34, 273, 34, 258, 34, 243, 34, 228, 34, 213, 34, 198, 34, 183, 34, 168, 34, 153, 34, 138, 34, 123, 34, 108, 34, 107, 34, 93, 34, End, 124, 65, 124, 84, 127, 91, 137, 104, 140, 118, 144, 130, 155, 140, 165, 147, 166, 150, 181, 150, 196, 150, 211, 150, 226, 150, 241, 150, 256, 150, 271, 150, 286, 150, 301, 150, 316, 150, 331, 150, 346, 150, 351, 143, 366, 129, 368, 122, 370, 117, 373, 106, 375, 103, 387, 88, 388, 83, 388, 68, 385, 65, 379, 65, 364, 65, 349, 65, 334, 65, 319, 65, 304, 65, 289, 65, 274, 65, 259, 65, 244, 65, 229, 65, 214, 65, 199, 65, 184, 65, 169, 65, 154, 65, 139, 65, 124, 65, End, 137, 382, 137, 412, 138, 412, 153, 412, 155, 409, 159, 394, 163, 382, 173, 382, 188, 382, 203, 382, 218, 382, 220, 389, 225, 402, 230, 416, 242, 416, 257, 416, 272, 416, 275, 411, 281, 396, 287, 383, 298, 382, 313, 382, 328, 382, 343, 382, 346, 386, 350, 400, 354, 412, 367, 412, 367, 373, 362, 368, 361, 368, 356, 361, 350, 357, 340, 345, 326, 344, 311, 344, 311, 343, 303, 343, 288, 343, 273, 343, 258, 343, 243, 343, 228, 343, 213, 343, 198, 343, 183, 343, 176, 343, 168, 343, 164, 345, 151, 359, 138, 373, 137, 382, End, 176, 193, 176, 313, 184, 313, 199, 313, 214, 313, 229, 313, 244, 313, 259, 313, 274, 313, 289, 313, 304, 313, 319, 313, 334, 313, 334, 182, 331, 182, 331, 181, 329, 181, 314, 181, 299, 181, 284, 181, 269, 181, 254, 181, 239, 181, 224, 181, 209, 181, 194, 181, 179, 181, 177, 183, 176, 193, End, End }; short wqueen[] = /* V014 */ { 28, 326, 32, 338, 42, 348, 48, 348, 49, 348, 63, 348, 69, 346, 80, 338, 88, 323, 89, 315, 89, 300, 93, 299, 96, 296, 99, 296, 104, 293, 110, 291, 113, 288, 114, 288, 119, 287, 121, 285, 127, 283, 130, 281, 136, 279, 141, 276, 150, 274, 150, 275, 153, 287, 156, 301, 158, 312, 160, 322, 163, 336, 165, 347, 168, 362, 169, 372, 158, 380, 149, 395, 147, 403, 147, 418, 148, 423, 151, 434, 159, 444, 165, 447, 167, 450, 172, 450, 178, 450, 193, 450, 200, 446, 210, 436, 217, 422, 218, 415, 218, 400, 215, 389, 211, 383, 210, 378, 212, 374, 219, 360, 227, 346, 234, 332, 242, 317, 249, 304, 254, 304, 257, 309, 260, 315, 267, 328, 273, 341, 276, 345, 283, 360, 291, 374, 293, 382, 288, 394, 287, 403, 287, 418, 288, 423, 290, 429, 298, 442, 311, 451, 320, 451, 334, 451, 335, 451, 343, 447, 351, 439, 357, 427, 358, 417, 358, 402, 354, 390, 343, 376, 335, 372, 334, 367, 335, 362, 338, 350, 341, 336, 344, 323, 347, 311, 350, 299, 353, 287, 356, 275, 360, 274, 374, 283, 387, 292, 401, 301, 416, 311, 416, 323, 420, 335, 429, 346, 437, 350, 438, 351, 444, 352, 459, 352, 463, 351, 469, 347, 476, 335, 477, 320, 475, 312, 468, 300, 459, 293, 451, 290, 450, 289, 440, 288, 438, 287, 435, 280, 430, 267, 427, 256, 422, 243, 417, 228, 412, 213, 407, 198, 403, 185, 402, 176, 401, 165, 400, 150, 399, 138, 398, 124, 397, 109, 396, 94, 395, 92, 395, 77, 394, 70, 393, 68, 378, 58, 374, 57, 372, 55, 366, 53, 362, 51, 355, 49, 351, 47, 339, 44, 338, 43, 334, 42, 322, 40, 321, 38, 314, 38, 306, 37, 293, 36, 293, 35, 287, 34, 286, 34, 271, 34, 256, 34, 241, 34, 226, 34, 226, 35, 211, 35, 211, 36, 202, 37, 195, 38, 186, 39, 186, 40, 179, 41, 169, 43, 167, 44, 154, 47, 154, 48, 147, 49, 143, 51, 142, 52, 136, 54, 133, 56, 130, 57, 123, 62, 122, 65, 120, 78, 118, 91, 117, 100, 116, 105, 115, 114, 113, 125, 112, 134, 111, 141, 109, 154, 107, 169, 106, 173, 105, 181, 104, 186, 102, 192, 97, 204, 91, 219, 85, 232, 79, 247, 72, 262, 70, 265, 65, 279, 61, 284, 58, 286, 50, 288, 47, 290, 43, 292, 34, 301, 29, 313, 28, 326, End, 49, 314, 49, 325, 64, 325, 68, 320, 68, 312, 64, 307, 58, 307, 56, 308, 49, 314, End, 113, 252, 121, 252, 121, 251, 132, 246, 140, 242, 153, 235, 165, 229, 164, 226, 156, 224, 154, 223, 143, 220, 142, 219, 138, 217, 136, 217, 136, 216, 128, 216, 124, 225, 118, 238, 113, 252, End, 138, 176, 138, 183, 145, 185, 145, 186, 157, 189, 157, 190, 168, 192, 172, 193, 173, 194, 187, 196, 194, 197, 195, 198, 206, 199, 219, 200, 231, 200, 234, 200, 249, 200, 264, 200, 279, 200, 294, 200, 309, 200, 311, 199, 320, 198, 320, 197, 335, 195, 340, 195, 341, 193, 347, 191, 352, 191, 356, 190, 356, 189, 367, 186, 373, 183, 373, 175, 369, 174, 369, 173, 359, 172, 354, 170, 347, 163, 347, 148, 356, 140, 362, 138, 362, 137, 369, 135, 369, 122, 358, 125, 354, 127, 343, 129, 343, 130, 330, 132, 324, 133, 324, 134, 315, 135, 306, 136, 297, 137, 296, 138, 281, 138, 266, 138, 251, 138, 236, 138, 221, 138, 218, 137, 204, 136, 196, 135, 189, 134, 189, 133, 176, 131, 172, 130, 171, 129, 157, 126, 157, 125, 153, 124, 148, 124, 146, 124, 145, 127, 145, 135, 151, 137, 160, 143, 164, 148, 165, 152, 164, 163, 159, 168, 154, 171, 148, 172, 145, 172, 140, 173, 138, 176, End, 148, 83, 148, 85, 151, 88, 162, 91, 162, 92, 176, 95, 178, 96, 182, 97, 196, 99, 196, 100, 204, 101, 219, 102, 234, 102, 249, 102, 264, 102, 279, 102, 294, 102, 303, 101, 312, 100, 312, 99, 319, 98, 333, 96, 333, 95, 338, 94, 349, 92, 349, 91, 359, 88, 358, 85, 356, 85, 350, 82, 344, 81, 340, 79, 327, 76, 325, 75, 313, 73, 304, 72, 303, 70, 293, 70, 278, 69, 278, 68, 277, 68, 262, 68, 247, 68, 232, 68, 217, 68, 217, 69, 205, 70, 195, 71, 194, 72, 187, 73, 174, 75, 173, 76, 159, 79, 158, 80, 148, 83, End, 172, 404, 172, 419, 174, 423, 189, 423, 193, 418, 194, 406, 193, 402, 188, 397, 180, 397, 174, 402, 172, 404, End, 174, 230, 176, 239, 179, 254, 182, 267, 185, 282, 188, 295, 191, 309, 194, 323, 195, 326, 201, 326, 202, 324, 210, 310, 218, 295, 226, 280, 234, 266, 241, 252, 248, 238, 247, 236, 233, 235, 231, 234, 216, 234, 202, 233, 201, 231, 193, 231, 184, 230, 184, 229, 176, 229, 174, 230, End, 231, 164, 231, 178, 236, 185, 242, 188, 248, 189, 263, 189, 264, 187, 268, 187, 277, 179, 277, 167, 276, 163, 267, 156, 260, 154, 260, 153, 250, 153, 248, 154, 241, 156, 231, 164, End, 257, 237, 257, 240, 262, 250, 269, 264, 277, 279, 285, 294, 292, 308, 300, 323, 304, 332, 310, 332, 313, 320, 316, 307, 319, 293, 322, 280, 325, 266, 326, 264, 328, 253, 331, 241, 332, 231, 323, 231, 323, 232, 314, 233, 300, 234, 297, 236, 282, 236, 272, 237, 257, 237, End, 311, 417, 315, 424, 329, 424, 333, 422, 333, 408, 332, 405, 326, 398, 318, 398, 312, 403, 311, 417, End, 350, 226, 350, 227, 351, 229, 355, 231, 363, 238, 371, 242, 385, 252, 394, 252, 391, 245, 386, 231, 381, 217, 373, 217, 373, 218, 366, 220, 365, 221, 354, 224, 353, 225, 350, 226, End, 437, 314, 437, 325, 442, 332, 454, 332, 457, 329, 457, 319, 450, 311, 441, 311, 437, 314, End, End }; short wking[] = /* V015 */ { 32, 291, 32, 321, 34, 331, 38, 345, 46, 359, 57, 373, 61, 375, 64, 378, 66, 381, 76, 387, 81, 389, 84, 391, 94, 394, 94, 395, 98, 396, 108, 397, 123, 397, 138, 397, 152, 395, 153, 394, 165, 391, 166, 390, 175, 387, 176, 385, 179, 385, 185, 381, 193, 379, 193, 465, 199, 465, 214, 465, 224, 465, 229, 465, 234, 465, 244, 465, 259, 465, 274, 465, 289, 465, 304, 465, 319, 465, 319, 403, 320, 403, 320, 383, 328, 385, 330, 387, 336, 389, 339, 391, 346, 393, 350, 395, 363, 398, 364, 400, 378, 400, 393, 400, 408, 400, 415, 399, 416, 398, 428, 395, 429, 394, 440, 389, 451, 381, 465, 367, 474, 353, 479, 340, 483, 325, 483, 295, 482, 289, 479, 276, 474, 262, 467, 247, 457, 232, 445, 217, 431, 203, 424, 198, 422, 195, 413, 190, 410, 187, 408, 179, 405, 164, 403, 154, 401, 143, 399, 132, 397, 122, 395, 111, 393, 100, 391, 87, 388, 75, 386, 71, 371, 61, 366, 59, 364, 57, 358, 55, 355, 53, 345, 50, 344, 49, 332, 46, 332, 45, 328, 44, 315, 42, 315, 41, 309, 40, 300, 39, 289, 38, 289, 37, 282, 36, 267, 36, 252, 36, 237, 36, 234, 37, 219, 37, 219, 38, 208, 39, 194, 41, 193, 42, 188, 43, 177, 45, 176, 46, 164, 49, 164, 50, 154, 53, 154, 54, 150, 55, 139, 61, 124, 72, 121, 82, 119, 91, 116, 105, 113, 119, 110, 131, 108, 142, 106, 149, 103, 162, 100, 176, 97, 188, 89, 194, 75, 206, 62, 221, 52, 235, 44, 250, 38, 265, 34, 279, 32, 291, End, 61, 302, 61, 317, 62, 323, 68, 336, 78, 351, 90, 360, 105, 367, 113, 368, 128, 368, 143, 368, 153, 366, 154, 365, 161, 363, 164, 361, 171, 358, 186, 348, 199, 336, 211, 321, 220, 306, 226, 291, 229, 278, 229, 248, 228, 244, 226, 244, 212, 243, 211, 242, 203, 241, 193, 240, 185, 239, 185, 238, 179, 237, 167, 235, 166, 234, 153, 231, 151, 230, 140, 227, 139, 226, 133, 224, 132, 224, 129, 221, 126, 221, 119, 217, 117, 215, 114, 215, 107, 220, 93, 232, 81, 247, 72, 262, 66, 277, 62, 292, 61, 302, End, 133, 182, 133, 187, 138, 190, 146, 192, 149, 194, 158, 196, 158, 197, 169, 199, 174, 200, 174, 201, 188, 203, 195, 204, 195, 205, 205, 206, 213, 207, 222, 207, 228, 207, 228, 209, 243, 209, 258, 209, 273, 209, 288, 209, 297, 208, 310, 207, 321, 206, 328, 206, 329, 204, 336, 203, 344, 202, 348, 201, 349, 200, 363, 197, 363, 196, 372, 194, 376, 191, 375, 182, 373, 180, 358, 180, 349, 177, 340, 171, 336, 162, 337, 148, 344, 139, 357, 131, 364, 129, 363, 118, 363, 117, 350, 119, 346, 120, 345, 121, 333, 123, 328, 124, 328, 125, 320, 126, 312, 127, 303, 127, 302, 129, 287, 129, 272, 129, 257, 129, 242, 129, 227, 129, 215, 128, 205, 127, 191, 125, 189, 124, 177, 122, 172, 121, 171, 120, 161, 118, 161, 117, 156, 116, 149, 116, 147, 120, 147, 126, 151, 128, 164, 135, 171, 145, 172, 150, 171, 163, 166, 170, 160, 174, 150, 176, 150, 177, 147, 177, 135, 177, 133, 182, End, 161, 83, 163, 85, 166, 86, 177, 88, 177, 89, 181, 90, 196, 92, 196, 93, 203, 94, 211, 95, 223, 96, 225, 97, 240, 97, 255, 97, 270, 97, 285, 97, 300, 97, 300, 96, 311, 95, 319, 94, 327, 93, 328, 91, 332, 91, 344, 89, 344, 88, 349, 87, 353, 86, 353, 83, 347, 82, 344, 80, 340, 79, 329, 77, 329, 76, 324, 75, 309, 73, 308, 71, 297, 71, 283, 70, 283, 69, 281, 69, 266, 69, 251, 69, 236, 69, 221, 69, 221, 70, 210, 71, 199, 72, 199, 73, 193, 74, 184, 75, 179, 76, 177, 77, 163, 80, 161, 83, End, 222, 171, 225, 182, 233, 189, 240, 192, 254, 193, 269, 193, 270, 192, 273, 191, 279, 187, 287, 178, 287, 164, 286, 161, 281, 154, 274, 150, 270, 147, 264, 146, 264, 145, 261, 145, 246, 145, 246, 146, 241, 147, 231, 152, 223, 163, 222, 171, End, 224, 379, 224, 422, 228, 421, 232, 418, 246, 404, 247, 399, 242, 394, 235, 386, 228, 379, 224, 379, End, 234, 436, 238, 436, 253, 436, 268, 436, 283, 436, 274, 426, 268, 419, 260, 411, 256, 411, 250, 418, 235, 432, 234, 436, End, 235, 366, 235, 370, 238, 373, 251, 388, 261, 388, 264, 386, 278, 372, 279, 367, 271, 367, 271, 366, 265, 366, 250, 366, 239, 366, 235, 366, End, 239, 333, 240, 333, 255, 333, 270, 333, 270, 331, 263, 318, 257, 303, 252, 303, 252, 304, 247, 314, 240, 328, 239, 333, End, 268, 399, 268, 403, 270, 406, 283, 420, 290, 420, 290, 382, 285, 382, 280, 387, 275, 393, 268, 399, End, 280, 249, 280, 264, 281, 271, 283, 280, 286, 293, 290, 305, 295, 313, 300, 323, 309, 334, 322, 348, 337, 359, 346, 363, 352, 366, 362, 369, 362, 371, 376, 371, 391, 371, 406, 371, 410, 370, 412, 369, 421, 366, 421, 365, 426, 363, 440, 351, 449, 336, 454, 322, 454, 307, 453, 296, 451, 287, 447, 274, 440, 261, 429, 246, 416, 232, 401, 219, 395, 219, 388, 223, 382, 225, 379, 227, 368, 230, 368, 231, 355, 234, 354, 235, 350, 236, 336, 238, 336, 239, 330, 240, 321, 241, 309, 242, 308, 243, 296, 244, 281, 245, 280, 249, End, End }; short spawn[] = /* V017 */ { 499, 4, 499, 6, 504, 13, 512, 13, 511, 6, 510, 4, 499, 4, End, 286, 1, 286, 3, 296, 14, 311, 14, 309, 12, 299, 1, 286, 1, End, 218, 0, 218, 3, 227, 14, 242, 14, 241, 12, 232, 2, 228, 1, 228, 0, 218, 0, End, 359, 3, 360, 4, 369, 15, 384, 15, 383, 13, 374, 3, 367, 2, 367, 1, 362, 1, 359, 3, End, 150, 0, 151, 3, 162, 15, 176, 16, 176, 14, 163, 0, 150, 0, End, 80, 0, 81, 3, 93, 15, 107, 16, 107, 14, 94, 0, 80, 0, End, 435, 4, 441, 11, 455, 26, 469, 41, 483, 55, 497, 70, 510, 84, 517, 84, 517, 78, 515, 75, 501, 60, 487, 45, 473, 30, 460, 16, 446, 2, 436, 2, 435, 4, End, 425, 67, 427, 70, 441, 84, 455, 99, 469, 113, 483, 128, 497, 142, 510, 156, 517, 156, 517, 150, 513, 144, 499, 130, 485, 116, 471, 101, 458, 87, 444, 73, 431, 58, 427, 58, 426, 60, 425, 67, End, 19, 0, 19, 7, 30, 18, 44, 33, 58, 47, 72, 62, 86, 76, 100, 91, 114, 105, 128, 120, 141, 134, 155, 148, 169, 163, 183, 178, 189, 179, 188, 170, 186, 166, 172, 151, 158, 137, 144, 122, 131, 108, 117, 94, 107, 82, 93, 69, 80, 54, 70, 45, 56, 30, 42, 15, 28, 0, 19, 0, End, 397, 104, 397, 108, 408, 119, 422, 134, 435, 148, 449, 162, 462, 176, 476, 190, 490, 205, 505, 219, 511, 227, 519, 227, 518, 220, 515, 216, 501, 202, 488, 188, 474, 175, 460, 160, 446, 145, 433, 131, 419, 117, 406, 102, 400, 102, 397, 104, End, 22, 68, 22, 79, 24, 82, 38, 97, 53, 111, 67, 126, 81, 140, 94, 154, 108, 168, 121, 182, 135, 196, 149, 211, 162, 225, 176, 239, 189, 254, 204, 254, 190, 240, 176, 225, 162, 210, 148, 195, 134, 181, 120, 166, 106, 151, 100, 146, 88, 132, 77, 122, 67, 110, 54, 98, 40, 83, 26, 68, 22, 68, End, 331, 247, 331, 256, 334, 260, 348, 260, 348, 259, 337, 247, 331, 247, End, 25, 141, 25, 151, 34, 161, 48, 175, 62, 190, 76, 204, 89, 218, 102, 230, 116, 245, 129, 259, 143, 259, 142, 258, 128, 243, 114, 229, 100, 214, 86, 199, 72, 185, 58, 171, 44, 156, 30, 141, 25, 141, End, 355, 129, 355, 131, 363, 140, 377, 155, 390, 169, 404, 183, 417, 197, 431, 211, 444, 225, 458, 239, 471, 253, 485, 267, 498, 281, 506, 288, 516, 300, 524, 300, 523, 291, 520, 289, 506, 274, 492, 260, 477, 245, 463, 230, 449, 216, 435, 201, 421, 187, 407, 172, 393, 157, 379, 142, 365, 127, 360, 127, 360, 128, 355, 129, End, 356, 203, 364, 212, 378, 226, 392, 241, 406, 256, 420, 270, 434, 285, 448, 299, 462, 313, 476, 328, 490, 342, 504, 356, 518, 370, 524, 371, 524, 365, 522, 360, 507, 346, 493, 332, 479, 317, 470, 309, 457, 294, 443, 281, 434, 270, 419, 256, 405, 241, 391, 226, 377, 211, 363, 196, 358, 196, 356, 203, End, 27, 212, 28, 223, 31, 226, 45, 241, 59, 255, 72, 269, 86, 283, 99, 297, 113, 311, 127, 325, 141, 340, 155, 355, 169, 369, 183, 384, 197, 399, 210, 413, 217, 413, 215, 405, 213, 402, 200, 388, 187, 373, 178, 365, 164, 350, 150, 335, 136, 321, 122, 306, 108, 291, 101, 285, 88, 270, 74, 256, 60, 242, 46, 227, 32, 212, 27, 212, End, 409, 324, 409, 329, 422, 342, 435, 356, 449, 370, 463, 384, 477, 399, 491, 412, 505, 427, 519, 441, 526, 442, 526, 435, 515, 423, 500, 409, 486, 394, 472, 380, 458, 366, 444, 352, 430, 337, 416, 322, 411, 322, 409, 324, End, 24, 499, 24, 504, 34, 504, 30, 499, 24, 499, End, 28, 427, 28, 437, 40, 448, 54, 463, 67, 477, 81, 491, 94, 505, 107, 505, 106, 504, 99, 497, 85, 482, 72, 468, 58, 454, 44, 439, 33, 427, 28, 427, End, 31, 284, 32, 294, 45, 307, 59, 321, 65, 329, 72, 334, 81, 345, 95, 358, 109, 373, 123, 388, 137, 403, 151, 417, 165, 432, 179, 446, 193, 461, 207, 476, 221, 491, 235, 506, 248, 507, 247, 506, 241, 499, 228, 485, 214, 471, 200, 456, 186, 441, 172, 426, 159, 412, 145, 398, 131, 383, 118, 369, 104, 355, 90, 340, 77, 326, 64, 314, 50, 299, 36, 284, 31, 284, End, 31, 355, 32, 364, 33, 366, 47, 380, 61, 395, 75, 409, 89, 424, 103, 438, 117, 452, 131, 467, 145, 482, 160, 497, 168, 507, 180, 507, 180, 506, 174, 500, 160, 485, 147, 471, 133, 457, 119, 442, 106, 428, 92, 414, 78, 399, 64, 385, 50, 370, 36, 355, 31, 355, End, 260, 454, 261, 456, 270, 466, 283, 480, 297, 494, 309, 508, 322, 508, 322, 507, 321, 507, 312, 497, 298, 483, 285, 468, 270, 454, 260, 454, End, 379, 360, 380, 362, 386, 369, 400, 383, 414, 398, 428, 412, 442, 427, 456, 441, 470, 455, 484, 469, 497, 483, 512, 497, 524, 510, 534, 510, 534, 507, 528, 501, 514, 487, 500, 472, 485, 458, 477, 448, 467, 440, 456, 427, 441, 413, 427, 398, 414, 384, 401, 372, 389, 358, 382, 358, 379, 360, End, 349, 403, 354, 407, 368, 422, 382, 436, 396, 451, 411, 466, 425, 481, 440, 495, 454, 510, 466, 510, 466, 508, 459, 503, 454, 496, 439, 482, 425, 467, 411, 453, 397, 438, 383, 424, 369, 409, 355, 394, 351, 394, 351, 395, 349, 403, End, 325, 444, 325, 447, 330, 453, 343, 467, 357, 481, 370, 495, 384, 509, 396, 510, 396, 508, 389, 501, 375, 487, 361, 472, 347, 457, 333, 442, 328, 442, 325, 444, End, End }; short sknight[] = /* V018 */ { 494, 2, 494, 3, 500, 10, 508, 10, 507, 1, 503, 1, 503, 0, 497, 0, 494, 2, End, 423, 0, 423, 2, 434, 14, 449, 14, 448, 12, 436, 0, 423, 0, End, 353, 0, 353, 1, 364, 14, 379, 14, 378, 12, 367, 0, 353, 0, End, 283, 0, 286, 5, 296, 14, 311, 14, 309, 12, 298, 0, 283, 0, End, 214, 0, 215, 3, 226, 14, 241, 14, 228, 0, 214, 0, End, 146, 0, 146, 2, 158, 15, 173, 16, 172, 13, 159, 0, 146, 0, End, 77, 0, 77, 3, 86, 13, 96, 22, 105, 33, 119, 46, 132, 61, 138, 61, 138, 51, 131, 43, 117, 28, 104, 14, 89, 0, 77, 0, End, 484, 48, 485, 59, 493, 68, 506, 82, 513, 82, 513, 73, 512, 70, 502, 62, 489, 48, 484, 48, End, 14, 69, 14, 80, 15, 83, 30, 97, 44, 112, 59, 126, 61, 130, 74, 130, 74, 126, 73, 126, 60, 111, 47, 99, 33, 84, 19, 69, 14, 69, End, 14, 0, 14, 8, 23, 18, 37, 32, 51, 47, 66, 61, 80, 76, 94, 90, 108, 105, 122, 119, 135, 133, 150, 133, 147, 129, 133, 115, 120, 101, 106, 87, 92, 72, 79, 58, 65, 44, 52, 30, 38, 16, 25, 2, 23, 2, 21, 0, 14, 0, End, 485, 118, 486, 129, 495, 139, 509, 153, 516, 154, 515, 144, 505, 133, 491, 118, 485, 118, End, 17, 143, 18, 153, 19, 156, 26, 161, 31, 168, 38, 173, 43, 180, 52, 180, 52, 174, 51, 173, 37, 158, 23, 143, 17, 143, End, 482, 185, 482, 196, 496, 210, 510, 224, 517, 225, 517, 217, 515, 214, 501, 200, 487, 185, 482, 185, End, 21, 215, 21, 225, 33, 237, 47, 252, 53, 252, 51, 248, 48, 239, 40, 230, 26, 215, 21, 215, End, 470, 244, 470, 253, 481, 265, 490, 273, 496, 281, 503, 286, 512, 297, 519, 297, 519, 291, 517, 287, 503, 272, 488, 258, 476, 244, 470, 244, End, 454, 299, 454, 307, 457, 311, 471, 325, 485, 339, 499, 353, 513, 368, 520, 368, 519, 360, 517, 357, 503, 343, 489, 329, 475, 314, 461, 299, 454, 299, End, 23, 286, 24, 297, 28, 300, 42, 315, 56, 328, 70, 343, 85, 357, 99, 371, 113, 385, 126, 399, 133, 399, 134, 393, 127, 384, 113, 371, 99, 356, 85, 342, 70, 328, 58, 315, 43, 301, 29, 286, 23, 286, End, 430, 346, 430, 351, 444, 365, 458, 380, 472, 394, 486, 409, 500, 423, 513, 437, 521, 437, 521, 433, 520, 430, 507, 416, 493, 402, 479, 387, 465, 373, 451, 359, 438, 344, 433, 344, 430, 346, End, 27, 355, 27, 365, 30, 369, 44, 383, 58, 397, 70, 408, 84, 423, 98, 437, 111, 452, 120, 460, 134, 475, 148, 490, 162, 505, 176, 506, 170, 499, 156, 485, 142, 470, 128, 455, 114, 441, 101, 427, 87, 413, 73, 398, 59, 384, 45, 370, 31, 355, 27, 355, End, 28, 427, 28, 437, 39, 448, 53, 463, 66, 477, 80, 491, 92, 505, 106, 505, 101, 500, 87, 485, 73, 470, 60, 456, 46, 442, 32, 427, 28, 427, End, 26, 499, 26, 506, 36, 505, 31, 499, 26, 499, End, 316, 442, 317, 444, 320, 448, 334, 463, 347, 477, 361, 491, 375, 506, 389, 507, 387, 505, 381, 498, 367, 483, 353, 469, 340, 454, 326, 439, 322, 439, 321, 440, 316, 442, End, 259, 452, 259, 456, 271, 469, 284, 483, 298, 497, 306, 507, 321, 507, 320, 506, 307, 492, 294, 478, 281, 464, 267, 449, 264, 449, 259, 452, End, 220, 487, 228, 495, 238, 507, 252, 507, 251, 505, 243, 496, 229, 481, 224, 481, 221, 483, 220, 487, End, 406, 389, 419, 403, 433, 417, 447, 432, 461, 446, 474, 460, 488, 474, 501, 488, 514, 500, 520, 508, 529, 508, 529, 504, 523, 498, 509, 484, 495, 469, 481, 454, 468, 440, 454, 426, 441, 412, 427, 398, 414, 383, 409, 383, 407, 384, 406, 389, End, 369, 423, 382, 436, 396, 451, 410, 465, 423, 479, 437, 493, 451, 508, 464, 509, 461, 505, 448, 491, 434, 477, 420, 462, 406, 447, 392, 432, 378, 417, 373, 417, 370, 419, 369, 423, End, End }; short sbishop[] = /* V019 */ { 498, 2, 498, 4, 503, 11, 510, 11, 510, 5, 508, 2, 498, 2, End, 77, 0, 77, 2, 87, 14, 102, 14, 101, 12, 89, 0, 77, 0, End, 429, 2, 430, 3, 439, 15, 452, 15, 452, 13, 451, 11, 443, 2, 429, 2, End, 150, 0, 151, 3, 162, 15, 176, 15, 162, 0, 150, 0, End, 362, 1, 362, 3, 374, 16, 388, 16, 374, 1, 362, 1, End, 292, 1, 297, 7, 307, 19, 322, 19, 320, 16, 306, 1, 292, 1, End, 18, 0, 18, 8, 32, 23, 41, 23, 42, 18, 39, 14, 25, 0, 18, 0, End, 226, 0, 226, 2, 227, 5, 232, 9, 245, 24, 259, 39, 268, 40, 270, 38, 270, 35, 267, 31, 253, 17, 240, 2, 238, 2, 236, 0, 226, 0, End, 510, 79, 513, 83, 520, 83, 520, 76, 515, 69, 511, 69, 511, 70, 510, 79, End, 131, 116, 132, 118, 139, 126, 152, 140, 159, 140, 158, 132, 156, 129, 142, 114, 134, 114, 134, 115, 131, 116, End, 481, 116, 481, 119, 484, 122, 497, 136, 511, 150, 514, 155, 522, 155, 522, 148, 519, 144, 505, 129, 491, 114, 485, 114, 484, 116, 481, 116, End, 26, 69, 26, 80, 39, 94, 54, 108, 68, 123, 82, 137, 96, 152, 111, 166, 125, 181, 138, 195, 145, 195, 148, 191, 142, 184, 128, 170, 114, 155, 100, 141, 86, 127, 72, 112, 58, 98, 44, 84, 30, 69, 26, 69, End, 413, 116, 413, 118, 418, 125, 432, 138, 446, 153, 460, 168, 474, 183, 489, 197, 503, 212, 517, 227, 523, 228, 523, 218, 522, 217, 508, 202, 494, 189, 481, 174, 467, 161, 454, 146, 440, 133, 427, 118, 420, 117, 420, 116, 413, 116, End, 28, 141, 28, 151, 38, 161, 52, 175, 66, 190, 81, 204, 95, 219, 109, 233, 123, 248, 130, 249, 129, 240, 117, 227, 103, 213, 89, 199, 75, 184, 61, 170, 47, 156, 33, 141, 28, 141, End, 390, 153, 390, 163, 398, 171, 411, 186, 426, 200, 438, 214, 453, 228, 467, 243, 481, 257, 494, 271, 508, 285, 519, 297, 527, 297, 526, 290, 525, 288, 521, 285, 516, 278, 501, 264, 487, 249, 479, 242, 470, 231, 456, 218, 443, 203, 429, 190, 416, 175, 407, 167, 395, 153, 390, 153, End, 30, 213, 31, 222, 37, 229, 51, 243, 65, 257, 79, 271, 93, 286, 107, 300, 120, 314, 133, 326, 144, 339, 151, 339, 148, 335, 145, 326, 135, 315, 121, 301, 107, 287, 93, 272, 79, 257, 64, 243, 50, 228, 36, 213, 30, 213, End, 416, 251, 417, 260, 418, 262, 432, 276, 446, 291, 460, 306, 475, 320, 489, 335, 503, 349, 511, 356, 522, 369, 529, 369, 529, 362, 520, 352, 506, 338, 492, 324, 478, 310, 464, 295, 450, 281, 436, 266, 422, 251, 416, 251, End, 414, 319, 414, 328, 424, 339, 438, 353, 452, 368, 466, 382, 480, 396, 494, 410, 507, 424, 514, 429, 523, 440, 530, 440, 529, 433, 525, 428, 511, 414, 497, 399, 482, 385, 468, 370, 454, 356, 440, 341, 431, 333, 419, 319, 414, 319, End, 34, 283, 34, 294, 47, 308, 62, 322, 76, 337, 90, 351, 103, 365, 108, 369, 121, 384, 135, 397, 148, 412, 161, 424, 170, 435, 183, 447, 193, 459, 200, 459, 200, 457, 198, 450, 189, 441, 176, 427, 162, 413, 149, 399, 135, 385, 121, 370, 107, 355, 93, 341, 79, 326, 65, 312, 51, 298, 37, 283, 34, 283, End, 32, 364, 42, 374, 56, 388, 70, 403, 84, 417, 98, 431, 112, 446, 126, 460, 140, 475, 154, 490, 167, 504, 180, 504, 178, 503, 173, 496, 164, 488, 150, 473, 136, 458, 122, 443, 108, 429, 94, 414, 80, 399, 65, 385, 51, 370, 37, 355, 33, 355, 32, 364, End, 31, 426, 31, 435, 43, 448, 57, 462, 70, 476, 84, 490, 97, 504, 109, 504, 109, 503, 103, 497, 89, 483, 76, 468, 62, 455, 48, 440, 35, 426, 31, 426, End, 30, 499, 30, 504, 39, 504, 35, 499, 30, 499, End, 283, 474, 288, 480, 302, 494, 312, 506, 325, 506, 324, 505, 318, 498, 304, 484, 291, 469, 285, 469, 283, 474, End, 230, 487, 230, 488, 232, 491, 244, 505, 256, 505, 256, 504, 255, 504, 250, 497, 240, 489, 234, 488, 234, 487, 230, 487, End, 360, 479, 367, 487, 381, 501, 385, 507, 399, 507, 396, 504, 382, 489, 368, 474, 361, 474, 361, 475, 360, 479, End, 404, 379, 411, 385, 420, 396, 435, 410, 449, 425, 463, 439, 477, 454, 492, 468, 505, 482, 520, 496, 530, 508, 540, 508, 540, 504, 531, 495, 517, 480, 508, 472, 494, 457, 480, 443, 466, 429, 452, 414, 438, 400, 424, 386, 411, 371, 407, 371, 405, 373, 404, 379, End, 375, 419, 376, 421, 390, 435, 404, 450, 418, 464, 432, 479, 447, 494, 460, 508, 473, 508, 467, 502, 453, 487, 439, 473, 425, 458, 411, 444, 397, 429, 383, 414, 376, 414, 376, 415, 375, 419, End, End }; short srook[] = /* V020 */ { 497, 1, 497, 3, 502, 10, 510, 10, 509, 3, 508, 1, 497, 1, End, 213, 0, 213, 2, 226, 17, 241, 17, 240, 15, 226, 0, 213, 0, End, 356, 2, 357, 4, 370, 18, 385, 18, 382, 14, 368, 0, 357, 0, 356, 2, End, 286, 0, 288, 4, 300, 18, 315, 18, 313, 15, 299, 0, 286, 0, End, 146, 0, 149, 5, 163, 20, 178, 20, 174, 15, 160, 0, 146, 0, End, 78, 0, 78, 2, 80, 4, 94, 19, 109, 19, 105, 15, 91, 0, 78, 0, End, 13, 2, 13, 7, 14, 10, 28, 24, 42, 38, 56, 53, 62, 58, 75, 73, 82, 73, 80, 62, 76, 57, 62, 42, 48, 28, 34, 14, 20, 0, 15, 0, 13, 2, End, 433, 1, 433, 2, 440, 10, 454, 25, 468, 39, 482, 54, 496, 68, 509, 82, 518, 82, 517, 73, 504, 59, 490, 45, 476, 31, 462, 16, 448, 1, 433, 1, End, 445, 78, 445, 87, 446, 90, 454, 97, 468, 112, 482, 126, 496, 140, 510, 155, 517, 155, 516, 145, 508, 137, 494, 122, 479, 108, 465, 93, 451, 78, 445, 78, End, 17, 69, 18, 80, 22, 86, 36, 99, 50, 114, 64, 128, 78, 142, 92, 157, 106, 171, 120, 185, 133, 199, 139, 200, 138, 189, 134, 183, 120, 169, 106, 155, 92, 141, 78, 127, 64, 112, 50, 98, 36, 84, 22, 69, 17, 69, End, 425, 137, 428, 141, 442, 156, 456, 170, 470, 184, 484, 198, 498, 212, 512, 226, 519, 227, 519, 220, 518, 217, 505, 204, 491, 189, 476, 175, 462, 161, 448, 146, 434, 131, 429, 131, 426, 134, 425, 137, End, 21, 143, 21, 153, 28, 161, 42, 175, 56, 190, 71, 204, 85, 219, 99, 233, 113, 248, 127, 262, 131, 265, 134, 271, 143, 271, 142, 263, 137, 256, 123, 242, 109, 228, 95, 213, 81, 200, 67, 185, 53, 171, 39, 157, 26, 143, 21, 143, End, 399, 179, 401, 183, 416, 197, 430, 212, 444, 226, 458, 240, 472, 254, 486, 268, 500, 282, 514, 296, 522, 297, 521, 288, 507, 273, 492, 259, 478, 245, 464, 231, 450, 217, 436, 203, 422, 188, 408, 173, 403, 173, 399, 179, End, 23, 213, 23, 223, 25, 227, 40, 241, 54, 256, 69, 270, 83, 285, 97, 299, 111, 314, 125, 328, 134, 329, 135, 323, 128, 316, 114, 301, 99, 287, 85, 272, 71, 257, 56, 243, 42, 228, 28, 213, 23, 213, End, 397, 236, 397, 246, 403, 254, 418, 268, 432, 283, 447, 297, 461, 312, 475, 326, 490, 340, 504, 354, 518, 368, 525, 368, 524, 361, 523, 358, 514, 349, 500, 336, 486, 321, 471, 307, 457, 293, 443, 279, 429, 264, 414, 250, 402, 236, 397, 236, End, 24, 284, 25, 295, 33, 304, 46, 318, 61, 332, 75, 346, 89, 361, 101, 374, 108, 374, 108, 366, 99, 356, 85, 342, 71, 327, 57, 313, 43, 299, 29, 284, 24, 284, End, 400, 308, 400, 317, 401, 320, 408, 326, 422, 341, 436, 354, 450, 369, 464, 382, 478, 397, 492, 410, 506, 424, 520, 438, 528, 439, 527, 431, 521, 424, 514, 418, 503, 406, 489, 393, 475, 379, 461, 365, 447, 351, 433, 337, 419, 323, 405, 308, 400, 308, End, 27, 355, 27, 366, 35, 375, 49, 389, 63, 403, 77, 417, 91, 432, 105, 446, 112, 447, 111, 438, 101, 427, 87, 413, 73, 398, 59, 384, 45, 370, 31, 355, 27, 355, End, 25, 499, 25, 506, 34, 505, 30, 499, 25, 499, End, 439, 417, 440, 426, 442, 430, 457, 444, 471, 458, 485, 472, 499, 486, 514, 500, 520, 507, 531, 507, 531, 503, 530, 501, 516, 487, 502, 474, 488, 460, 474, 446, 459, 432, 445, 417, 439, 417, End, 274, 470, 274, 471, 280, 479, 294, 493, 307, 507, 322, 507, 321, 506, 314, 499, 300, 485, 286, 470, 274, 470, End, 199, 462, 199, 465, 211, 478, 225, 493, 238, 507, 253, 507, 251, 504, 237, 491, 224, 476, 209, 462, 199, 462, End, 129, 462, 131, 466, 145, 481, 159, 495, 169, 507, 184, 507, 182, 505, 168, 490, 155, 476, 141, 462, 129, 462, End, 33, 429, 33, 437, 36, 442, 50, 455, 64, 470, 78, 484, 92, 498, 99, 507, 114, 507, 110, 502, 96, 488, 82, 473, 67, 459, 53, 444, 39, 429, 33, 429, End, 411, 461, 413, 465, 427, 479, 441, 494, 456, 508, 471, 509, 467, 504, 453, 490, 438, 476, 424, 461, 411, 461, End, 338, 451, 338, 460, 351, 472, 365, 487, 379, 501, 384, 508, 399, 508, 397, 505, 388, 495, 373, 481, 359, 466, 345, 451, 338, 451, End, End }; short squeen[] = /* V021 */ { 492, 1, 498, 10, 506, 10, 505, 2, 504, 0, 494, 0, 492, 1, End, 209, 0, 211, 3, 224, 18, 239, 18, 237, 15, 223, 0, 209, 0, End, 280, 0, 286, 7, 299, 21, 314, 21, 309, 15, 295, 0, 280, 0, End, 141, 0, 144, 5, 154, 14, 163, 25, 177, 25, 176, 22, 169, 15, 155, 0, 141, 0, End, 73, 0, 73, 2, 82, 13, 97, 27, 110, 42, 123, 42, 123, 41, 122, 39, 113, 29, 99, 14, 85, 0, 73, 0, End, 427, 0, 427, 2, 440, 17, 450, 26, 463, 41, 477, 55, 491, 69, 505, 83, 511, 84, 511, 76, 510, 73, 496, 58, 482, 44, 468, 30, 454, 15, 440, 0, 427, 0, End, 10, 1, 11, 8, 15, 14, 22, 19, 33, 32, 48, 46, 62, 61, 76, 75, 90, 89, 93, 94, 102, 94, 102, 87, 88, 73, 74, 58, 60, 44, 47, 30, 33, 16, 19, 1, 10, 1, End, 358, 0, 358, 1, 365, 9, 379, 24, 393, 39, 407, 53, 421, 68, 435, 83, 450, 97, 464, 112, 478, 126, 492, 140, 505, 154, 513, 155, 512, 145, 502, 136, 489, 121, 474, 107, 460, 92, 452, 85, 443, 74, 428, 60, 414, 45, 400, 30, 386, 15, 372, 0, 358, 0, End, 14, 70, 14, 79, 15, 82, 27, 94, 41, 108, 55, 122, 69, 137, 84, 151, 90, 159, 98, 159, 97, 151, 89, 142, 75, 128, 61, 113, 47, 99, 33, 85, 19, 70, 14, 70, End, 15, 143, 16, 154, 19, 157, 33, 172, 47, 186, 61, 200, 75, 214, 84, 215, 84, 208, 76, 201, 62, 186, 48, 172, 34, 158, 20, 143, 15, 143, End, 421, 125, 421, 127, 422, 136, 426, 141, 440, 155, 454, 170, 468, 184, 483, 198, 489, 206, 496, 211, 510, 226, 516, 226, 516, 217, 510, 211, 496, 197, 482, 183, 468, 169, 454, 155, 440, 140, 426, 125, 421, 125, End, 19, 215, 20, 225, 22, 228, 32, 237, 41, 248, 52, 257, 57, 264, 65, 264, 65, 257, 52, 244, 38, 230, 24, 215, 19, 215, End, 437, 211, 437, 213, 440, 225, 453, 237, 467, 252, 481, 265, 495, 280, 506, 289, 512, 297, 520, 297, 520, 290, 513, 283, 499, 268, 484, 254, 470, 240, 456, 226, 442, 211, 437, 211, End, 21, 287, 22, 296, 24, 300, 32, 300, 33, 294, 27, 287, 21, 287, End, 117, 318, 119, 321, 133, 336, 147, 350, 160, 364, 170, 364, 170, 361, 169, 359, 155, 345, 141, 330, 127, 315, 121, 315, 119, 316, 117, 318, End, 503, 355, 510, 360, 515, 367, 523, 367, 523, 360, 510, 346, 504, 346, 504, 347, 503, 355, End, 248, 374, 248, 379, 258, 390, 272, 404, 286, 419, 293, 420, 293, 412, 283, 402, 269, 387, 255, 372, 251, 372, 248, 374, End, 98, 365, 98, 367, 111, 381, 120, 389, 129, 400, 144, 414, 148, 420, 157, 420, 157, 414, 150, 407, 136, 393, 122, 378, 108, 363, 102, 363, 102, 364, 98, 365, End, 387, 296, 387, 304, 394, 312, 406, 325, 421, 339, 435, 353, 449, 367, 463, 381, 477, 394, 491, 409, 506, 423, 521, 438, 528, 439, 527, 431, 520, 423, 506, 409, 491, 395, 477, 381, 463, 367, 449, 353, 435, 339, 421, 325, 407, 311, 393, 296, 387, 296, End, 376, 363, 390, 378, 404, 392, 418, 406, 432, 420, 446, 433, 460, 448, 475, 462, 490, 476, 504, 491, 519, 505, 530, 506, 529, 502, 523, 496, 509, 482, 495, 468, 480, 454, 466, 440, 452, 426, 438, 412, 424, 398, 410, 384, 396, 370, 382, 355, 378, 355, 377, 357, 376, 363, End, 202, 467, 202, 469, 211, 479, 225, 493, 235, 505, 249, 505, 241, 497, 227, 482, 213, 467, 202, 467, End, 32, 356, 32, 366, 43, 377, 57, 392, 71, 406, 85, 420, 99, 434, 113, 449, 127, 463, 140, 477, 154, 491, 167, 505, 180, 505, 177, 502, 163, 487, 149, 473, 135, 458, 121, 444, 107, 429, 93, 415, 79, 400, 64, 386, 50, 371, 36, 356, 32, 356, End, 32, 429, 32, 438, 38, 444, 52, 458, 66, 473, 80, 487, 94, 501, 97, 506, 111, 506, 108, 503, 94, 488, 80, 473, 65, 459, 51, 444, 37, 429, 32, 429, End, 32, 501, 32, 506, 41, 506, 37, 501, 32, 501, End, 397, 449, 411, 463, 425, 477, 439, 492, 454, 506, 468, 507, 462, 500, 447, 486, 434, 472, 419, 458, 405, 443, 399, 443, 399, 444, 397, 449, End, 347, 467, 348, 469, 357, 479, 369, 492, 384, 506, 396, 507, 396, 505, 387, 496, 373, 482, 359, 467, 347, 467, End, 255, 446, 259, 451, 273, 465, 286, 479, 300, 493, 313, 507, 326, 507, 326, 506, 319, 499, 313, 494, 304, 483, 291, 471, 277, 456, 263, 441, 258, 441, 255, 446, End, End }; short sking[] = /* V022 */ { 140, 0, 140, 2, 150, 12, 163, 26, 176, 26, 176, 25, 175, 23, 168, 15, 154, 0, 140, 0, End, 72, 0, 73, 2, 86, 16, 100, 31, 108, 38, 117, 49, 126, 49, 128, 45, 123, 38, 114, 30, 100, 15, 86, 0, 72, 0, End, 7, 0, 7, 6, 8, 9, 19, 20, 33, 34, 47, 49, 61, 63, 74, 77, 88, 90, 93, 97, 100, 97, 101, 90, 99, 87, 85, 72, 71, 58, 57, 43, 43, 29, 29, 15, 15, 0, 7, 0, End, 8, 68, 8, 80, 10, 83, 24, 97, 38, 112, 52, 126, 66, 140, 80, 155, 88, 156, 88, 146, 83, 142, 69, 127, 55, 112, 40, 98, 26, 83, 12, 68, 8, 68, End, 9, 141, 9, 150, 13, 155, 27, 170, 42, 184, 51, 195, 59, 195, 63, 192, 56, 184, 42, 170, 28, 156, 14, 141, 9, 141, End, 10, 212, 11, 222, 24, 235, 33, 236, 33, 230, 29, 227, 15, 212, 10, 212, End, 11, 282, 11, 293, 18, 294, 18, 287, 15, 282, 11, 282, End, 136, 417, 138, 420, 151, 435, 161, 444, 171, 456, 179, 456, 178, 449, 175, 445, 161, 430, 147, 415, 139, 415, 136, 417, End, 12, 352, 13, 362, 17, 365, 31, 380, 45, 394, 59, 409, 74, 423, 87, 438, 102, 452, 116, 467, 129, 481, 142, 493, 152, 505, 165, 505, 157, 497, 143, 482, 129, 468, 115, 453, 101, 439, 87, 424, 73, 410, 59, 395, 45, 381, 31, 367, 17, 352, 12, 352, End, 12, 425, 13, 432, 18, 436, 32, 451, 46, 465, 60, 480, 75, 494, 85, 506, 96, 506, 95, 505, 89, 499, 75, 484, 61, 469, 46, 455, 32, 440, 18, 425, 12, 425, End, 12, 495, 12, 506, 25, 505, 17, 495, 12, 495, End, 221, 0, 223, 2, 236, 17, 250, 17, 250, 15, 236, 0, 221, 0, End, 212, 487, 212, 491, 226, 506, 240, 507, 237, 503, 224, 489, 220, 488, 220, 487, 212, 487, End, 291, 0, 298, 8, 311, 22, 326, 22, 320, 15, 306, 0, 291, 0, End, 284, 489, 286, 492, 299, 507, 311, 507, 311, 506, 308, 504, 294, 489, 284, 489, End, 355, 482, 355, 492, 363, 499, 369, 507, 382, 507, 382, 506, 373, 497, 359, 482, 355, 482, End, 352, 414, 352, 417, 356, 421, 370, 436, 384, 450, 398, 465, 413, 479, 427, 494, 441, 508, 456, 508, 448, 500, 434, 486, 420, 472, 406, 457, 392, 443, 378, 429, 364, 414, 352, 414, End, 367, 0, 367, 1, 379, 15, 393, 29, 407, 44, 421, 59, 435, 73, 449, 88, 463, 103, 477, 117, 491, 132, 505, 146, 518, 160, 526, 160, 526, 153, 519, 146, 505, 132, 491, 117, 477, 103, 463, 88, 449, 74, 435, 59, 421, 44, 408, 30, 394, 15, 380, 0, 367, 0, End, 438, 0, 439, 3, 443, 8, 457, 22, 471, 37, 485, 52, 499, 67, 514, 81, 520, 89, 527, 89, 527, 80, 520, 73, 506, 58, 492, 43, 478, 29, 464, 14, 450, 0, 438, 0, End, 438, 137, 441, 149, 449, 158, 463, 172, 477, 187, 491, 201, 505, 215, 519, 230, 526, 230, 526, 222, 514, 210, 500, 195, 486, 181, 472, 167, 458, 152, 444, 137, 438, 137, End, 515, 283, 517, 294, 519, 298, 526, 299, 526, 290, 520, 283, 515, 283, End, 515, 362, 520, 369, 528, 369, 528, 364, 522, 355, 516, 355, 516, 356, 515, 362, End, 483, 399, 488, 405, 502, 419, 507, 423, 520, 437, 528, 438, 528, 431, 521, 423, 506, 409, 492, 394, 487, 394, 485, 395, 483, 399, End, 437, 423, 438, 426, 449, 437, 462, 451, 477, 465, 491, 479, 505, 492, 519, 507, 530, 507, 528, 502, 518, 492, 504, 478, 489, 464, 476, 450, 461, 436, 447, 421, 440, 421, 437, 423, End, 517, 1, 517, 2, 527, 15, 535, 15, 535, 1, 532, 1, 517, 1, End, End }; short* pieces[] = { bpawn, bknight, bbishop, brook, bqueen, bking, wpawn, wknight, wbishop, wrook, wqueen, wking, sempty, spawn, sknight, sbishop, srook, squeen, sking, 0 };