diff --git a/kin/grammar/PBXProj.g4 b/kin/grammar/PBXProj.g4 index d33ada1..f8e1d54 100644 --- a/kin/grammar/PBXProj.g4 +++ b/kin/grammar/PBXProj.g4 @@ -323,6 +323,7 @@ pbx_resources_build_phase pbx_shell_script_build_phase : REFERENCE '=' '{' isa_pbx_shell_script_build_phase + always_out_of_date? build_action_mask files input_file_list_paths? @@ -506,6 +507,10 @@ isa_xc_version_group // Other rules +always_out_of_date + : ALWAYS_OUT_OF_DATE '=' NUMBER ';' + ; + file_ref : FILE_REF '=' REFERENCE ';' ; @@ -1097,6 +1102,7 @@ XC_CONFIGURATION_LIST: 'XCConfigurationList'; XC_REMOTE_SWIFT_PACKAGE_REFERENCE: 'XCRemoteSwiftPackageReference'; XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY: 'XCSwiftPackageProductDependency'; XC_VERSION_GROUP: 'XCVersionGroup'; +ALWAYS_OUT_OF_DATE: 'alwaysOutOfDate'; FILE_REF: 'fileRef'; PRODUCT_REF: 'productRef'; CONTAINER_PORTAL: 'containerPortal'; diff --git a/kin/grammar/PBXProj.interp b/kin/grammar/PBXProj.interp index de65e2d..4d10f70 100644 --- a/kin/grammar/PBXProj.interp +++ b/kin/grammar/PBXProj.interp @@ -40,6 +40,7 @@ null 'XCRemoteSwiftPackageReference' 'XCSwiftPackageProductDependency' 'XCVersionGroup' +'alwaysOutOfDate' 'fileRef' 'productRef' 'containerPortal' @@ -185,6 +186,7 @@ XC_CONFIGURATION_LIST XC_REMOTE_SWIFT_PACKAGE_REFERENCE XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY XC_VERSION_GROUP +ALWAYS_OUT_OF_DATE FILE_REF PRODUCT_REF CONTAINER_PORTAL @@ -362,6 +364,7 @@ isa_xc_configuration_list isa_xc_remote_swift_package_reference isa_xc_swift_package_product_dependency isa_xc_version_group +always_out_of_date file_ref product_ref container_portal @@ -466,4 +469,4 @@ any_token atn: -[4, 1, 142, 1707, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 379, 8, 5, 1, 5, 3, 5, 382, 8, 5, 1, 5, 3, 5, 385, 8, 5, 1, 5, 3, 5, 388, 8, 5, 1, 5, 1, 5, 3, 5, 392, 8, 5, 1, 5, 1, 5, 3, 5, 396, 8, 5, 1, 5, 3, 5, 399, 8, 5, 1, 5, 3, 5, 402, 8, 5, 1, 5, 1, 5, 3, 5, 406, 8, 5, 1, 5, 3, 5, 409, 8, 5, 1, 5, 3, 5, 412, 8, 5, 1, 5, 3, 5, 415, 8, 5, 1, 5, 3, 5, 418, 8, 5, 1, 5, 3, 5, 421, 8, 5, 1, 5, 1, 5, 1, 5, 3, 5, 426, 8, 5, 1, 5, 3, 5, 429, 8, 5, 1, 5, 3, 5, 432, 8, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 4, 7, 443, 8, 7, 11, 7, 12, 7, 444, 1, 8, 4, 8, 448, 8, 8, 11, 8, 12, 8, 449, 1, 9, 4, 9, 453, 8, 9, 11, 9, 12, 9, 454, 1, 10, 4, 10, 458, 8, 10, 11, 10, 12, 10, 459, 1, 11, 4, 11, 463, 8, 11, 11, 11, 12, 11, 464, 1, 12, 4, 12, 468, 8, 12, 11, 12, 12, 12, 469, 1, 13, 4, 13, 473, 8, 13, 11, 13, 12, 13, 474, 1, 14, 4, 14, 478, 8, 14, 11, 14, 12, 14, 479, 1, 15, 4, 15, 483, 8, 15, 11, 15, 12, 15, 484, 1, 16, 4, 16, 488, 8, 16, 11, 16, 12, 16, 489, 1, 17, 4, 17, 493, 8, 17, 11, 17, 12, 17, 494, 1, 18, 4, 18, 498, 8, 18, 11, 18, 12, 18, 499, 1, 19, 4, 19, 503, 8, 19, 11, 19, 12, 19, 504, 1, 20, 4, 20, 508, 8, 20, 11, 20, 12, 20, 509, 1, 21, 4, 21, 513, 8, 21, 11, 21, 12, 21, 514, 1, 22, 4, 22, 518, 8, 22, 11, 22, 12, 22, 519, 1, 23, 4, 23, 523, 8, 23, 11, 23, 12, 23, 524, 1, 24, 4, 24, 528, 8, 24, 11, 24, 12, 24, 529, 1, 25, 4, 25, 533, 8, 25, 11, 25, 12, 25, 534, 1, 26, 4, 26, 538, 8, 26, 11, 26, 12, 26, 539, 1, 27, 4, 27, 543, 8, 27, 11, 27, 12, 27, 544, 1, 28, 4, 28, 548, 8, 28, 11, 28, 12, 28, 549, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 561, 8, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 571, 8, 30, 1, 30, 3, 30, 574, 8, 30, 1, 30, 3, 30, 577, 8, 30, 1, 30, 3, 30, 580, 8, 30, 1, 30, 3, 30, 583, 8, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 608, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 619, 8, 33, 1, 33, 3, 33, 622, 8, 33, 1, 33, 3, 33, 625, 8, 33, 1, 33, 3, 33, 628, 8, 33, 1, 33, 3, 33, 631, 8, 33, 1, 33, 3, 33, 634, 8, 33, 1, 33, 3, 33, 637, 8, 33, 1, 33, 3, 33, 640, 8, 33, 1, 33, 3, 33, 643, 8, 33, 1, 33, 3, 33, 646, 8, 33, 1, 33, 3, 33, 649, 8, 33, 1, 33, 3, 33, 652, 8, 33, 1, 33, 3, 33, 655, 8, 33, 1, 33, 3, 33, 658, 8, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 679, 8, 35, 1, 35, 3, 35, 682, 8, 35, 1, 35, 3, 35, 685, 8, 35, 1, 35, 3, 35, 688, 8, 35, 1, 35, 1, 35, 3, 35, 692, 8, 35, 1, 35, 3, 35, 695, 8, 35, 1, 35, 3, 35, 698, 8, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 3, 37, 723, 8, 37, 1, 37, 3, 37, 726, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 755, 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 760, 8, 39, 1, 39, 1, 39, 3, 39, 764, 8, 39, 1, 39, 1, 39, 3, 39, 768, 8, 39, 1, 39, 3, 39, 771, 8, 39, 1, 39, 1, 39, 3, 39, 775, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 788, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 813, 8, 42, 1, 42, 3, 42, 816, 8, 42, 1, 42, 3, 42, 819, 8, 42, 1, 42, 3, 42, 822, 8, 42, 1, 42, 3, 42, 825, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 831, 8, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 3, 44, 851, 8, 44, 1, 44, 3, 44, 854, 8, 44, 1, 44, 3, 44, 857, 8, 44, 1, 44, 3, 44, 860, 8, 44, 1, 44, 3, 44, 863, 8, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 876, 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 887, 8, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 3, 47, 901, 8, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 920, 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 933, 8, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 5, 93, 1155, 8, 93, 10, 93, 12, 93, 1158, 9, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 5, 102, 1206, 8, 102, 10, 102, 12, 102, 1209, 9, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 5, 103, 1217, 8, 103, 10, 103, 12, 103, 1220, 9, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 5, 104, 1227, 8, 104, 10, 104, 12, 104, 1230, 9, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 3, 119, 1308, 8, 119, 1, 119, 3, 119, 1311, 8, 119, 1, 119, 3, 119, 1314, 8, 119, 1, 119, 3, 119, 1317, 8, 119, 1, 119, 3, 119, 1320, 8, 119, 1, 119, 3, 119, 1323, 8, 119, 1, 119, 3, 119, 1326, 8, 119, 1, 119, 3, 119, 1329, 8, 119, 1, 119, 3, 119, 1332, 8, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 5, 127, 1376, 8, 127, 10, 127, 12, 127, 1379, 9, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 3, 128, 1388, 8, 128, 1, 128, 3, 128, 1391, 8, 128, 1, 128, 3, 128, 1394, 8, 128, 1, 128, 3, 128, 1397, 8, 128, 1, 128, 3, 128, 1400, 8, 128, 1, 128, 3, 128, 1403, 8, 128, 1, 128, 3, 128, 1406, 8, 128, 1, 128, 3, 128, 1409, 8, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1491, 8, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 5, 157, 1567, 8, 157, 10, 157, 12, 157, 1570, 9, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 160, 5, 160, 1586, 8, 160, 10, 160, 12, 160, 1589, 9, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 5, 162, 1631, 8, 162, 10, 162, 12, 162, 1634, 9, 162, 1, 162, 1, 162, 1, 162, 3, 162, 1639, 8, 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, 166, 1, 166, 5, 166, 1660, 8, 166, 10, 166, 12, 166, 1663, 9, 166, 1, 166, 1, 166, 1, 166, 1, 167, 1, 167, 1, 167, 1, 167, 5, 167, 1672, 8, 167, 10, 167, 12, 167, 1675, 9, 167, 1, 167, 1, 167, 1, 167, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 3, 171, 1698, 8, 171, 1, 172, 1, 172, 1, 172, 3, 172, 1703, 8, 172, 1, 173, 1, 173, 1, 173, 0, 0, 174, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 0, 2, 2, 0, 13, 13, 136, 136, 5, 0, 8, 9, 12, 12, 14, 16, 19, 24, 27, 133, 1660, 0, 348, 1, 0, 0, 0, 2, 350, 1, 0, 0, 0, 4, 358, 1, 0, 0, 0, 6, 363, 1, 0, 0, 0, 8, 369, 1, 0, 0, 0, 10, 374, 1, 0, 0, 0, 12, 436, 1, 0, 0, 0, 14, 442, 1, 0, 0, 0, 16, 447, 1, 0, 0, 0, 18, 452, 1, 0, 0, 0, 20, 457, 1, 0, 0, 0, 22, 462, 1, 0, 0, 0, 24, 467, 1, 0, 0, 0, 26, 472, 1, 0, 0, 0, 28, 477, 1, 0, 0, 0, 30, 482, 1, 0, 0, 0, 32, 487, 1, 0, 0, 0, 34, 492, 1, 0, 0, 0, 36, 497, 1, 0, 0, 0, 38, 502, 1, 0, 0, 0, 40, 507, 1, 0, 0, 0, 42, 512, 1, 0, 0, 0, 44, 517, 1, 0, 0, 0, 46, 522, 1, 0, 0, 0, 48, 527, 1, 0, 0, 0, 50, 532, 1, 0, 0, 0, 52, 537, 1, 0, 0, 0, 54, 542, 1, 0, 0, 0, 56, 547, 1, 0, 0, 0, 58, 551, 1, 0, 0, 0, 60, 565, 1, 0, 0, 0, 62, 587, 1, 0, 0, 0, 64, 598, 1, 0, 0, 0, 66, 613, 1, 0, 0, 0, 68, 662, 1, 0, 0, 0, 70, 672, 1, 0, 0, 0, 72, 702, 1, 0, 0, 0, 74, 712, 1, 0, 0, 0, 76, 733, 1, 0, 0, 0, 78, 749, 1, 0, 0, 0, 80, 781, 1, 0, 0, 0, 82, 795, 1, 0, 0, 0, 84, 805, 1, 0, 0, 0, 86, 835, 1, 0, 0, 0, 88, 845, 1, 0, 0, 0, 90, 868, 1, 0, 0, 0, 92, 881, 1, 0, 0, 0, 94, 893, 1, 0, 0, 0, 96, 905, 1, 0, 0, 0, 98, 914, 1, 0, 0, 0, 100, 925, 1, 0, 0, 0, 102, 940, 1, 0, 0, 0, 104, 945, 1, 0, 0, 0, 106, 950, 1, 0, 0, 0, 108, 955, 1, 0, 0, 0, 110, 960, 1, 0, 0, 0, 112, 965, 1, 0, 0, 0, 114, 970, 1, 0, 0, 0, 116, 975, 1, 0, 0, 0, 118, 980, 1, 0, 0, 0, 120, 985, 1, 0, 0, 0, 122, 990, 1, 0, 0, 0, 124, 995, 1, 0, 0, 0, 126, 1000, 1, 0, 0, 0, 128, 1005, 1, 0, 0, 0, 130, 1010, 1, 0, 0, 0, 132, 1015, 1, 0, 0, 0, 134, 1020, 1, 0, 0, 0, 136, 1025, 1, 0, 0, 0, 138, 1030, 1, 0, 0, 0, 140, 1035, 1, 0, 0, 0, 142, 1040, 1, 0, 0, 0, 144, 1045, 1, 0, 0, 0, 146, 1050, 1, 0, 0, 0, 148, 1055, 1, 0, 0, 0, 150, 1060, 1, 0, 0, 0, 152, 1065, 1, 0, 0, 0, 154, 1070, 1, 0, 0, 0, 156, 1075, 1, 0, 0, 0, 158, 1080, 1, 0, 0, 0, 160, 1085, 1, 0, 0, 0, 162, 1090, 1, 0, 0, 0, 164, 1095, 1, 0, 0, 0, 166, 1100, 1, 0, 0, 0, 168, 1105, 1, 0, 0, 0, 170, 1110, 1, 0, 0, 0, 172, 1115, 1, 0, 0, 0, 174, 1120, 1, 0, 0, 0, 176, 1125, 1, 0, 0, 0, 178, 1130, 1, 0, 0, 0, 180, 1135, 1, 0, 0, 0, 182, 1140, 1, 0, 0, 0, 184, 1145, 1, 0, 0, 0, 186, 1150, 1, 0, 0, 0, 188, 1162, 1, 0, 0, 0, 190, 1167, 1, 0, 0, 0, 192, 1172, 1, 0, 0, 0, 194, 1177, 1, 0, 0, 0, 196, 1182, 1, 0, 0, 0, 198, 1187, 1, 0, 0, 0, 200, 1192, 1, 0, 0, 0, 202, 1197, 1, 0, 0, 0, 204, 1202, 1, 0, 0, 0, 206, 1212, 1, 0, 0, 0, 208, 1223, 1, 0, 0, 0, 210, 1233, 1, 0, 0, 0, 212, 1238, 1, 0, 0, 0, 214, 1243, 1, 0, 0, 0, 216, 1248, 1, 0, 0, 0, 218, 1253, 1, 0, 0, 0, 220, 1258, 1, 0, 0, 0, 222, 1263, 1, 0, 0, 0, 224, 1268, 1, 0, 0, 0, 226, 1273, 1, 0, 0, 0, 228, 1278, 1, 0, 0, 0, 230, 1283, 1, 0, 0, 0, 232, 1288, 1, 0, 0, 0, 234, 1293, 1, 0, 0, 0, 236, 1298, 1, 0, 0, 0, 238, 1303, 1, 0, 0, 0, 240, 1336, 1, 0, 0, 0, 242, 1341, 1, 0, 0, 0, 244, 1346, 1, 0, 0, 0, 246, 1351, 1, 0, 0, 0, 248, 1356, 1, 0, 0, 0, 250, 1361, 1, 0, 0, 0, 252, 1366, 1, 0, 0, 0, 254, 1371, 1, 0, 0, 0, 256, 1383, 1, 0, 0, 0, 258, 1413, 1, 0, 0, 0, 260, 1418, 1, 0, 0, 0, 262, 1423, 1, 0, 0, 0, 264, 1428, 1, 0, 0, 0, 266, 1433, 1, 0, 0, 0, 268, 1438, 1, 0, 0, 0, 270, 1443, 1, 0, 0, 0, 272, 1448, 1, 0, 0, 0, 274, 1453, 1, 0, 0, 0, 276, 1458, 1, 0, 0, 0, 278, 1463, 1, 0, 0, 0, 280, 1468, 1, 0, 0, 0, 282, 1473, 1, 0, 0, 0, 284, 1490, 1, 0, 0, 0, 286, 1492, 1, 0, 0, 0, 288, 1497, 1, 0, 0, 0, 290, 1502, 1, 0, 0, 0, 292, 1507, 1, 0, 0, 0, 294, 1512, 1, 0, 0, 0, 296, 1517, 1, 0, 0, 0, 298, 1522, 1, 0, 0, 0, 300, 1527, 1, 0, 0, 0, 302, 1532, 1, 0, 0, 0, 304, 1537, 1, 0, 0, 0, 306, 1542, 1, 0, 0, 0, 308, 1547, 1, 0, 0, 0, 310, 1552, 1, 0, 0, 0, 312, 1557, 1, 0, 0, 0, 314, 1562, 1, 0, 0, 0, 316, 1574, 1, 0, 0, 0, 318, 1579, 1, 0, 0, 0, 320, 1587, 1, 0, 0, 0, 322, 1590, 1, 0, 0, 0, 324, 1638, 1, 0, 0, 0, 326, 1640, 1, 0, 0, 0, 328, 1645, 1, 0, 0, 0, 330, 1650, 1, 0, 0, 0, 332, 1655, 1, 0, 0, 0, 334, 1667, 1, 0, 0, 0, 336, 1679, 1, 0, 0, 0, 338, 1684, 1, 0, 0, 0, 340, 1689, 1, 0, 0, 0, 342, 1697, 1, 0, 0, 0, 344, 1702, 1, 0, 0, 0, 346, 1704, 1, 0, 0, 0, 348, 349, 3, 2, 1, 0, 349, 1, 1, 0, 0, 0, 350, 351, 5, 1, 0, 0, 351, 352, 3, 4, 2, 0, 352, 353, 3, 6, 3, 0, 353, 354, 3, 8, 4, 0, 354, 355, 3, 10, 5, 0, 355, 356, 3, 12, 6, 0, 356, 357, 5, 2, 0, 0, 357, 3, 1, 0, 0, 0, 358, 359, 5, 8, 0, 0, 359, 360, 5, 3, 0, 0, 360, 361, 5, 13, 0, 0, 361, 362, 5, 4, 0, 0, 362, 5, 1, 0, 0, 0, 363, 364, 5, 9, 0, 0, 364, 365, 5, 3, 0, 0, 365, 366, 5, 1, 0, 0, 366, 367, 5, 2, 0, 0, 367, 368, 5, 4, 0, 0, 368, 7, 1, 0, 0, 0, 369, 370, 5, 14, 0, 0, 370, 371, 5, 3, 0, 0, 371, 372, 5, 13, 0, 0, 372, 373, 5, 4, 0, 0, 373, 9, 1, 0, 0, 0, 374, 375, 5, 15, 0, 0, 375, 376, 5, 3, 0, 0, 376, 378, 5, 1, 0, 0, 377, 379, 3, 14, 7, 0, 378, 377, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 381, 1, 0, 0, 0, 380, 382, 3, 16, 8, 0, 381, 380, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382, 384, 1, 0, 0, 0, 383, 385, 3, 18, 9, 0, 384, 383, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 385, 387, 1, 0, 0, 0, 386, 388, 3, 20, 10, 0, 387, 386, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 389, 1, 0, 0, 0, 389, 391, 3, 22, 11, 0, 390, 392, 3, 24, 12, 0, 391, 390, 1, 0, 0, 0, 391, 392, 1, 0, 0, 0, 392, 393, 1, 0, 0, 0, 393, 395, 3, 26, 13, 0, 394, 396, 3, 28, 14, 0, 395, 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 398, 1, 0, 0, 0, 397, 399, 3, 32, 16, 0, 398, 397, 1, 0, 0, 0, 398, 399, 1, 0, 0, 0, 399, 401, 1, 0, 0, 0, 400, 402, 3, 30, 15, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 405, 3, 34, 17, 0, 404, 406, 3, 36, 18, 0, 405, 404, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 408, 1, 0, 0, 0, 407, 409, 3, 38, 19, 0, 408, 407, 1, 0, 0, 0, 408, 409, 1, 0, 0, 0, 409, 411, 1, 0, 0, 0, 410, 412, 3, 40, 20, 0, 411, 410, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 414, 1, 0, 0, 0, 413, 415, 3, 42, 21, 0, 414, 413, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 417, 1, 0, 0, 0, 416, 418, 3, 44, 22, 0, 417, 416, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 420, 1, 0, 0, 0, 419, 421, 3, 46, 23, 0, 420, 419, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 422, 1, 0, 0, 0, 422, 423, 3, 48, 24, 0, 423, 425, 3, 50, 25, 0, 424, 426, 3, 52, 26, 0, 425, 424, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 428, 1, 0, 0, 0, 427, 429, 3, 54, 27, 0, 428, 427, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 431, 1, 0, 0, 0, 430, 432, 3, 56, 28, 0, 431, 430, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 434, 5, 2, 0, 0, 434, 435, 5, 4, 0, 0, 435, 11, 1, 0, 0, 0, 436, 437, 5, 16, 0, 0, 437, 438, 5, 3, 0, 0, 438, 439, 5, 134, 0, 0, 439, 440, 5, 4, 0, 0, 440, 13, 1, 0, 0, 0, 441, 443, 3, 58, 29, 0, 442, 441, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 442, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 15, 1, 0, 0, 0, 446, 448, 3, 60, 30, 0, 447, 446, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 447, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 17, 1, 0, 0, 0, 451, 453, 3, 62, 31, 0, 452, 451, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 452, 1, 0, 0, 0, 454, 455, 1, 0, 0, 0, 455, 19, 1, 0, 0, 0, 456, 458, 3, 64, 32, 0, 457, 456, 1, 0, 0, 0, 458, 459, 1, 0, 0, 0, 459, 457, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 21, 1, 0, 0, 0, 461, 463, 3, 66, 33, 0, 462, 461, 1, 0, 0, 0, 463, 464, 1, 0, 0, 0, 464, 462, 1, 0, 0, 0, 464, 465, 1, 0, 0, 0, 465, 23, 1, 0, 0, 0, 466, 468, 3, 68, 34, 0, 467, 466, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0, 469, 467, 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 25, 1, 0, 0, 0, 471, 473, 3, 70, 35, 0, 472, 471, 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 474, 475, 1, 0, 0, 0, 475, 27, 1, 0, 0, 0, 476, 478, 3, 72, 36, 0, 477, 476, 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 29, 1, 0, 0, 0, 481, 483, 3, 74, 37, 0, 482, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 482, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 31, 1, 0, 0, 0, 486, 488, 3, 76, 38, 0, 487, 486, 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 487, 1, 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 33, 1, 0, 0, 0, 491, 493, 3, 78, 39, 0, 492, 491, 1, 0, 0, 0, 493, 494, 1, 0, 0, 0, 494, 492, 1, 0, 0, 0, 494, 495, 1, 0, 0, 0, 495, 35, 1, 0, 0, 0, 496, 498, 3, 80, 40, 0, 497, 496, 1, 0, 0, 0, 498, 499, 1, 0, 0, 0, 499, 497, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 37, 1, 0, 0, 0, 501, 503, 3, 82, 41, 0, 502, 501, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 502, 1, 0, 0, 0, 504, 505, 1, 0, 0, 0, 505, 39, 1, 0, 0, 0, 506, 508, 3, 84, 42, 0, 507, 506, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 509, 510, 1, 0, 0, 0, 510, 41, 1, 0, 0, 0, 511, 513, 3, 86, 43, 0, 512, 511, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 512, 1, 0, 0, 0, 514, 515, 1, 0, 0, 0, 515, 43, 1, 0, 0, 0, 516, 518, 3, 88, 44, 0, 517, 516, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 517, 1, 0, 0, 0, 519, 520, 1, 0, 0, 0, 520, 45, 1, 0, 0, 0, 521, 523, 3, 90, 45, 0, 522, 521, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 522, 1, 0, 0, 0, 524, 525, 1, 0, 0, 0, 525, 47, 1, 0, 0, 0, 526, 528, 3, 92, 46, 0, 527, 526, 1, 0, 0, 0, 528, 529, 1, 0, 0, 0, 529, 527, 1, 0, 0, 0, 529, 530, 1, 0, 0, 0, 530, 49, 1, 0, 0, 0, 531, 533, 3, 94, 47, 0, 532, 531, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 532, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 51, 1, 0, 0, 0, 536, 538, 3, 96, 48, 0, 537, 536, 1, 0, 0, 0, 538, 539, 1, 0, 0, 0, 539, 537, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, 53, 1, 0, 0, 0, 541, 543, 3, 98, 49, 0, 542, 541, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 542, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 55, 1, 0, 0, 0, 546, 548, 3, 100, 50, 0, 547, 546, 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 547, 1, 0, 0, 0, 549, 550, 1, 0, 0, 0, 550, 57, 1, 0, 0, 0, 551, 552, 5, 134, 0, 0, 552, 553, 5, 3, 0, 0, 553, 554, 5, 1, 0, 0, 554, 555, 3, 102, 51, 0, 555, 556, 3, 210, 105, 0, 556, 557, 3, 212, 106, 0, 557, 558, 3, 224, 112, 0, 558, 560, 3, 192, 96, 0, 559, 561, 3, 226, 113, 0, 560, 559, 1, 0, 0, 0, 560, 561, 1, 0, 0, 0, 561, 562, 1, 0, 0, 0, 562, 563, 5, 2, 0, 0, 563, 564, 5, 4, 0, 0, 564, 59, 1, 0, 0, 0, 565, 566, 5, 134, 0, 0, 566, 567, 5, 3, 0, 0, 567, 568, 5, 1, 0, 0, 568, 570, 3, 104, 52, 0, 569, 571, 3, 146, 73, 0, 570, 569, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 573, 1, 0, 0, 0, 572, 574, 3, 176, 88, 0, 573, 572, 1, 0, 0, 0, 573, 574, 1, 0, 0, 0, 574, 576, 1, 0, 0, 0, 575, 577, 3, 178, 89, 0, 576, 575, 1, 0, 0, 0, 576, 577, 1, 0, 0, 0, 577, 579, 1, 0, 0, 0, 578, 580, 3, 148, 74, 0, 579, 578, 1, 0, 0, 0, 579, 580, 1, 0, 0, 0, 580, 582, 1, 0, 0, 0, 581, 583, 3, 332, 166, 0, 582, 581, 1, 0, 0, 0, 582, 583, 1, 0, 0, 0, 583, 584, 1, 0, 0, 0, 584, 585, 5, 2, 0, 0, 585, 586, 5, 4, 0, 0, 586, 61, 1, 0, 0, 0, 587, 588, 5, 134, 0, 0, 588, 589, 5, 3, 0, 0, 589, 590, 5, 1, 0, 0, 590, 591, 3, 106, 53, 0, 591, 592, 3, 150, 75, 0, 592, 593, 3, 152, 76, 0, 593, 594, 3, 154, 77, 0, 594, 595, 3, 156, 78, 0, 595, 596, 5, 2, 0, 0, 596, 597, 5, 4, 0, 0, 597, 63, 1, 0, 0, 0, 598, 599, 5, 134, 0, 0, 599, 600, 5, 3, 0, 0, 600, 601, 5, 1, 0, 0, 601, 602, 3, 108, 54, 0, 602, 603, 3, 198, 99, 0, 603, 604, 3, 316, 158, 0, 604, 605, 3, 318, 159, 0, 605, 607, 3, 200, 100, 0, 606, 608, 3, 192, 96, 0, 607, 606, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 1, 0, 0, 0, 609, 610, 3, 202, 101, 0, 610, 611, 5, 2, 0, 0, 611, 612, 5, 4, 0, 0, 612, 65, 1, 0, 0, 0, 613, 614, 5, 134, 0, 0, 614, 615, 5, 3, 0, 0, 615, 616, 5, 1, 0, 0, 616, 618, 3, 110, 55, 0, 617, 619, 3, 160, 80, 0, 618, 617, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 621, 1, 0, 0, 0, 620, 622, 3, 162, 81, 0, 621, 620, 1, 0, 0, 0, 621, 622, 1, 0, 0, 0, 622, 624, 1, 0, 0, 0, 623, 625, 3, 158, 79, 0, 624, 623, 1, 0, 0, 0, 624, 625, 1, 0, 0, 0, 625, 627, 1, 0, 0, 0, 626, 628, 3, 166, 83, 0, 627, 626, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 630, 1, 0, 0, 0, 629, 631, 3, 168, 84, 0, 630, 629, 1, 0, 0, 0, 630, 631, 1, 0, 0, 0, 631, 633, 1, 0, 0, 0, 632, 634, 3, 164, 82, 0, 633, 632, 1, 0, 0, 0, 633, 634, 1, 0, 0, 0, 634, 636, 1, 0, 0, 0, 635, 637, 3, 232, 116, 0, 636, 635, 1, 0, 0, 0, 636, 637, 1, 0, 0, 0, 637, 639, 1, 0, 0, 0, 638, 640, 3, 192, 96, 0, 639, 638, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640, 642, 1, 0, 0, 0, 641, 643, 3, 194, 97, 0, 642, 641, 1, 0, 0, 0, 642, 643, 1, 0, 0, 0, 643, 645, 1, 0, 0, 0, 644, 646, 3, 236, 118, 0, 645, 644, 1, 0, 0, 0, 645, 646, 1, 0, 0, 0, 646, 648, 1, 0, 0, 0, 647, 649, 3, 196, 98, 0, 648, 647, 1, 0, 0, 0, 648, 649, 1, 0, 0, 0, 649, 651, 1, 0, 0, 0, 650, 652, 3, 170, 85, 0, 651, 650, 1, 0, 0, 0, 651, 652, 1, 0, 0, 0, 652, 654, 1, 0, 0, 0, 653, 655, 3, 234, 117, 0, 654, 653, 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 657, 1, 0, 0, 0, 656, 658, 3, 172, 86, 0, 657, 656, 1, 0, 0, 0, 657, 658, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 660, 5, 2, 0, 0, 660, 661, 5, 4, 0, 0, 661, 67, 1, 0, 0, 0, 662, 663, 5, 134, 0, 0, 663, 664, 5, 3, 0, 0, 664, 665, 5, 1, 0, 0, 665, 666, 3, 112, 56, 0, 666, 667, 3, 198, 99, 0, 667, 668, 3, 200, 100, 0, 668, 669, 3, 202, 101, 0, 669, 670, 5, 2, 0, 0, 670, 671, 5, 4, 0, 0, 671, 69, 1, 0, 0, 0, 672, 673, 5, 134, 0, 0, 673, 674, 5, 3, 0, 0, 674, 675, 5, 1, 0, 0, 675, 676, 3, 114, 57, 0, 676, 678, 3, 180, 90, 0, 677, 679, 3, 168, 84, 0, 678, 677, 1, 0, 0, 0, 678, 679, 1, 0, 0, 0, 679, 681, 1, 0, 0, 0, 680, 682, 3, 166, 83, 0, 681, 680, 1, 0, 0, 0, 681, 682, 1, 0, 0, 0, 682, 684, 1, 0, 0, 0, 683, 685, 3, 192, 96, 0, 684, 683, 1, 0, 0, 0, 684, 685, 1, 0, 0, 0, 685, 687, 1, 0, 0, 0, 686, 688, 3, 194, 97, 0, 687, 686, 1, 0, 0, 0, 687, 688, 1, 0, 0, 0, 688, 689, 1, 0, 0, 0, 689, 691, 3, 196, 98, 0, 690, 692, 3, 170, 85, 0, 691, 690, 1, 0, 0, 0, 691, 692, 1, 0, 0, 0, 692, 694, 1, 0, 0, 0, 693, 695, 3, 172, 86, 0, 694, 693, 1, 0, 0, 0, 694, 695, 1, 0, 0, 0, 695, 697, 1, 0, 0, 0, 696, 698, 3, 174, 87, 0, 697, 696, 1, 0, 0, 0, 697, 698, 1, 0, 0, 0, 698, 699, 1, 0, 0, 0, 699, 700, 5, 2, 0, 0, 700, 701, 5, 4, 0, 0, 701, 71, 1, 0, 0, 0, 702, 703, 5, 134, 0, 0, 703, 704, 5, 3, 0, 0, 704, 705, 5, 1, 0, 0, 705, 706, 3, 116, 58, 0, 706, 707, 3, 198, 99, 0, 707, 708, 3, 200, 100, 0, 708, 709, 3, 202, 101, 0, 709, 710, 5, 2, 0, 0, 710, 711, 5, 4, 0, 0, 711, 73, 1, 0, 0, 0, 712, 713, 5, 134, 0, 0, 713, 714, 5, 3, 0, 0, 714, 715, 5, 1, 0, 0, 715, 716, 3, 118, 59, 0, 716, 717, 3, 210, 105, 0, 717, 718, 3, 212, 106, 0, 718, 719, 3, 214, 107, 0, 719, 720, 3, 224, 112, 0, 720, 722, 3, 192, 96, 0, 721, 723, 3, 182, 91, 0, 722, 721, 1, 0, 0, 0, 722, 723, 1, 0, 0, 0, 723, 725, 1, 0, 0, 0, 724, 726, 3, 190, 95, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 3, 226, 113, 0, 728, 729, 3, 228, 114, 0, 729, 730, 3, 230, 115, 0, 730, 731, 5, 2, 0, 0, 731, 732, 5, 4, 0, 0, 732, 75, 1, 0, 0, 0, 733, 734, 5, 134, 0, 0, 734, 735, 5, 3, 0, 0, 735, 736, 5, 1, 0, 0, 736, 737, 3, 120, 60, 0, 737, 738, 3, 216, 108, 0, 738, 739, 3, 210, 105, 0, 739, 740, 3, 212, 106, 0, 740, 741, 3, 218, 109, 0, 741, 742, 3, 220, 110, 0, 742, 743, 3, 224, 112, 0, 743, 744, 3, 192, 96, 0, 744, 745, 3, 222, 111, 0, 745, 746, 3, 226, 113, 0, 746, 747, 5, 2, 0, 0, 747, 748, 5, 4, 0, 0, 748, 77, 1, 0, 0, 0, 749, 750, 5, 134, 0, 0, 750, 751, 5, 3, 0, 0, 751, 752, 5, 1, 0, 0, 752, 754, 3, 122, 61, 0, 753, 755, 3, 238, 119, 0, 754, 753, 1, 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 756, 1, 0, 0, 0, 756, 757, 3, 210, 105, 0, 757, 759, 3, 268, 134, 0, 758, 760, 3, 270, 135, 0, 759, 758, 1, 0, 0, 0, 759, 760, 1, 0, 0, 0, 760, 761, 1, 0, 0, 0, 761, 763, 3, 272, 136, 0, 762, 764, 3, 274, 137, 0, 763, 762, 1, 0, 0, 0, 763, 764, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 767, 3, 276, 138, 0, 766, 768, 3, 280, 140, 0, 767, 766, 1, 0, 0, 0, 767, 768, 1, 0, 0, 0, 768, 770, 1, 0, 0, 0, 769, 771, 3, 278, 139, 0, 770, 769, 1, 0, 0, 0, 770, 771, 1, 0, 0, 0, 771, 772, 1, 0, 0, 0, 772, 774, 3, 282, 141, 0, 773, 775, 3, 284, 142, 0, 774, 773, 1, 0, 0, 0, 774, 775, 1, 0, 0, 0, 775, 776, 1, 0, 0, 0, 776, 777, 3, 286, 143, 0, 777, 778, 3, 288, 144, 0, 778, 779, 5, 2, 0, 0, 779, 780, 5, 4, 0, 0, 780, 79, 1, 0, 0, 0, 781, 782, 5, 134, 0, 0, 782, 783, 5, 3, 0, 0, 783, 784, 5, 1, 0, 0, 784, 785, 3, 124, 62, 0, 785, 787, 3, 308, 154, 0, 786, 788, 3, 192, 96, 0, 787, 786, 1, 0, 0, 0, 787, 788, 1, 0, 0, 0, 788, 789, 1, 0, 0, 0, 789, 790, 3, 194, 97, 0, 790, 791, 3, 310, 155, 0, 791, 792, 3, 196, 98, 0, 792, 793, 5, 2, 0, 0, 793, 794, 5, 4, 0, 0, 794, 81, 1, 0, 0, 0, 795, 796, 5, 134, 0, 0, 796, 797, 5, 3, 0, 0, 797, 798, 5, 1, 0, 0, 798, 799, 3, 126, 63, 0, 799, 800, 3, 198, 99, 0, 800, 801, 3, 200, 100, 0, 801, 802, 3, 202, 101, 0, 802, 803, 5, 2, 0, 0, 803, 804, 5, 4, 0, 0, 804, 83, 1, 0, 0, 0, 805, 806, 5, 134, 0, 0, 806, 807, 5, 3, 0, 0, 807, 808, 5, 1, 0, 0, 808, 809, 3, 128, 64, 0, 809, 810, 3, 198, 99, 0, 810, 812, 3, 200, 100, 0, 811, 813, 3, 290, 145, 0, 812, 811, 1, 0, 0, 0, 812, 813, 1, 0, 0, 0, 813, 815, 1, 0, 0, 0, 814, 816, 3, 292, 146, 0, 815, 814, 1, 0, 0, 0, 815, 816, 1, 0, 0, 0, 816, 818, 1, 0, 0, 0, 817, 819, 3, 192, 96, 0, 818, 817, 1, 0, 0, 0, 818, 819, 1, 0, 0, 0, 819, 821, 1, 0, 0, 0, 820, 822, 3, 294, 147, 0, 821, 820, 1, 0, 0, 0, 821, 822, 1, 0, 0, 0, 822, 824, 1, 0, 0, 0, 823, 825, 3, 296, 148, 0, 824, 823, 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 826, 1, 0, 0, 0, 826, 827, 3, 202, 101, 0, 827, 828, 3, 298, 149, 0, 828, 830, 3, 300, 150, 0, 829, 831, 3, 302, 151, 0, 830, 829, 1, 0, 0, 0, 830, 831, 1, 0, 0, 0, 831, 832, 1, 0, 0, 0, 832, 833, 5, 2, 0, 0, 833, 834, 5, 4, 0, 0, 834, 85, 1, 0, 0, 0, 835, 836, 5, 134, 0, 0, 836, 837, 5, 3, 0, 0, 837, 838, 5, 1, 0, 0, 838, 839, 3, 130, 65, 0, 839, 840, 3, 198, 99, 0, 840, 841, 3, 200, 100, 0, 841, 842, 3, 202, 101, 0, 842, 843, 5, 2, 0, 0, 843, 844, 5, 4, 0, 0, 844, 87, 1, 0, 0, 0, 845, 846, 5, 134, 0, 0, 846, 847, 5, 3, 0, 0, 847, 848, 5, 1, 0, 0, 848, 850, 3, 132, 66, 0, 849, 851, 3, 192, 96, 0, 850, 849, 1, 0, 0, 0, 850, 851, 1, 0, 0, 0, 851, 853, 1, 0, 0, 0, 852, 854, 3, 176, 88, 0, 853, 852, 1, 0, 0, 0, 853, 854, 1, 0, 0, 0, 854, 856, 1, 0, 0, 0, 855, 857, 3, 178, 89, 0, 856, 855, 1, 0, 0, 0, 856, 857, 1, 0, 0, 0, 857, 859, 1, 0, 0, 0, 858, 860, 3, 148, 74, 0, 859, 858, 1, 0, 0, 0, 859, 860, 1, 0, 0, 0, 860, 862, 1, 0, 0, 0, 861, 863, 3, 304, 152, 0, 862, 861, 1, 0, 0, 0, 862, 863, 1, 0, 0, 0, 863, 864, 1, 0, 0, 0, 864, 865, 3, 306, 153, 0, 865, 866, 5, 2, 0, 0, 866, 867, 5, 4, 0, 0, 867, 89, 1, 0, 0, 0, 868, 869, 5, 134, 0, 0, 869, 870, 5, 3, 0, 0, 870, 871, 5, 1, 0, 0, 871, 872, 3, 134, 67, 0, 872, 873, 3, 180, 90, 0, 873, 875, 3, 192, 96, 0, 874, 876, 3, 194, 97, 0, 875, 874, 1, 0, 0, 0, 875, 876, 1, 0, 0, 0, 876, 877, 1, 0, 0, 0, 877, 878, 3, 196, 98, 0, 878, 879, 5, 2, 0, 0, 879, 880, 5, 4, 0, 0, 880, 91, 1, 0, 0, 0, 881, 882, 5, 134, 0, 0, 882, 883, 5, 3, 0, 0, 883, 884, 5, 1, 0, 0, 884, 886, 3, 136, 68, 0, 885, 887, 3, 312, 156, 0, 886, 885, 1, 0, 0, 0, 886, 887, 1, 0, 0, 0, 887, 888, 1, 0, 0, 0, 888, 889, 3, 314, 157, 0, 889, 890, 3, 192, 96, 0, 890, 891, 5, 2, 0, 0, 891, 892, 5, 4, 0, 0, 892, 93, 1, 0, 0, 0, 893, 894, 5, 134, 0, 0, 894, 895, 5, 3, 0, 0, 895, 896, 5, 1, 0, 0, 896, 897, 3, 138, 69, 0, 897, 898, 3, 326, 163, 0, 898, 900, 3, 328, 164, 0, 899, 901, 3, 330, 165, 0, 900, 899, 1, 0, 0, 0, 900, 901, 1, 0, 0, 0, 901, 902, 1, 0, 0, 0, 902, 903, 5, 2, 0, 0, 903, 904, 5, 4, 0, 0, 904, 95, 1, 0, 0, 0, 905, 906, 5, 134, 0, 0, 906, 907, 5, 3, 0, 0, 907, 908, 5, 1, 0, 0, 908, 909, 3, 140, 70, 0, 909, 910, 3, 184, 92, 0, 910, 911, 3, 186, 93, 0, 911, 912, 5, 2, 0, 0, 912, 913, 5, 4, 0, 0, 913, 97, 1, 0, 0, 0, 914, 915, 5, 134, 0, 0, 915, 916, 5, 3, 0, 0, 916, 917, 5, 1, 0, 0, 917, 919, 3, 142, 71, 0, 918, 920, 3, 188, 94, 0, 919, 918, 1, 0, 0, 0, 919, 920, 1, 0, 0, 0, 920, 921, 1, 0, 0, 0, 921, 922, 3, 226, 113, 0, 922, 923, 5, 2, 0, 0, 923, 924, 5, 4, 0, 0, 924, 99, 1, 0, 0, 0, 925, 926, 5, 134, 0, 0, 926, 927, 5, 3, 0, 0, 927, 928, 5, 1, 0, 0, 928, 929, 3, 144, 72, 0, 929, 930, 3, 180, 90, 0, 930, 932, 3, 336, 168, 0, 931, 933, 3, 192, 96, 0, 932, 931, 1, 0, 0, 0, 932, 933, 1, 0, 0, 0, 933, 934, 1, 0, 0, 0, 934, 935, 3, 194, 97, 0, 935, 936, 3, 196, 98, 0, 936, 937, 3, 338, 169, 0, 937, 938, 5, 2, 0, 0, 938, 939, 5, 4, 0, 0, 939, 101, 1, 0, 0, 0, 940, 941, 5, 12, 0, 0, 941, 942, 5, 3, 0, 0, 942, 943, 5, 19, 0, 0, 943, 944, 5, 4, 0, 0, 944, 103, 1, 0, 0, 0, 945, 946, 5, 12, 0, 0, 946, 947, 5, 3, 0, 0, 947, 948, 5, 20, 0, 0, 948, 949, 5, 4, 0, 0, 949, 105, 1, 0, 0, 0, 950, 951, 5, 12, 0, 0, 951, 952, 5, 3, 0, 0, 952, 953, 5, 21, 0, 0, 953, 954, 5, 4, 0, 0, 954, 107, 1, 0, 0, 0, 955, 956, 5, 12, 0, 0, 956, 957, 5, 3, 0, 0, 957, 958, 5, 22, 0, 0, 958, 959, 5, 4, 0, 0, 959, 109, 1, 0, 0, 0, 960, 961, 5, 12, 0, 0, 961, 962, 5, 3, 0, 0, 962, 963, 5, 23, 0, 0, 963, 964, 5, 4, 0, 0, 964, 111, 1, 0, 0, 0, 965, 966, 5, 12, 0, 0, 966, 967, 5, 3, 0, 0, 967, 968, 5, 24, 0, 0, 968, 969, 5, 4, 0, 0, 969, 113, 1, 0, 0, 0, 970, 971, 5, 12, 0, 0, 971, 972, 5, 3, 0, 0, 972, 973, 5, 25, 0, 0, 973, 974, 5, 4, 0, 0, 974, 115, 1, 0, 0, 0, 975, 976, 5, 12, 0, 0, 976, 977, 5, 3, 0, 0, 977, 978, 5, 26, 0, 0, 978, 979, 5, 4, 0, 0, 979, 117, 1, 0, 0, 0, 980, 981, 5, 12, 0, 0, 981, 982, 5, 3, 0, 0, 982, 983, 5, 27, 0, 0, 983, 984, 5, 4, 0, 0, 984, 119, 1, 0, 0, 0, 985, 986, 5, 12, 0, 0, 986, 987, 5, 3, 0, 0, 987, 988, 5, 28, 0, 0, 988, 989, 5, 4, 0, 0, 989, 121, 1, 0, 0, 0, 990, 991, 5, 12, 0, 0, 991, 992, 5, 3, 0, 0, 992, 993, 5, 29, 0, 0, 993, 994, 5, 4, 0, 0, 994, 123, 1, 0, 0, 0, 995, 996, 5, 12, 0, 0, 996, 997, 5, 3, 0, 0, 997, 998, 5, 30, 0, 0, 998, 999, 5, 4, 0, 0, 999, 125, 1, 0, 0, 0, 1000, 1001, 5, 12, 0, 0, 1001, 1002, 5, 3, 0, 0, 1002, 1003, 5, 31, 0, 0, 1003, 1004, 5, 4, 0, 0, 1004, 127, 1, 0, 0, 0, 1005, 1006, 5, 12, 0, 0, 1006, 1007, 5, 3, 0, 0, 1007, 1008, 5, 32, 0, 0, 1008, 1009, 5, 4, 0, 0, 1009, 129, 1, 0, 0, 0, 1010, 1011, 5, 12, 0, 0, 1011, 1012, 5, 3, 0, 0, 1012, 1013, 5, 33, 0, 0, 1013, 1014, 5, 4, 0, 0, 1014, 131, 1, 0, 0, 0, 1015, 1016, 5, 12, 0, 0, 1016, 1017, 5, 3, 0, 0, 1017, 1018, 5, 34, 0, 0, 1018, 1019, 5, 4, 0, 0, 1019, 133, 1, 0, 0, 0, 1020, 1021, 5, 12, 0, 0, 1021, 1022, 5, 3, 0, 0, 1022, 1023, 5, 35, 0, 0, 1023, 1024, 5, 4, 0, 0, 1024, 135, 1, 0, 0, 0, 1025, 1026, 5, 12, 0, 0, 1026, 1027, 5, 3, 0, 0, 1027, 1028, 5, 36, 0, 0, 1028, 1029, 5, 4, 0, 0, 1029, 137, 1, 0, 0, 0, 1030, 1031, 5, 12, 0, 0, 1031, 1032, 5, 3, 0, 0, 1032, 1033, 5, 37, 0, 0, 1033, 1034, 5, 4, 0, 0, 1034, 139, 1, 0, 0, 0, 1035, 1036, 5, 12, 0, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1038, 5, 38, 0, 0, 1038, 1039, 5, 4, 0, 0, 1039, 141, 1, 0, 0, 0, 1040, 1041, 5, 12, 0, 0, 1041, 1042, 5, 3, 0, 0, 1042, 1043, 5, 39, 0, 0, 1043, 1044, 5, 4, 0, 0, 1044, 143, 1, 0, 0, 0, 1045, 1046, 5, 12, 0, 0, 1046, 1047, 5, 3, 0, 0, 1047, 1048, 5, 40, 0, 0, 1048, 1049, 5, 4, 0, 0, 1049, 145, 1, 0, 0, 0, 1050, 1051, 5, 41, 0, 0, 1051, 1052, 5, 3, 0, 0, 1052, 1053, 5, 134, 0, 0, 1053, 1054, 5, 4, 0, 0, 1054, 147, 1, 0, 0, 0, 1055, 1056, 5, 42, 0, 0, 1056, 1057, 5, 3, 0, 0, 1057, 1058, 5, 134, 0, 0, 1058, 1059, 5, 4, 0, 0, 1059, 149, 1, 0, 0, 0, 1060, 1061, 5, 43, 0, 0, 1061, 1062, 5, 3, 0, 0, 1062, 1063, 5, 134, 0, 0, 1063, 1064, 5, 4, 0, 0, 1064, 151, 1, 0, 0, 0, 1065, 1066, 5, 44, 0, 0, 1066, 1067, 5, 3, 0, 0, 1067, 1068, 5, 13, 0, 0, 1068, 1069, 5, 4, 0, 0, 1069, 153, 1, 0, 0, 0, 1070, 1071, 5, 45, 0, 0, 1071, 1072, 5, 3, 0, 0, 1072, 1073, 5, 134, 0, 0, 1073, 1074, 5, 4, 0, 0, 1074, 155, 1, 0, 0, 0, 1075, 1076, 5, 46, 0, 0, 1076, 1077, 5, 3, 0, 0, 1077, 1078, 3, 344, 172, 0, 1078, 1079, 5, 4, 0, 0, 1079, 157, 1, 0, 0, 0, 1080, 1081, 5, 47, 0, 0, 1081, 1082, 5, 3, 0, 0, 1082, 1083, 5, 13, 0, 0, 1083, 1084, 5, 4, 0, 0, 1084, 159, 1, 0, 0, 0, 1085, 1086, 5, 48, 0, 0, 1086, 1087, 5, 3, 0, 0, 1087, 1088, 3, 344, 172, 0, 1088, 1089, 5, 4, 0, 0, 1089, 161, 1, 0, 0, 0, 1090, 1091, 5, 49, 0, 0, 1091, 1092, 5, 3, 0, 0, 1092, 1093, 3, 344, 172, 0, 1093, 1094, 5, 4, 0, 0, 1094, 163, 1, 0, 0, 0, 1095, 1096, 5, 50, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 1098, 3, 344, 172, 0, 1098, 1099, 5, 4, 0, 0, 1099, 165, 1, 0, 0, 0, 1100, 1101, 5, 51, 0, 0, 1101, 1102, 5, 3, 0, 0, 1102, 1103, 5, 13, 0, 0, 1103, 1104, 5, 4, 0, 0, 1104, 167, 1, 0, 0, 0, 1105, 1106, 5, 52, 0, 0, 1106, 1107, 5, 3, 0, 0, 1107, 1108, 5, 13, 0, 0, 1108, 1109, 5, 4, 0, 0, 1109, 169, 1, 0, 0, 0, 1110, 1111, 5, 53, 0, 0, 1111, 1112, 5, 3, 0, 0, 1112, 1113, 5, 13, 0, 0, 1113, 1114, 5, 4, 0, 0, 1114, 171, 1, 0, 0, 0, 1115, 1116, 5, 54, 0, 0, 1116, 1117, 5, 3, 0, 0, 1117, 1118, 5, 13, 0, 0, 1118, 1119, 5, 4, 0, 0, 1119, 173, 1, 0, 0, 0, 1120, 1121, 5, 55, 0, 0, 1121, 1122, 5, 3, 0, 0, 1122, 1123, 5, 13, 0, 0, 1123, 1124, 5, 4, 0, 0, 1124, 175, 1, 0, 0, 0, 1125, 1126, 5, 56, 0, 0, 1126, 1127, 5, 3, 0, 0, 1127, 1128, 3, 342, 171, 0, 1128, 1129, 5, 4, 0, 0, 1129, 177, 1, 0, 0, 0, 1130, 1131, 5, 57, 0, 0, 1131, 1132, 5, 3, 0, 0, 1132, 1133, 3, 206, 103, 0, 1133, 1134, 5, 4, 0, 0, 1134, 179, 1, 0, 0, 0, 1135, 1136, 5, 58, 0, 0, 1136, 1137, 5, 3, 0, 0, 1137, 1138, 3, 204, 102, 0, 1138, 1139, 5, 4, 0, 0, 1139, 181, 1, 0, 0, 0, 1140, 1141, 5, 59, 0, 0, 1141, 1142, 5, 3, 0, 0, 1142, 1143, 5, 135, 0, 0, 1143, 1144, 5, 4, 0, 0, 1144, 183, 1, 0, 0, 0, 1145, 1146, 5, 60, 0, 0, 1146, 1147, 5, 3, 0, 0, 1147, 1148, 5, 135, 0, 0, 1148, 1149, 5, 4, 0, 0, 1149, 185, 1, 0, 0, 0, 1150, 1151, 5, 61, 0, 0, 1151, 1152, 5, 3, 0, 0, 1152, 1156, 5, 1, 0, 0, 1153, 1155, 3, 324, 162, 0, 1154, 1153, 1, 0, 0, 0, 1155, 1158, 1, 0, 0, 0, 1156, 1154, 1, 0, 0, 0, 1156, 1157, 1, 0, 0, 0, 1157, 1159, 1, 0, 0, 0, 1158, 1156, 1, 0, 0, 0, 1159, 1160, 5, 2, 0, 0, 1160, 1161, 5, 4, 0, 0, 1161, 187, 1, 0, 0, 0, 1162, 1163, 5, 62, 0, 0, 1163, 1164, 5, 3, 0, 0, 1164, 1165, 5, 134, 0, 0, 1165, 1166, 5, 4, 0, 0, 1166, 189, 1, 0, 0, 0, 1167, 1168, 5, 63, 0, 0, 1168, 1169, 5, 3, 0, 0, 1169, 1170, 3, 204, 102, 0, 1170, 1171, 5, 4, 0, 0, 1171, 191, 1, 0, 0, 0, 1172, 1173, 5, 64, 0, 0, 1173, 1174, 5, 3, 0, 0, 1174, 1175, 3, 342, 171, 0, 1175, 1176, 5, 4, 0, 0, 1176, 193, 1, 0, 0, 0, 1177, 1178, 5, 65, 0, 0, 1178, 1179, 5, 3, 0, 0, 1179, 1180, 3, 342, 171, 0, 1180, 1181, 5, 4, 0, 0, 1181, 195, 1, 0, 0, 0, 1182, 1183, 5, 66, 0, 0, 1183, 1184, 5, 3, 0, 0, 1184, 1185, 3, 342, 171, 0, 1185, 1186, 5, 4, 0, 0, 1186, 197, 1, 0, 0, 0, 1187, 1188, 5, 67, 0, 0, 1188, 1189, 5, 3, 0, 0, 1189, 1190, 5, 13, 0, 0, 1190, 1191, 5, 4, 0, 0, 1191, 199, 1, 0, 0, 0, 1192, 1193, 5, 68, 0, 0, 1193, 1194, 5, 3, 0, 0, 1194, 1195, 3, 204, 102, 0, 1195, 1196, 5, 4, 0, 0, 1196, 201, 1, 0, 0, 0, 1197, 1198, 5, 69, 0, 0, 1198, 1199, 5, 3, 0, 0, 1199, 1200, 5, 13, 0, 0, 1200, 1201, 5, 4, 0, 0, 1201, 203, 1, 0, 0, 0, 1202, 1207, 5, 5, 0, 0, 1203, 1204, 5, 134, 0, 0, 1204, 1206, 5, 6, 0, 0, 1205, 1203, 1, 0, 0, 0, 1206, 1209, 1, 0, 0, 0, 1207, 1205, 1, 0, 0, 0, 1207, 1208, 1, 0, 0, 0, 1208, 1210, 1, 0, 0, 0, 1209, 1207, 1, 0, 0, 0, 1210, 1211, 5, 7, 0, 0, 1211, 205, 1, 0, 0, 0, 1212, 1218, 5, 5, 0, 0, 1213, 1214, 3, 344, 172, 0, 1214, 1215, 5, 6, 0, 0, 1215, 1217, 1, 0, 0, 0, 1216, 1213, 1, 0, 0, 0, 1217, 1220, 1, 0, 0, 0, 1218, 1216, 1, 0, 0, 0, 1218, 1219, 1, 0, 0, 0, 1219, 1221, 1, 0, 0, 0, 1220, 1218, 1, 0, 0, 0, 1221, 1222, 5, 7, 0, 0, 1222, 207, 1, 0, 0, 0, 1223, 1228, 5, 5, 0, 0, 1224, 1225, 5, 136, 0, 0, 1225, 1227, 5, 6, 0, 0, 1226, 1224, 1, 0, 0, 0, 1227, 1230, 1, 0, 0, 0, 1228, 1226, 1, 0, 0, 0, 1228, 1229, 1, 0, 0, 0, 1229, 1231, 1, 0, 0, 0, 1230, 1228, 1, 0, 0, 0, 1231, 1232, 5, 7, 0, 0, 1232, 209, 1, 0, 0, 0, 1233, 1234, 5, 70, 0, 0, 1234, 1235, 5, 3, 0, 0, 1235, 1236, 5, 134, 0, 0, 1236, 1237, 5, 4, 0, 0, 1237, 211, 1, 0, 0, 0, 1238, 1239, 5, 71, 0, 0, 1239, 1240, 5, 3, 0, 0, 1240, 1241, 3, 204, 102, 0, 1241, 1242, 5, 4, 0, 0, 1242, 213, 1, 0, 0, 0, 1243, 1244, 5, 72, 0, 0, 1244, 1245, 5, 3, 0, 0, 1245, 1246, 3, 204, 102, 0, 1246, 1247, 5, 4, 0, 0, 1247, 215, 1, 0, 0, 0, 1248, 1249, 5, 73, 0, 0, 1249, 1250, 5, 3, 0, 0, 1250, 1251, 3, 342, 171, 0, 1251, 1252, 5, 4, 0, 0, 1252, 217, 1, 0, 0, 0, 1253, 1254, 5, 74, 0, 0, 1254, 1255, 5, 3, 0, 0, 1255, 1256, 3, 342, 171, 0, 1256, 1257, 5, 4, 0, 0, 1257, 219, 1, 0, 0, 0, 1258, 1259, 5, 75, 0, 0, 1259, 1260, 5, 3, 0, 0, 1260, 1261, 3, 342, 171, 0, 1261, 1262, 5, 4, 0, 0, 1262, 221, 1, 0, 0, 0, 1263, 1264, 5, 76, 0, 0, 1264, 1265, 5, 3, 0, 0, 1265, 1266, 5, 13, 0, 0, 1266, 1267, 5, 4, 0, 0, 1267, 223, 1, 0, 0, 0, 1268, 1269, 5, 77, 0, 0, 1269, 1270, 5, 3, 0, 0, 1270, 1271, 3, 204, 102, 0, 1271, 1272, 5, 4, 0, 0, 1272, 225, 1, 0, 0, 0, 1273, 1274, 5, 78, 0, 0, 1274, 1275, 5, 3, 0, 0, 1275, 1276, 3, 344, 172, 0, 1276, 1277, 5, 4, 0, 0, 1277, 227, 1, 0, 0, 0, 1278, 1279, 5, 79, 0, 0, 1279, 1280, 5, 3, 0, 0, 1280, 1281, 5, 134, 0, 0, 1281, 1282, 5, 4, 0, 0, 1282, 229, 1, 0, 0, 0, 1283, 1284, 5, 80, 0, 0, 1284, 1285, 5, 3, 0, 0, 1285, 1286, 5, 135, 0, 0, 1286, 1287, 5, 4, 0, 0, 1287, 231, 1, 0, 0, 0, 1288, 1289, 5, 81, 0, 0, 1289, 1290, 5, 3, 0, 0, 1290, 1291, 5, 13, 0, 0, 1291, 1292, 5, 4, 0, 0, 1292, 233, 1, 0, 0, 0, 1293, 1294, 5, 82, 0, 0, 1294, 1295, 5, 3, 0, 0, 1295, 1296, 3, 344, 172, 0, 1296, 1297, 5, 4, 0, 0, 1297, 235, 1, 0, 0, 0, 1298, 1299, 5, 83, 0, 0, 1299, 1300, 5, 3, 0, 0, 1300, 1301, 3, 344, 172, 0, 1301, 1302, 5, 4, 0, 0, 1302, 237, 1, 0, 0, 0, 1303, 1304, 5, 84, 0, 0, 1304, 1305, 5, 3, 0, 0, 1305, 1307, 5, 1, 0, 0, 1306, 1308, 3, 246, 123, 0, 1307, 1306, 1, 0, 0, 0, 1307, 1308, 1, 0, 0, 0, 1308, 1310, 1, 0, 0, 0, 1309, 1311, 3, 340, 170, 0, 1310, 1309, 1, 0, 0, 0, 1310, 1311, 1, 0, 0, 0, 1311, 1313, 1, 0, 0, 0, 1312, 1314, 3, 242, 121, 0, 1313, 1312, 1, 0, 0, 0, 1313, 1314, 1, 0, 0, 0, 1314, 1316, 1, 0, 0, 0, 1315, 1317, 3, 240, 120, 0, 1316, 1315, 1, 0, 0, 0, 1316, 1317, 1, 0, 0, 0, 1317, 1319, 1, 0, 0, 0, 1318, 1320, 3, 244, 122, 0, 1319, 1318, 1, 0, 0, 0, 1319, 1320, 1, 0, 0, 0, 1320, 1322, 1, 0, 0, 0, 1321, 1323, 3, 248, 124, 0, 1322, 1321, 1, 0, 0, 0, 1322, 1323, 1, 0, 0, 0, 1323, 1325, 1, 0, 0, 0, 1324, 1326, 3, 250, 125, 0, 1325, 1324, 1, 0, 0, 0, 1325, 1326, 1, 0, 0, 0, 1326, 1328, 1, 0, 0, 0, 1327, 1329, 3, 252, 126, 0, 1328, 1327, 1, 0, 0, 0, 1328, 1329, 1, 0, 0, 0, 1329, 1331, 1, 0, 0, 0, 1330, 1332, 3, 254, 127, 0, 1331, 1330, 1, 0, 0, 0, 1331, 1332, 1, 0, 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 5, 2, 0, 0, 1334, 1335, 5, 4, 0, 0, 1335, 239, 1, 0, 0, 0, 1336, 1337, 5, 85, 0, 0, 1337, 1338, 5, 3, 0, 0, 1338, 1339, 5, 13, 0, 0, 1339, 1340, 5, 4, 0, 0, 1340, 241, 1, 0, 0, 0, 1341, 1342, 5, 86, 0, 0, 1342, 1343, 5, 3, 0, 0, 1343, 1344, 5, 136, 0, 0, 1344, 1345, 5, 4, 0, 0, 1345, 243, 1, 0, 0, 0, 1346, 1347, 5, 87, 0, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1349, 5, 13, 0, 0, 1349, 1350, 5, 4, 0, 0, 1350, 245, 1, 0, 0, 0, 1351, 1352, 5, 88, 0, 0, 1352, 1353, 5, 3, 0, 0, 1353, 1354, 7, 0, 0, 0, 1354, 1355, 5, 4, 0, 0, 1355, 247, 1, 0, 0, 0, 1356, 1357, 5, 89, 0, 0, 1357, 1358, 5, 3, 0, 0, 1358, 1359, 5, 13, 0, 0, 1359, 1360, 5, 4, 0, 0, 1360, 249, 1, 0, 0, 0, 1361, 1362, 5, 90, 0, 0, 1362, 1363, 5, 3, 0, 0, 1363, 1364, 5, 13, 0, 0, 1364, 1365, 5, 4, 0, 0, 1365, 251, 1, 0, 0, 0, 1366, 1367, 5, 91, 0, 0, 1367, 1368, 5, 3, 0, 0, 1368, 1369, 3, 344, 172, 0, 1369, 1370, 5, 4, 0, 0, 1370, 253, 1, 0, 0, 0, 1371, 1372, 5, 92, 0, 0, 1372, 1373, 5, 3, 0, 0, 1373, 1377, 5, 1, 0, 0, 1374, 1376, 3, 256, 128, 0, 1375, 1374, 1, 0, 0, 0, 1376, 1379, 1, 0, 0, 0, 1377, 1375, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, 0, 1378, 1380, 1, 0, 0, 0, 1379, 1377, 1, 0, 0, 0, 1380, 1381, 5, 2, 0, 0, 1381, 1382, 5, 4, 0, 0, 1382, 255, 1, 0, 0, 0, 1383, 1384, 5, 134, 0, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1387, 5, 1, 0, 0, 1386, 1388, 3, 258, 129, 0, 1387, 1386, 1, 0, 0, 0, 1387, 1388, 1, 0, 0, 0, 1388, 1390, 1, 0, 0, 0, 1389, 1391, 3, 260, 130, 0, 1390, 1389, 1, 0, 0, 0, 1390, 1391, 1, 0, 0, 0, 1391, 1393, 1, 0, 0, 0, 1392, 1394, 3, 262, 131, 0, 1393, 1392, 1, 0, 0, 0, 1393, 1394, 1, 0, 0, 0, 1394, 1396, 1, 0, 0, 0, 1395, 1397, 3, 264, 132, 0, 1396, 1395, 1, 0, 0, 0, 1396, 1397, 1, 0, 0, 0, 1397, 1399, 1, 0, 0, 0, 1398, 1400, 3, 240, 120, 0, 1399, 1398, 1, 0, 0, 0, 1399, 1400, 1, 0, 0, 0, 1400, 1402, 1, 0, 0, 0, 1401, 1403, 3, 266, 133, 0, 1402, 1401, 1, 0, 0, 0, 1402, 1403, 1, 0, 0, 0, 1403, 1405, 1, 0, 0, 0, 1404, 1406, 3, 334, 167, 0, 1405, 1404, 1, 0, 0, 0, 1405, 1406, 1, 0, 0, 0, 1406, 1408, 1, 0, 0, 0, 1407, 1409, 3, 260, 130, 0, 1408, 1407, 1, 0, 0, 0, 1408, 1409, 1, 0, 0, 0, 1409, 1410, 1, 0, 0, 0, 1410, 1411, 5, 2, 0, 0, 1411, 1412, 5, 4, 0, 0, 1412, 257, 1, 0, 0, 0, 1413, 1414, 5, 93, 0, 0, 1414, 1415, 5, 3, 0, 0, 1415, 1416, 5, 136, 0, 0, 1416, 1417, 5, 4, 0, 0, 1417, 259, 1, 0, 0, 0, 1418, 1419, 5, 94, 0, 0, 1419, 1420, 5, 3, 0, 0, 1420, 1421, 5, 134, 0, 0, 1421, 1422, 5, 4, 0, 0, 1422, 261, 1, 0, 0, 0, 1423, 1424, 5, 95, 0, 0, 1424, 1425, 5, 3, 0, 0, 1425, 1426, 3, 342, 171, 0, 1426, 1427, 5, 4, 0, 0, 1427, 263, 1, 0, 0, 0, 1428, 1429, 5, 96, 0, 0, 1429, 1430, 5, 3, 0, 0, 1430, 1431, 3, 342, 171, 0, 1431, 1432, 5, 4, 0, 0, 1432, 265, 1, 0, 0, 0, 1433, 1434, 5, 97, 0, 0, 1434, 1435, 5, 3, 0, 0, 1435, 1436, 5, 136, 0, 0, 1436, 1437, 5, 4, 0, 0, 1437, 267, 1, 0, 0, 0, 1438, 1439, 5, 98, 0, 0, 1439, 1440, 5, 3, 0, 0, 1440, 1441, 5, 135, 0, 0, 1441, 1442, 5, 4, 0, 0, 1442, 269, 1, 0, 0, 0, 1443, 1444, 5, 99, 0, 0, 1444, 1445, 5, 3, 0, 0, 1445, 1446, 5, 136, 0, 0, 1446, 1447, 5, 4, 0, 0, 1447, 271, 1, 0, 0, 0, 1448, 1449, 5, 100, 0, 0, 1449, 1450, 5, 3, 0, 0, 1450, 1451, 5, 13, 0, 0, 1451, 1452, 5, 4, 0, 0, 1452, 273, 1, 0, 0, 0, 1453, 1454, 5, 101, 0, 0, 1454, 1455, 5, 3, 0, 0, 1455, 1456, 3, 206, 103, 0, 1456, 1457, 5, 4, 0, 0, 1457, 275, 1, 0, 0, 0, 1458, 1459, 5, 102, 0, 0, 1459, 1460, 5, 3, 0, 0, 1460, 1461, 5, 134, 0, 0, 1461, 1462, 5, 4, 0, 0, 1462, 277, 1, 0, 0, 0, 1463, 1464, 5, 103, 0, 0, 1464, 1465, 5, 3, 0, 0, 1465, 1466, 5, 134, 0, 0, 1466, 1467, 5, 4, 0, 0, 1467, 279, 1, 0, 0, 0, 1468, 1469, 5, 104, 0, 0, 1469, 1470, 5, 3, 0, 0, 1470, 1471, 3, 204, 102, 0, 1471, 1472, 5, 4, 0, 0, 1472, 281, 1, 0, 0, 0, 1473, 1474, 5, 105, 0, 0, 1474, 1475, 5, 3, 0, 0, 1475, 1476, 3, 342, 171, 0, 1476, 1477, 5, 4, 0, 0, 1477, 283, 1, 0, 0, 0, 1478, 1479, 5, 106, 0, 0, 1479, 1480, 5, 3, 0, 0, 1480, 1481, 3, 344, 172, 0, 1481, 1482, 5, 4, 0, 0, 1482, 1491, 1, 0, 0, 0, 1483, 1484, 5, 106, 0, 0, 1484, 1485, 5, 3, 0, 0, 1485, 1486, 5, 5, 0, 0, 1486, 1487, 3, 320, 160, 0, 1487, 1488, 5, 7, 0, 0, 1488, 1489, 5, 4, 0, 0, 1489, 1491, 1, 0, 0, 0, 1490, 1478, 1, 0, 0, 0, 1490, 1483, 1, 0, 0, 0, 1491, 285, 1, 0, 0, 0, 1492, 1493, 5, 107, 0, 0, 1493, 1494, 5, 3, 0, 0, 1494, 1495, 3, 342, 171, 0, 1495, 1496, 5, 4, 0, 0, 1496, 287, 1, 0, 0, 0, 1497, 1498, 5, 108, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 1500, 3, 204, 102, 0, 1500, 1501, 5, 4, 0, 0, 1501, 289, 1, 0, 0, 0, 1502, 1503, 5, 109, 0, 0, 1503, 1504, 5, 3, 0, 0, 1504, 1505, 3, 206, 103, 0, 1505, 1506, 5, 4, 0, 0, 1506, 291, 1, 0, 0, 0, 1507, 1508, 5, 110, 0, 0, 1508, 1509, 5, 3, 0, 0, 1509, 1510, 3, 206, 103, 0, 1510, 1511, 5, 4, 0, 0, 1511, 293, 1, 0, 0, 0, 1512, 1513, 5, 111, 0, 0, 1513, 1514, 5, 3, 0, 0, 1514, 1515, 3, 206, 103, 0, 1515, 1516, 5, 4, 0, 0, 1516, 295, 1, 0, 0, 0, 1517, 1518, 5, 112, 0, 0, 1518, 1519, 5, 3, 0, 0, 1519, 1520, 3, 206, 103, 0, 1520, 1521, 5, 4, 0, 0, 1521, 297, 1, 0, 0, 0, 1522, 1523, 5, 113, 0, 0, 1523, 1524, 5, 3, 0, 0, 1524, 1525, 5, 136, 0, 0, 1525, 1526, 5, 4, 0, 0, 1526, 299, 1, 0, 0, 0, 1527, 1528, 5, 114, 0, 0, 1528, 1529, 5, 3, 0, 0, 1529, 1530, 3, 342, 171, 0, 1530, 1531, 5, 4, 0, 0, 1531, 301, 1, 0, 0, 0, 1532, 1533, 5, 115, 0, 0, 1533, 1534, 5, 3, 0, 0, 1534, 1535, 5, 13, 0, 0, 1535, 1536, 5, 4, 0, 0, 1536, 303, 1, 0, 0, 0, 1537, 1538, 5, 116, 0, 0, 1538, 1539, 5, 3, 0, 0, 1539, 1540, 5, 134, 0, 0, 1540, 1541, 5, 4, 0, 0, 1541, 305, 1, 0, 0, 0, 1542, 1543, 5, 117, 0, 0, 1543, 1544, 5, 3, 0, 0, 1544, 1545, 5, 134, 0, 0, 1545, 1546, 5, 4, 0, 0, 1546, 307, 1, 0, 0, 0, 1547, 1548, 5, 118, 0, 0, 1548, 1549, 5, 3, 0, 0, 1549, 1550, 3, 344, 172, 0, 1550, 1551, 5, 4, 0, 0, 1551, 309, 1, 0, 0, 0, 1552, 1553, 5, 119, 0, 0, 1553, 1554, 5, 3, 0, 0, 1554, 1555, 5, 134, 0, 0, 1555, 1556, 5, 4, 0, 0, 1556, 311, 1, 0, 0, 0, 1557, 1558, 5, 120, 0, 0, 1558, 1559, 5, 3, 0, 0, 1559, 1560, 5, 134, 0, 0, 1560, 1561, 5, 4, 0, 0, 1561, 313, 1, 0, 0, 0, 1562, 1563, 5, 121, 0, 0, 1563, 1564, 5, 3, 0, 0, 1564, 1568, 5, 1, 0, 0, 1565, 1567, 3, 324, 162, 0, 1566, 1565, 1, 0, 0, 0, 1567, 1570, 1, 0, 0, 0, 1568, 1566, 1, 0, 0, 0, 1568, 1569, 1, 0, 0, 0, 1569, 1571, 1, 0, 0, 0, 1570, 1568, 1, 0, 0, 0, 1571, 1572, 5, 2, 0, 0, 1572, 1573, 5, 4, 0, 0, 1573, 315, 1, 0, 0, 0, 1574, 1575, 5, 122, 0, 0, 1575, 1576, 5, 3, 0, 0, 1576, 1577, 3, 342, 171, 0, 1577, 1578, 5, 4, 0, 0, 1578, 317, 1, 0, 0, 0, 1579, 1580, 5, 123, 0, 0, 1580, 1581, 5, 3, 0, 0, 1581, 1582, 5, 13, 0, 0, 1582, 1583, 5, 4, 0, 0, 1583, 319, 1, 0, 0, 0, 1584, 1586, 3, 322, 161, 0, 1585, 1584, 1, 0, 0, 0, 1586, 1589, 1, 0, 0, 0, 1587, 1585, 1, 0, 0, 0, 1587, 1588, 1, 0, 0, 0, 1588, 321, 1, 0, 0, 0, 1589, 1587, 1, 0, 0, 0, 1590, 1591, 5, 1, 0, 0, 1591, 1592, 5, 124, 0, 0, 1592, 1593, 5, 3, 0, 0, 1593, 1594, 5, 134, 0, 0, 1594, 1595, 5, 4, 0, 0, 1595, 1596, 5, 125, 0, 0, 1596, 1597, 5, 3, 0, 0, 1597, 1598, 5, 134, 0, 0, 1598, 1599, 5, 4, 0, 0, 1599, 1600, 5, 2, 0, 0, 1600, 1601, 5, 6, 0, 0, 1601, 323, 1, 0, 0, 0, 1602, 1603, 3, 344, 172, 0, 1603, 1604, 5, 3, 0, 0, 1604, 1605, 3, 344, 172, 0, 1605, 1606, 5, 4, 0, 0, 1606, 1639, 1, 0, 0, 0, 1607, 1608, 3, 344, 172, 0, 1608, 1609, 5, 3, 0, 0, 1609, 1610, 5, 13, 0, 0, 1610, 1611, 5, 4, 0, 0, 1611, 1639, 1, 0, 0, 0, 1612, 1613, 3, 344, 172, 0, 1613, 1614, 5, 3, 0, 0, 1614, 1615, 5, 138, 0, 0, 1615, 1616, 5, 4, 0, 0, 1616, 1639, 1, 0, 0, 0, 1617, 1618, 3, 344, 172, 0, 1618, 1619, 5, 3, 0, 0, 1619, 1620, 5, 1, 0, 0, 1620, 1621, 3, 324, 162, 0, 1621, 1622, 5, 2, 0, 0, 1622, 1623, 5, 4, 0, 0, 1623, 1639, 1, 0, 0, 0, 1624, 1625, 3, 344, 172, 0, 1625, 1626, 5, 3, 0, 0, 1626, 1632, 5, 5, 0, 0, 1627, 1628, 3, 344, 172, 0, 1628, 1629, 5, 6, 0, 0, 1629, 1631, 1, 0, 0, 0, 1630, 1627, 1, 0, 0, 0, 1631, 1634, 1, 0, 0, 0, 1632, 1630, 1, 0, 0, 0, 1632, 1633, 1, 0, 0, 0, 1633, 1635, 1, 0, 0, 0, 1634, 1632, 1, 0, 0, 0, 1635, 1636, 5, 7, 0, 0, 1636, 1637, 5, 4, 0, 0, 1637, 1639, 1, 0, 0, 0, 1638, 1602, 1, 0, 0, 0, 1638, 1607, 1, 0, 0, 0, 1638, 1612, 1, 0, 0, 0, 1638, 1617, 1, 0, 0, 0, 1638, 1624, 1, 0, 0, 0, 1639, 325, 1, 0, 0, 0, 1640, 1641, 5, 126, 0, 0, 1641, 1642, 5, 3, 0, 0, 1642, 1643, 3, 204, 102, 0, 1643, 1644, 5, 4, 0, 0, 1644, 327, 1, 0, 0, 0, 1645, 1646, 5, 127, 0, 0, 1646, 1647, 5, 3, 0, 0, 1647, 1648, 5, 13, 0, 0, 1648, 1649, 5, 4, 0, 0, 1649, 329, 1, 0, 0, 0, 1650, 1651, 5, 128, 0, 0, 1651, 1652, 5, 3, 0, 0, 1652, 1653, 3, 342, 171, 0, 1653, 1654, 5, 4, 0, 0, 1654, 331, 1, 0, 0, 0, 1655, 1656, 5, 129, 0, 0, 1656, 1657, 5, 3, 0, 0, 1657, 1661, 5, 1, 0, 0, 1658, 1660, 3, 324, 162, 0, 1659, 1658, 1, 0, 0, 0, 1660, 1663, 1, 0, 0, 0, 1661, 1659, 1, 0, 0, 0, 1661, 1662, 1, 0, 0, 0, 1662, 1664, 1, 0, 0, 0, 1663, 1661, 1, 0, 0, 0, 1664, 1665, 5, 2, 0, 0, 1665, 1666, 5, 4, 0, 0, 1666, 333, 1, 0, 0, 0, 1667, 1668, 5, 130, 0, 0, 1668, 1669, 5, 3, 0, 0, 1669, 1673, 5, 1, 0, 0, 1670, 1672, 3, 324, 162, 0, 1671, 1670, 1, 0, 0, 0, 1672, 1675, 1, 0, 0, 0, 1673, 1671, 1, 0, 0, 0, 1673, 1674, 1, 0, 0, 0, 1674, 1676, 1, 0, 0, 0, 1675, 1673, 1, 0, 0, 0, 1676, 1677, 5, 2, 0, 0, 1677, 1678, 5, 4, 0, 0, 1678, 335, 1, 0, 0, 0, 1679, 1680, 5, 131, 0, 0, 1680, 1681, 5, 3, 0, 0, 1681, 1682, 5, 134, 0, 0, 1682, 1683, 5, 4, 0, 0, 1683, 337, 1, 0, 0, 0, 1684, 1685, 5, 132, 0, 0, 1685, 1686, 5, 3, 0, 0, 1686, 1687, 5, 136, 0, 0, 1687, 1688, 5, 4, 0, 0, 1688, 339, 1, 0, 0, 0, 1689, 1690, 5, 133, 0, 0, 1690, 1691, 5, 3, 0, 0, 1691, 1692, 3, 344, 172, 0, 1692, 1693, 5, 4, 0, 0, 1693, 341, 1, 0, 0, 0, 1694, 1698, 5, 136, 0, 0, 1695, 1698, 5, 135, 0, 0, 1696, 1698, 3, 346, 173, 0, 1697, 1694, 1, 0, 0, 0, 1697, 1695, 1, 0, 0, 0, 1697, 1696, 1, 0, 0, 0, 1698, 343, 1, 0, 0, 0, 1699, 1703, 3, 342, 171, 0, 1700, 1703, 5, 13, 0, 0, 1701, 1703, 5, 137, 0, 0, 1702, 1699, 1, 0, 0, 0, 1702, 1700, 1, 0, 0, 0, 1702, 1701, 1, 0, 0, 0, 1703, 345, 1, 0, 0, 0, 1704, 1705, 7, 1, 0, 0, 1705, 347, 1, 0, 0, 0, 123, 378, 381, 384, 387, 391, 395, 398, 401, 405, 408, 411, 414, 417, 420, 425, 428, 431, 444, 449, 454, 459, 464, 469, 474, 479, 484, 489, 494, 499, 504, 509, 514, 519, 524, 529, 534, 539, 544, 549, 560, 570, 573, 576, 579, 582, 607, 618, 621, 624, 627, 630, 633, 636, 639, 642, 645, 648, 651, 654, 657, 678, 681, 684, 687, 691, 694, 697, 722, 725, 754, 759, 763, 767, 770, 774, 787, 812, 815, 818, 821, 824, 830, 850, 853, 856, 859, 862, 875, 886, 900, 919, 932, 1156, 1207, 1218, 1228, 1307, 1310, 1313, 1316, 1319, 1322, 1325, 1328, 1331, 1377, 1387, 1390, 1393, 1396, 1399, 1402, 1405, 1408, 1490, 1568, 1587, 1632, 1638, 1661, 1673, 1697, 1702] \ No newline at end of file +[4, 1, 143, 1717, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 381, 8, 5, 1, 5, 3, 5, 384, 8, 5, 1, 5, 3, 5, 387, 8, 5, 1, 5, 3, 5, 390, 8, 5, 1, 5, 1, 5, 3, 5, 394, 8, 5, 1, 5, 1, 5, 3, 5, 398, 8, 5, 1, 5, 3, 5, 401, 8, 5, 1, 5, 3, 5, 404, 8, 5, 1, 5, 1, 5, 3, 5, 408, 8, 5, 1, 5, 3, 5, 411, 8, 5, 1, 5, 3, 5, 414, 8, 5, 1, 5, 3, 5, 417, 8, 5, 1, 5, 3, 5, 420, 8, 5, 1, 5, 3, 5, 423, 8, 5, 1, 5, 1, 5, 1, 5, 3, 5, 428, 8, 5, 1, 5, 3, 5, 431, 8, 5, 1, 5, 3, 5, 434, 8, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 4, 7, 445, 8, 7, 11, 7, 12, 7, 446, 1, 8, 4, 8, 450, 8, 8, 11, 8, 12, 8, 451, 1, 9, 4, 9, 455, 8, 9, 11, 9, 12, 9, 456, 1, 10, 4, 10, 460, 8, 10, 11, 10, 12, 10, 461, 1, 11, 4, 11, 465, 8, 11, 11, 11, 12, 11, 466, 1, 12, 4, 12, 470, 8, 12, 11, 12, 12, 12, 471, 1, 13, 4, 13, 475, 8, 13, 11, 13, 12, 13, 476, 1, 14, 4, 14, 480, 8, 14, 11, 14, 12, 14, 481, 1, 15, 4, 15, 485, 8, 15, 11, 15, 12, 15, 486, 1, 16, 4, 16, 490, 8, 16, 11, 16, 12, 16, 491, 1, 17, 4, 17, 495, 8, 17, 11, 17, 12, 17, 496, 1, 18, 4, 18, 500, 8, 18, 11, 18, 12, 18, 501, 1, 19, 4, 19, 505, 8, 19, 11, 19, 12, 19, 506, 1, 20, 4, 20, 510, 8, 20, 11, 20, 12, 20, 511, 1, 21, 4, 21, 515, 8, 21, 11, 21, 12, 21, 516, 1, 22, 4, 22, 520, 8, 22, 11, 22, 12, 22, 521, 1, 23, 4, 23, 525, 8, 23, 11, 23, 12, 23, 526, 1, 24, 4, 24, 530, 8, 24, 11, 24, 12, 24, 531, 1, 25, 4, 25, 535, 8, 25, 11, 25, 12, 25, 536, 1, 26, 4, 26, 540, 8, 26, 11, 26, 12, 26, 541, 1, 27, 4, 27, 545, 8, 27, 11, 27, 12, 27, 546, 1, 28, 4, 28, 550, 8, 28, 11, 28, 12, 28, 551, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 563, 8, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 573, 8, 30, 1, 30, 3, 30, 576, 8, 30, 1, 30, 3, 30, 579, 8, 30, 1, 30, 3, 30, 582, 8, 30, 1, 30, 3, 30, 585, 8, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 610, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 621, 8, 33, 1, 33, 3, 33, 624, 8, 33, 1, 33, 3, 33, 627, 8, 33, 1, 33, 3, 33, 630, 8, 33, 1, 33, 3, 33, 633, 8, 33, 1, 33, 3, 33, 636, 8, 33, 1, 33, 3, 33, 639, 8, 33, 1, 33, 3, 33, 642, 8, 33, 1, 33, 3, 33, 645, 8, 33, 1, 33, 3, 33, 648, 8, 33, 1, 33, 3, 33, 651, 8, 33, 1, 33, 3, 33, 654, 8, 33, 1, 33, 3, 33, 657, 8, 33, 1, 33, 3, 33, 660, 8, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 681, 8, 35, 1, 35, 3, 35, 684, 8, 35, 1, 35, 3, 35, 687, 8, 35, 1, 35, 3, 35, 690, 8, 35, 1, 35, 1, 35, 3, 35, 694, 8, 35, 1, 35, 3, 35, 697, 8, 35, 1, 35, 3, 35, 700, 8, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 3, 37, 725, 8, 37, 1, 37, 3, 37, 728, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 757, 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 762, 8, 39, 1, 39, 1, 39, 3, 39, 766, 8, 39, 1, 39, 1, 39, 3, 39, 770, 8, 39, 1, 39, 3, 39, 773, 8, 39, 1, 39, 1, 39, 3, 39, 777, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 790, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 813, 8, 42, 1, 42, 1, 42, 1, 42, 3, 42, 818, 8, 42, 1, 42, 3, 42, 821, 8, 42, 1, 42, 3, 42, 824, 8, 42, 1, 42, 3, 42, 827, 8, 42, 1, 42, 3, 42, 830, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 836, 8, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 3, 44, 856, 8, 44, 1, 44, 3, 44, 859, 8, 44, 1, 44, 3, 44, 862, 8, 44, 1, 44, 3, 44, 865, 8, 44, 1, 44, 3, 44, 868, 8, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 881, 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 892, 8, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 3, 47, 906, 8, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 925, 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 938, 8, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 5, 94, 1165, 8, 94, 10, 94, 12, 94, 1168, 9, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 5, 103, 1216, 8, 103, 10, 103, 12, 103, 1219, 9, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 5, 104, 1227, 8, 104, 10, 104, 12, 104, 1230, 9, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 5, 105, 1237, 8, 105, 10, 105, 12, 105, 1240, 9, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, 3, 120, 1318, 8, 120, 1, 120, 3, 120, 1321, 8, 120, 1, 120, 3, 120, 1324, 8, 120, 1, 120, 3, 120, 1327, 8, 120, 1, 120, 3, 120, 1330, 8, 120, 1, 120, 3, 120, 1333, 8, 120, 1, 120, 3, 120, 1336, 8, 120, 1, 120, 3, 120, 1339, 8, 120, 1, 120, 3, 120, 1342, 8, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 5, 128, 1386, 8, 128, 10, 128, 12, 128, 1389, 9, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 3, 129, 1398, 8, 129, 1, 129, 3, 129, 1401, 8, 129, 1, 129, 3, 129, 1404, 8, 129, 1, 129, 3, 129, 1407, 8, 129, 1, 129, 3, 129, 1410, 8, 129, 1, 129, 3, 129, 1413, 8, 129, 1, 129, 3, 129, 1416, 8, 129, 1, 129, 3, 129, 1419, 8, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 3, 143, 1501, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 1, 158, 5, 158, 1577, 8, 158, 10, 158, 12, 158, 1580, 9, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, 5, 161, 1596, 8, 161, 10, 161, 12, 161, 1599, 9, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 5, 163, 1641, 8, 163, 10, 163, 12, 163, 1644, 9, 163, 1, 163, 1, 163, 1, 163, 3, 163, 1649, 8, 163, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 167, 1, 167, 1, 167, 1, 167, 5, 167, 1670, 8, 167, 10, 167, 12, 167, 1673, 9, 167, 1, 167, 1, 167, 1, 167, 1, 168, 1, 168, 1, 168, 1, 168, 5, 168, 1682, 8, 168, 10, 168, 12, 168, 1685, 9, 168, 1, 168, 1, 168, 1, 168, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 3, 172, 1708, 8, 172, 1, 173, 1, 173, 1, 173, 3, 173, 1713, 8, 173, 1, 174, 1, 174, 1, 174, 0, 0, 175, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 0, 2, 2, 0, 13, 13, 137, 137, 6, 0, 8, 9, 12, 12, 14, 16, 19, 24, 27, 40, 42, 134, 1670, 0, 350, 1, 0, 0, 0, 2, 352, 1, 0, 0, 0, 4, 360, 1, 0, 0, 0, 6, 365, 1, 0, 0, 0, 8, 371, 1, 0, 0, 0, 10, 376, 1, 0, 0, 0, 12, 438, 1, 0, 0, 0, 14, 444, 1, 0, 0, 0, 16, 449, 1, 0, 0, 0, 18, 454, 1, 0, 0, 0, 20, 459, 1, 0, 0, 0, 22, 464, 1, 0, 0, 0, 24, 469, 1, 0, 0, 0, 26, 474, 1, 0, 0, 0, 28, 479, 1, 0, 0, 0, 30, 484, 1, 0, 0, 0, 32, 489, 1, 0, 0, 0, 34, 494, 1, 0, 0, 0, 36, 499, 1, 0, 0, 0, 38, 504, 1, 0, 0, 0, 40, 509, 1, 0, 0, 0, 42, 514, 1, 0, 0, 0, 44, 519, 1, 0, 0, 0, 46, 524, 1, 0, 0, 0, 48, 529, 1, 0, 0, 0, 50, 534, 1, 0, 0, 0, 52, 539, 1, 0, 0, 0, 54, 544, 1, 0, 0, 0, 56, 549, 1, 0, 0, 0, 58, 553, 1, 0, 0, 0, 60, 567, 1, 0, 0, 0, 62, 589, 1, 0, 0, 0, 64, 600, 1, 0, 0, 0, 66, 615, 1, 0, 0, 0, 68, 664, 1, 0, 0, 0, 70, 674, 1, 0, 0, 0, 72, 704, 1, 0, 0, 0, 74, 714, 1, 0, 0, 0, 76, 735, 1, 0, 0, 0, 78, 751, 1, 0, 0, 0, 80, 783, 1, 0, 0, 0, 82, 797, 1, 0, 0, 0, 84, 807, 1, 0, 0, 0, 86, 840, 1, 0, 0, 0, 88, 850, 1, 0, 0, 0, 90, 873, 1, 0, 0, 0, 92, 886, 1, 0, 0, 0, 94, 898, 1, 0, 0, 0, 96, 910, 1, 0, 0, 0, 98, 919, 1, 0, 0, 0, 100, 930, 1, 0, 0, 0, 102, 945, 1, 0, 0, 0, 104, 950, 1, 0, 0, 0, 106, 955, 1, 0, 0, 0, 108, 960, 1, 0, 0, 0, 110, 965, 1, 0, 0, 0, 112, 970, 1, 0, 0, 0, 114, 975, 1, 0, 0, 0, 116, 980, 1, 0, 0, 0, 118, 985, 1, 0, 0, 0, 120, 990, 1, 0, 0, 0, 122, 995, 1, 0, 0, 0, 124, 1000, 1, 0, 0, 0, 126, 1005, 1, 0, 0, 0, 128, 1010, 1, 0, 0, 0, 130, 1015, 1, 0, 0, 0, 132, 1020, 1, 0, 0, 0, 134, 1025, 1, 0, 0, 0, 136, 1030, 1, 0, 0, 0, 138, 1035, 1, 0, 0, 0, 140, 1040, 1, 0, 0, 0, 142, 1045, 1, 0, 0, 0, 144, 1050, 1, 0, 0, 0, 146, 1055, 1, 0, 0, 0, 148, 1060, 1, 0, 0, 0, 150, 1065, 1, 0, 0, 0, 152, 1070, 1, 0, 0, 0, 154, 1075, 1, 0, 0, 0, 156, 1080, 1, 0, 0, 0, 158, 1085, 1, 0, 0, 0, 160, 1090, 1, 0, 0, 0, 162, 1095, 1, 0, 0, 0, 164, 1100, 1, 0, 0, 0, 166, 1105, 1, 0, 0, 0, 168, 1110, 1, 0, 0, 0, 170, 1115, 1, 0, 0, 0, 172, 1120, 1, 0, 0, 0, 174, 1125, 1, 0, 0, 0, 176, 1130, 1, 0, 0, 0, 178, 1135, 1, 0, 0, 0, 180, 1140, 1, 0, 0, 0, 182, 1145, 1, 0, 0, 0, 184, 1150, 1, 0, 0, 0, 186, 1155, 1, 0, 0, 0, 188, 1160, 1, 0, 0, 0, 190, 1172, 1, 0, 0, 0, 192, 1177, 1, 0, 0, 0, 194, 1182, 1, 0, 0, 0, 196, 1187, 1, 0, 0, 0, 198, 1192, 1, 0, 0, 0, 200, 1197, 1, 0, 0, 0, 202, 1202, 1, 0, 0, 0, 204, 1207, 1, 0, 0, 0, 206, 1212, 1, 0, 0, 0, 208, 1222, 1, 0, 0, 0, 210, 1233, 1, 0, 0, 0, 212, 1243, 1, 0, 0, 0, 214, 1248, 1, 0, 0, 0, 216, 1253, 1, 0, 0, 0, 218, 1258, 1, 0, 0, 0, 220, 1263, 1, 0, 0, 0, 222, 1268, 1, 0, 0, 0, 224, 1273, 1, 0, 0, 0, 226, 1278, 1, 0, 0, 0, 228, 1283, 1, 0, 0, 0, 230, 1288, 1, 0, 0, 0, 232, 1293, 1, 0, 0, 0, 234, 1298, 1, 0, 0, 0, 236, 1303, 1, 0, 0, 0, 238, 1308, 1, 0, 0, 0, 240, 1313, 1, 0, 0, 0, 242, 1346, 1, 0, 0, 0, 244, 1351, 1, 0, 0, 0, 246, 1356, 1, 0, 0, 0, 248, 1361, 1, 0, 0, 0, 250, 1366, 1, 0, 0, 0, 252, 1371, 1, 0, 0, 0, 254, 1376, 1, 0, 0, 0, 256, 1381, 1, 0, 0, 0, 258, 1393, 1, 0, 0, 0, 260, 1423, 1, 0, 0, 0, 262, 1428, 1, 0, 0, 0, 264, 1433, 1, 0, 0, 0, 266, 1438, 1, 0, 0, 0, 268, 1443, 1, 0, 0, 0, 270, 1448, 1, 0, 0, 0, 272, 1453, 1, 0, 0, 0, 274, 1458, 1, 0, 0, 0, 276, 1463, 1, 0, 0, 0, 278, 1468, 1, 0, 0, 0, 280, 1473, 1, 0, 0, 0, 282, 1478, 1, 0, 0, 0, 284, 1483, 1, 0, 0, 0, 286, 1500, 1, 0, 0, 0, 288, 1502, 1, 0, 0, 0, 290, 1507, 1, 0, 0, 0, 292, 1512, 1, 0, 0, 0, 294, 1517, 1, 0, 0, 0, 296, 1522, 1, 0, 0, 0, 298, 1527, 1, 0, 0, 0, 300, 1532, 1, 0, 0, 0, 302, 1537, 1, 0, 0, 0, 304, 1542, 1, 0, 0, 0, 306, 1547, 1, 0, 0, 0, 308, 1552, 1, 0, 0, 0, 310, 1557, 1, 0, 0, 0, 312, 1562, 1, 0, 0, 0, 314, 1567, 1, 0, 0, 0, 316, 1572, 1, 0, 0, 0, 318, 1584, 1, 0, 0, 0, 320, 1589, 1, 0, 0, 0, 322, 1597, 1, 0, 0, 0, 324, 1600, 1, 0, 0, 0, 326, 1648, 1, 0, 0, 0, 328, 1650, 1, 0, 0, 0, 330, 1655, 1, 0, 0, 0, 332, 1660, 1, 0, 0, 0, 334, 1665, 1, 0, 0, 0, 336, 1677, 1, 0, 0, 0, 338, 1689, 1, 0, 0, 0, 340, 1694, 1, 0, 0, 0, 342, 1699, 1, 0, 0, 0, 344, 1707, 1, 0, 0, 0, 346, 1712, 1, 0, 0, 0, 348, 1714, 1, 0, 0, 0, 350, 351, 3, 2, 1, 0, 351, 1, 1, 0, 0, 0, 352, 353, 5, 1, 0, 0, 353, 354, 3, 4, 2, 0, 354, 355, 3, 6, 3, 0, 355, 356, 3, 8, 4, 0, 356, 357, 3, 10, 5, 0, 357, 358, 3, 12, 6, 0, 358, 359, 5, 2, 0, 0, 359, 3, 1, 0, 0, 0, 360, 361, 5, 8, 0, 0, 361, 362, 5, 3, 0, 0, 362, 363, 5, 13, 0, 0, 363, 364, 5, 4, 0, 0, 364, 5, 1, 0, 0, 0, 365, 366, 5, 9, 0, 0, 366, 367, 5, 3, 0, 0, 367, 368, 5, 1, 0, 0, 368, 369, 5, 2, 0, 0, 369, 370, 5, 4, 0, 0, 370, 7, 1, 0, 0, 0, 371, 372, 5, 14, 0, 0, 372, 373, 5, 3, 0, 0, 373, 374, 5, 13, 0, 0, 374, 375, 5, 4, 0, 0, 375, 9, 1, 0, 0, 0, 376, 377, 5, 15, 0, 0, 377, 378, 5, 3, 0, 0, 378, 380, 5, 1, 0, 0, 379, 381, 3, 14, 7, 0, 380, 379, 1, 0, 0, 0, 380, 381, 1, 0, 0, 0, 381, 383, 1, 0, 0, 0, 382, 384, 3, 16, 8, 0, 383, 382, 1, 0, 0, 0, 383, 384, 1, 0, 0, 0, 384, 386, 1, 0, 0, 0, 385, 387, 3, 18, 9, 0, 386, 385, 1, 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 389, 1, 0, 0, 0, 388, 390, 3, 20, 10, 0, 389, 388, 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 391, 1, 0, 0, 0, 391, 393, 3, 22, 11, 0, 392, 394, 3, 24, 12, 0, 393, 392, 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 397, 3, 26, 13, 0, 396, 398, 3, 28, 14, 0, 397, 396, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 400, 1, 0, 0, 0, 399, 401, 3, 32, 16, 0, 400, 399, 1, 0, 0, 0, 400, 401, 1, 0, 0, 0, 401, 403, 1, 0, 0, 0, 402, 404, 3, 30, 15, 0, 403, 402, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, 1, 0, 0, 0, 405, 407, 3, 34, 17, 0, 406, 408, 3, 36, 18, 0, 407, 406, 1, 0, 0, 0, 407, 408, 1, 0, 0, 0, 408, 410, 1, 0, 0, 0, 409, 411, 3, 38, 19, 0, 410, 409, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 413, 1, 0, 0, 0, 412, 414, 3, 40, 20, 0, 413, 412, 1, 0, 0, 0, 413, 414, 1, 0, 0, 0, 414, 416, 1, 0, 0, 0, 415, 417, 3, 42, 21, 0, 416, 415, 1, 0, 0, 0, 416, 417, 1, 0, 0, 0, 417, 419, 1, 0, 0, 0, 418, 420, 3, 44, 22, 0, 419, 418, 1, 0, 0, 0, 419, 420, 1, 0, 0, 0, 420, 422, 1, 0, 0, 0, 421, 423, 3, 46, 23, 0, 422, 421, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 424, 1, 0, 0, 0, 424, 425, 3, 48, 24, 0, 425, 427, 3, 50, 25, 0, 426, 428, 3, 52, 26, 0, 427, 426, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 428, 430, 1, 0, 0, 0, 429, 431, 3, 54, 27, 0, 430, 429, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 433, 1, 0, 0, 0, 432, 434, 3, 56, 28, 0, 433, 432, 1, 0, 0, 0, 433, 434, 1, 0, 0, 0, 434, 435, 1, 0, 0, 0, 435, 436, 5, 2, 0, 0, 436, 437, 5, 4, 0, 0, 437, 11, 1, 0, 0, 0, 438, 439, 5, 16, 0, 0, 439, 440, 5, 3, 0, 0, 440, 441, 5, 135, 0, 0, 441, 442, 5, 4, 0, 0, 442, 13, 1, 0, 0, 0, 443, 445, 3, 58, 29, 0, 444, 443, 1, 0, 0, 0, 445, 446, 1, 0, 0, 0, 446, 444, 1, 0, 0, 0, 446, 447, 1, 0, 0, 0, 447, 15, 1, 0, 0, 0, 448, 450, 3, 60, 30, 0, 449, 448, 1, 0, 0, 0, 450, 451, 1, 0, 0, 0, 451, 449, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 17, 1, 0, 0, 0, 453, 455, 3, 62, 31, 0, 454, 453, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 454, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 19, 1, 0, 0, 0, 458, 460, 3, 64, 32, 0, 459, 458, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 459, 1, 0, 0, 0, 461, 462, 1, 0, 0, 0, 462, 21, 1, 0, 0, 0, 463, 465, 3, 66, 33, 0, 464, 463, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 464, 1, 0, 0, 0, 466, 467, 1, 0, 0, 0, 467, 23, 1, 0, 0, 0, 468, 470, 3, 68, 34, 0, 469, 468, 1, 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 25, 1, 0, 0, 0, 473, 475, 3, 70, 35, 0, 474, 473, 1, 0, 0, 0, 475, 476, 1, 0, 0, 0, 476, 474, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 27, 1, 0, 0, 0, 478, 480, 3, 72, 36, 0, 479, 478, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 479, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 29, 1, 0, 0, 0, 483, 485, 3, 74, 37, 0, 484, 483, 1, 0, 0, 0, 485, 486, 1, 0, 0, 0, 486, 484, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 31, 1, 0, 0, 0, 488, 490, 3, 76, 38, 0, 489, 488, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 489, 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 33, 1, 0, 0, 0, 493, 495, 3, 78, 39, 0, 494, 493, 1, 0, 0, 0, 495, 496, 1, 0, 0, 0, 496, 494, 1, 0, 0, 0, 496, 497, 1, 0, 0, 0, 497, 35, 1, 0, 0, 0, 498, 500, 3, 80, 40, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 37, 1, 0, 0, 0, 503, 505, 3, 82, 41, 0, 504, 503, 1, 0, 0, 0, 505, 506, 1, 0, 0, 0, 506, 504, 1, 0, 0, 0, 506, 507, 1, 0, 0, 0, 507, 39, 1, 0, 0, 0, 508, 510, 3, 84, 42, 0, 509, 508, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 509, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 512, 41, 1, 0, 0, 0, 513, 515, 3, 86, 43, 0, 514, 513, 1, 0, 0, 0, 515, 516, 1, 0, 0, 0, 516, 514, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 43, 1, 0, 0, 0, 518, 520, 3, 88, 44, 0, 519, 518, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 519, 1, 0, 0, 0, 521, 522, 1, 0, 0, 0, 522, 45, 1, 0, 0, 0, 523, 525, 3, 90, 45, 0, 524, 523, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 524, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 47, 1, 0, 0, 0, 528, 530, 3, 92, 46, 0, 529, 528, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 529, 1, 0, 0, 0, 531, 532, 1, 0, 0, 0, 532, 49, 1, 0, 0, 0, 533, 535, 3, 94, 47, 0, 534, 533, 1, 0, 0, 0, 535, 536, 1, 0, 0, 0, 536, 534, 1, 0, 0, 0, 536, 537, 1, 0, 0, 0, 537, 51, 1, 0, 0, 0, 538, 540, 3, 96, 48, 0, 539, 538, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 539, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 53, 1, 0, 0, 0, 543, 545, 3, 98, 49, 0, 544, 543, 1, 0, 0, 0, 545, 546, 1, 0, 0, 0, 546, 544, 1, 0, 0, 0, 546, 547, 1, 0, 0, 0, 547, 55, 1, 0, 0, 0, 548, 550, 3, 100, 50, 0, 549, 548, 1, 0, 0, 0, 550, 551, 1, 0, 0, 0, 551, 549, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 57, 1, 0, 0, 0, 553, 554, 5, 135, 0, 0, 554, 555, 5, 3, 0, 0, 555, 556, 5, 1, 0, 0, 556, 557, 3, 102, 51, 0, 557, 558, 3, 212, 106, 0, 558, 559, 3, 214, 107, 0, 559, 560, 3, 226, 113, 0, 560, 562, 3, 194, 97, 0, 561, 563, 3, 228, 114, 0, 562, 561, 1, 0, 0, 0, 562, 563, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 565, 5, 2, 0, 0, 565, 566, 5, 4, 0, 0, 566, 59, 1, 0, 0, 0, 567, 568, 5, 135, 0, 0, 568, 569, 5, 3, 0, 0, 569, 570, 5, 1, 0, 0, 570, 572, 3, 104, 52, 0, 571, 573, 3, 148, 74, 0, 572, 571, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 576, 3, 178, 89, 0, 575, 574, 1, 0, 0, 0, 575, 576, 1, 0, 0, 0, 576, 578, 1, 0, 0, 0, 577, 579, 3, 180, 90, 0, 578, 577, 1, 0, 0, 0, 578, 579, 1, 0, 0, 0, 579, 581, 1, 0, 0, 0, 580, 582, 3, 150, 75, 0, 581, 580, 1, 0, 0, 0, 581, 582, 1, 0, 0, 0, 582, 584, 1, 0, 0, 0, 583, 585, 3, 334, 167, 0, 584, 583, 1, 0, 0, 0, 584, 585, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 587, 5, 2, 0, 0, 587, 588, 5, 4, 0, 0, 588, 61, 1, 0, 0, 0, 589, 590, 5, 135, 0, 0, 590, 591, 5, 3, 0, 0, 591, 592, 5, 1, 0, 0, 592, 593, 3, 106, 53, 0, 593, 594, 3, 152, 76, 0, 594, 595, 3, 154, 77, 0, 595, 596, 3, 156, 78, 0, 596, 597, 3, 158, 79, 0, 597, 598, 5, 2, 0, 0, 598, 599, 5, 4, 0, 0, 599, 63, 1, 0, 0, 0, 600, 601, 5, 135, 0, 0, 601, 602, 5, 3, 0, 0, 602, 603, 5, 1, 0, 0, 603, 604, 3, 108, 54, 0, 604, 605, 3, 200, 100, 0, 605, 606, 3, 318, 159, 0, 606, 607, 3, 320, 160, 0, 607, 609, 3, 202, 101, 0, 608, 610, 3, 194, 97, 0, 609, 608, 1, 0, 0, 0, 609, 610, 1, 0, 0, 0, 610, 611, 1, 0, 0, 0, 611, 612, 3, 204, 102, 0, 612, 613, 5, 2, 0, 0, 613, 614, 5, 4, 0, 0, 614, 65, 1, 0, 0, 0, 615, 616, 5, 135, 0, 0, 616, 617, 5, 3, 0, 0, 617, 618, 5, 1, 0, 0, 618, 620, 3, 110, 55, 0, 619, 621, 3, 162, 81, 0, 620, 619, 1, 0, 0, 0, 620, 621, 1, 0, 0, 0, 621, 623, 1, 0, 0, 0, 622, 624, 3, 164, 82, 0, 623, 622, 1, 0, 0, 0, 623, 624, 1, 0, 0, 0, 624, 626, 1, 0, 0, 0, 625, 627, 3, 160, 80, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 629, 1, 0, 0, 0, 628, 630, 3, 168, 84, 0, 629, 628, 1, 0, 0, 0, 629, 630, 1, 0, 0, 0, 630, 632, 1, 0, 0, 0, 631, 633, 3, 170, 85, 0, 632, 631, 1, 0, 0, 0, 632, 633, 1, 0, 0, 0, 633, 635, 1, 0, 0, 0, 634, 636, 3, 166, 83, 0, 635, 634, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 638, 1, 0, 0, 0, 637, 639, 3, 234, 117, 0, 638, 637, 1, 0, 0, 0, 638, 639, 1, 0, 0, 0, 639, 641, 1, 0, 0, 0, 640, 642, 3, 194, 97, 0, 641, 640, 1, 0, 0, 0, 641, 642, 1, 0, 0, 0, 642, 644, 1, 0, 0, 0, 643, 645, 3, 196, 98, 0, 644, 643, 1, 0, 0, 0, 644, 645, 1, 0, 0, 0, 645, 647, 1, 0, 0, 0, 646, 648, 3, 238, 119, 0, 647, 646, 1, 0, 0, 0, 647, 648, 1, 0, 0, 0, 648, 650, 1, 0, 0, 0, 649, 651, 3, 198, 99, 0, 650, 649, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 653, 1, 0, 0, 0, 652, 654, 3, 172, 86, 0, 653, 652, 1, 0, 0, 0, 653, 654, 1, 0, 0, 0, 654, 656, 1, 0, 0, 0, 655, 657, 3, 236, 118, 0, 656, 655, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 659, 1, 0, 0, 0, 658, 660, 3, 174, 87, 0, 659, 658, 1, 0, 0, 0, 659, 660, 1, 0, 0, 0, 660, 661, 1, 0, 0, 0, 661, 662, 5, 2, 0, 0, 662, 663, 5, 4, 0, 0, 663, 67, 1, 0, 0, 0, 664, 665, 5, 135, 0, 0, 665, 666, 5, 3, 0, 0, 666, 667, 5, 1, 0, 0, 667, 668, 3, 112, 56, 0, 668, 669, 3, 200, 100, 0, 669, 670, 3, 202, 101, 0, 670, 671, 3, 204, 102, 0, 671, 672, 5, 2, 0, 0, 672, 673, 5, 4, 0, 0, 673, 69, 1, 0, 0, 0, 674, 675, 5, 135, 0, 0, 675, 676, 5, 3, 0, 0, 676, 677, 5, 1, 0, 0, 677, 678, 3, 114, 57, 0, 678, 680, 3, 182, 91, 0, 679, 681, 3, 170, 85, 0, 680, 679, 1, 0, 0, 0, 680, 681, 1, 0, 0, 0, 681, 683, 1, 0, 0, 0, 682, 684, 3, 168, 84, 0, 683, 682, 1, 0, 0, 0, 683, 684, 1, 0, 0, 0, 684, 686, 1, 0, 0, 0, 685, 687, 3, 194, 97, 0, 686, 685, 1, 0, 0, 0, 686, 687, 1, 0, 0, 0, 687, 689, 1, 0, 0, 0, 688, 690, 3, 196, 98, 0, 689, 688, 1, 0, 0, 0, 689, 690, 1, 0, 0, 0, 690, 691, 1, 0, 0, 0, 691, 693, 3, 198, 99, 0, 692, 694, 3, 172, 86, 0, 693, 692, 1, 0, 0, 0, 693, 694, 1, 0, 0, 0, 694, 696, 1, 0, 0, 0, 695, 697, 3, 174, 87, 0, 696, 695, 1, 0, 0, 0, 696, 697, 1, 0, 0, 0, 697, 699, 1, 0, 0, 0, 698, 700, 3, 176, 88, 0, 699, 698, 1, 0, 0, 0, 699, 700, 1, 0, 0, 0, 700, 701, 1, 0, 0, 0, 701, 702, 5, 2, 0, 0, 702, 703, 5, 4, 0, 0, 703, 71, 1, 0, 0, 0, 704, 705, 5, 135, 0, 0, 705, 706, 5, 3, 0, 0, 706, 707, 5, 1, 0, 0, 707, 708, 3, 116, 58, 0, 708, 709, 3, 200, 100, 0, 709, 710, 3, 202, 101, 0, 710, 711, 3, 204, 102, 0, 711, 712, 5, 2, 0, 0, 712, 713, 5, 4, 0, 0, 713, 73, 1, 0, 0, 0, 714, 715, 5, 135, 0, 0, 715, 716, 5, 3, 0, 0, 716, 717, 5, 1, 0, 0, 717, 718, 3, 118, 59, 0, 718, 719, 3, 212, 106, 0, 719, 720, 3, 214, 107, 0, 720, 721, 3, 216, 108, 0, 721, 722, 3, 226, 113, 0, 722, 724, 3, 194, 97, 0, 723, 725, 3, 184, 92, 0, 724, 723, 1, 0, 0, 0, 724, 725, 1, 0, 0, 0, 725, 727, 1, 0, 0, 0, 726, 728, 3, 192, 96, 0, 727, 726, 1, 0, 0, 0, 727, 728, 1, 0, 0, 0, 728, 729, 1, 0, 0, 0, 729, 730, 3, 228, 114, 0, 730, 731, 3, 230, 115, 0, 731, 732, 3, 232, 116, 0, 732, 733, 5, 2, 0, 0, 733, 734, 5, 4, 0, 0, 734, 75, 1, 0, 0, 0, 735, 736, 5, 135, 0, 0, 736, 737, 5, 3, 0, 0, 737, 738, 5, 1, 0, 0, 738, 739, 3, 120, 60, 0, 739, 740, 3, 218, 109, 0, 740, 741, 3, 212, 106, 0, 741, 742, 3, 214, 107, 0, 742, 743, 3, 220, 110, 0, 743, 744, 3, 222, 111, 0, 744, 745, 3, 226, 113, 0, 745, 746, 3, 194, 97, 0, 746, 747, 3, 224, 112, 0, 747, 748, 3, 228, 114, 0, 748, 749, 5, 2, 0, 0, 749, 750, 5, 4, 0, 0, 750, 77, 1, 0, 0, 0, 751, 752, 5, 135, 0, 0, 752, 753, 5, 3, 0, 0, 753, 754, 5, 1, 0, 0, 754, 756, 3, 122, 61, 0, 755, 757, 3, 240, 120, 0, 756, 755, 1, 0, 0, 0, 756, 757, 1, 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 759, 3, 212, 106, 0, 759, 761, 3, 270, 135, 0, 760, 762, 3, 272, 136, 0, 761, 760, 1, 0, 0, 0, 761, 762, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 3, 274, 137, 0, 764, 766, 3, 276, 138, 0, 765, 764, 1, 0, 0, 0, 765, 766, 1, 0, 0, 0, 766, 767, 1, 0, 0, 0, 767, 769, 3, 278, 139, 0, 768, 770, 3, 282, 141, 0, 769, 768, 1, 0, 0, 0, 769, 770, 1, 0, 0, 0, 770, 772, 1, 0, 0, 0, 771, 773, 3, 280, 140, 0, 772, 771, 1, 0, 0, 0, 772, 773, 1, 0, 0, 0, 773, 774, 1, 0, 0, 0, 774, 776, 3, 284, 142, 0, 775, 777, 3, 286, 143, 0, 776, 775, 1, 0, 0, 0, 776, 777, 1, 0, 0, 0, 777, 778, 1, 0, 0, 0, 778, 779, 3, 288, 144, 0, 779, 780, 3, 290, 145, 0, 780, 781, 5, 2, 0, 0, 781, 782, 5, 4, 0, 0, 782, 79, 1, 0, 0, 0, 783, 784, 5, 135, 0, 0, 784, 785, 5, 3, 0, 0, 785, 786, 5, 1, 0, 0, 786, 787, 3, 124, 62, 0, 787, 789, 3, 310, 155, 0, 788, 790, 3, 194, 97, 0, 789, 788, 1, 0, 0, 0, 789, 790, 1, 0, 0, 0, 790, 791, 1, 0, 0, 0, 791, 792, 3, 196, 98, 0, 792, 793, 3, 312, 156, 0, 793, 794, 3, 198, 99, 0, 794, 795, 5, 2, 0, 0, 795, 796, 5, 4, 0, 0, 796, 81, 1, 0, 0, 0, 797, 798, 5, 135, 0, 0, 798, 799, 5, 3, 0, 0, 799, 800, 5, 1, 0, 0, 800, 801, 3, 126, 63, 0, 801, 802, 3, 200, 100, 0, 802, 803, 3, 202, 101, 0, 803, 804, 3, 204, 102, 0, 804, 805, 5, 2, 0, 0, 805, 806, 5, 4, 0, 0, 806, 83, 1, 0, 0, 0, 807, 808, 5, 135, 0, 0, 808, 809, 5, 3, 0, 0, 809, 810, 5, 1, 0, 0, 810, 812, 3, 128, 64, 0, 811, 813, 3, 146, 73, 0, 812, 811, 1, 0, 0, 0, 812, 813, 1, 0, 0, 0, 813, 814, 1, 0, 0, 0, 814, 815, 3, 200, 100, 0, 815, 817, 3, 202, 101, 0, 816, 818, 3, 292, 146, 0, 817, 816, 1, 0, 0, 0, 817, 818, 1, 0, 0, 0, 818, 820, 1, 0, 0, 0, 819, 821, 3, 294, 147, 0, 820, 819, 1, 0, 0, 0, 820, 821, 1, 0, 0, 0, 821, 823, 1, 0, 0, 0, 822, 824, 3, 194, 97, 0, 823, 822, 1, 0, 0, 0, 823, 824, 1, 0, 0, 0, 824, 826, 1, 0, 0, 0, 825, 827, 3, 296, 148, 0, 826, 825, 1, 0, 0, 0, 826, 827, 1, 0, 0, 0, 827, 829, 1, 0, 0, 0, 828, 830, 3, 298, 149, 0, 829, 828, 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 831, 1, 0, 0, 0, 831, 832, 3, 204, 102, 0, 832, 833, 3, 300, 150, 0, 833, 835, 3, 302, 151, 0, 834, 836, 3, 304, 152, 0, 835, 834, 1, 0, 0, 0, 835, 836, 1, 0, 0, 0, 836, 837, 1, 0, 0, 0, 837, 838, 5, 2, 0, 0, 838, 839, 5, 4, 0, 0, 839, 85, 1, 0, 0, 0, 840, 841, 5, 135, 0, 0, 841, 842, 5, 3, 0, 0, 842, 843, 5, 1, 0, 0, 843, 844, 3, 130, 65, 0, 844, 845, 3, 200, 100, 0, 845, 846, 3, 202, 101, 0, 846, 847, 3, 204, 102, 0, 847, 848, 5, 2, 0, 0, 848, 849, 5, 4, 0, 0, 849, 87, 1, 0, 0, 0, 850, 851, 5, 135, 0, 0, 851, 852, 5, 3, 0, 0, 852, 853, 5, 1, 0, 0, 853, 855, 3, 132, 66, 0, 854, 856, 3, 194, 97, 0, 855, 854, 1, 0, 0, 0, 855, 856, 1, 0, 0, 0, 856, 858, 1, 0, 0, 0, 857, 859, 3, 178, 89, 0, 858, 857, 1, 0, 0, 0, 858, 859, 1, 0, 0, 0, 859, 861, 1, 0, 0, 0, 860, 862, 3, 180, 90, 0, 861, 860, 1, 0, 0, 0, 861, 862, 1, 0, 0, 0, 862, 864, 1, 0, 0, 0, 863, 865, 3, 150, 75, 0, 864, 863, 1, 0, 0, 0, 864, 865, 1, 0, 0, 0, 865, 867, 1, 0, 0, 0, 866, 868, 3, 306, 153, 0, 867, 866, 1, 0, 0, 0, 867, 868, 1, 0, 0, 0, 868, 869, 1, 0, 0, 0, 869, 870, 3, 308, 154, 0, 870, 871, 5, 2, 0, 0, 871, 872, 5, 4, 0, 0, 872, 89, 1, 0, 0, 0, 873, 874, 5, 135, 0, 0, 874, 875, 5, 3, 0, 0, 875, 876, 5, 1, 0, 0, 876, 877, 3, 134, 67, 0, 877, 878, 3, 182, 91, 0, 878, 880, 3, 194, 97, 0, 879, 881, 3, 196, 98, 0, 880, 879, 1, 0, 0, 0, 880, 881, 1, 0, 0, 0, 881, 882, 1, 0, 0, 0, 882, 883, 3, 198, 99, 0, 883, 884, 5, 2, 0, 0, 884, 885, 5, 4, 0, 0, 885, 91, 1, 0, 0, 0, 886, 887, 5, 135, 0, 0, 887, 888, 5, 3, 0, 0, 888, 889, 5, 1, 0, 0, 889, 891, 3, 136, 68, 0, 890, 892, 3, 314, 157, 0, 891, 890, 1, 0, 0, 0, 891, 892, 1, 0, 0, 0, 892, 893, 1, 0, 0, 0, 893, 894, 3, 316, 158, 0, 894, 895, 3, 194, 97, 0, 895, 896, 5, 2, 0, 0, 896, 897, 5, 4, 0, 0, 897, 93, 1, 0, 0, 0, 898, 899, 5, 135, 0, 0, 899, 900, 5, 3, 0, 0, 900, 901, 5, 1, 0, 0, 901, 902, 3, 138, 69, 0, 902, 903, 3, 328, 164, 0, 903, 905, 3, 330, 165, 0, 904, 906, 3, 332, 166, 0, 905, 904, 1, 0, 0, 0, 905, 906, 1, 0, 0, 0, 906, 907, 1, 0, 0, 0, 907, 908, 5, 2, 0, 0, 908, 909, 5, 4, 0, 0, 909, 95, 1, 0, 0, 0, 910, 911, 5, 135, 0, 0, 911, 912, 5, 3, 0, 0, 912, 913, 5, 1, 0, 0, 913, 914, 3, 140, 70, 0, 914, 915, 3, 186, 93, 0, 915, 916, 3, 188, 94, 0, 916, 917, 5, 2, 0, 0, 917, 918, 5, 4, 0, 0, 918, 97, 1, 0, 0, 0, 919, 920, 5, 135, 0, 0, 920, 921, 5, 3, 0, 0, 921, 922, 5, 1, 0, 0, 922, 924, 3, 142, 71, 0, 923, 925, 3, 190, 95, 0, 924, 923, 1, 0, 0, 0, 924, 925, 1, 0, 0, 0, 925, 926, 1, 0, 0, 0, 926, 927, 3, 228, 114, 0, 927, 928, 5, 2, 0, 0, 928, 929, 5, 4, 0, 0, 929, 99, 1, 0, 0, 0, 930, 931, 5, 135, 0, 0, 931, 932, 5, 3, 0, 0, 932, 933, 5, 1, 0, 0, 933, 934, 3, 144, 72, 0, 934, 935, 3, 182, 91, 0, 935, 937, 3, 338, 169, 0, 936, 938, 3, 194, 97, 0, 937, 936, 1, 0, 0, 0, 937, 938, 1, 0, 0, 0, 938, 939, 1, 0, 0, 0, 939, 940, 3, 196, 98, 0, 940, 941, 3, 198, 99, 0, 941, 942, 3, 340, 170, 0, 942, 943, 5, 2, 0, 0, 943, 944, 5, 4, 0, 0, 944, 101, 1, 0, 0, 0, 945, 946, 5, 12, 0, 0, 946, 947, 5, 3, 0, 0, 947, 948, 5, 19, 0, 0, 948, 949, 5, 4, 0, 0, 949, 103, 1, 0, 0, 0, 950, 951, 5, 12, 0, 0, 951, 952, 5, 3, 0, 0, 952, 953, 5, 20, 0, 0, 953, 954, 5, 4, 0, 0, 954, 105, 1, 0, 0, 0, 955, 956, 5, 12, 0, 0, 956, 957, 5, 3, 0, 0, 957, 958, 5, 21, 0, 0, 958, 959, 5, 4, 0, 0, 959, 107, 1, 0, 0, 0, 960, 961, 5, 12, 0, 0, 961, 962, 5, 3, 0, 0, 962, 963, 5, 22, 0, 0, 963, 964, 5, 4, 0, 0, 964, 109, 1, 0, 0, 0, 965, 966, 5, 12, 0, 0, 966, 967, 5, 3, 0, 0, 967, 968, 5, 23, 0, 0, 968, 969, 5, 4, 0, 0, 969, 111, 1, 0, 0, 0, 970, 971, 5, 12, 0, 0, 971, 972, 5, 3, 0, 0, 972, 973, 5, 24, 0, 0, 973, 974, 5, 4, 0, 0, 974, 113, 1, 0, 0, 0, 975, 976, 5, 12, 0, 0, 976, 977, 5, 3, 0, 0, 977, 978, 5, 25, 0, 0, 978, 979, 5, 4, 0, 0, 979, 115, 1, 0, 0, 0, 980, 981, 5, 12, 0, 0, 981, 982, 5, 3, 0, 0, 982, 983, 5, 26, 0, 0, 983, 984, 5, 4, 0, 0, 984, 117, 1, 0, 0, 0, 985, 986, 5, 12, 0, 0, 986, 987, 5, 3, 0, 0, 987, 988, 5, 27, 0, 0, 988, 989, 5, 4, 0, 0, 989, 119, 1, 0, 0, 0, 990, 991, 5, 12, 0, 0, 991, 992, 5, 3, 0, 0, 992, 993, 5, 28, 0, 0, 993, 994, 5, 4, 0, 0, 994, 121, 1, 0, 0, 0, 995, 996, 5, 12, 0, 0, 996, 997, 5, 3, 0, 0, 997, 998, 5, 29, 0, 0, 998, 999, 5, 4, 0, 0, 999, 123, 1, 0, 0, 0, 1000, 1001, 5, 12, 0, 0, 1001, 1002, 5, 3, 0, 0, 1002, 1003, 5, 30, 0, 0, 1003, 1004, 5, 4, 0, 0, 1004, 125, 1, 0, 0, 0, 1005, 1006, 5, 12, 0, 0, 1006, 1007, 5, 3, 0, 0, 1007, 1008, 5, 31, 0, 0, 1008, 1009, 5, 4, 0, 0, 1009, 127, 1, 0, 0, 0, 1010, 1011, 5, 12, 0, 0, 1011, 1012, 5, 3, 0, 0, 1012, 1013, 5, 32, 0, 0, 1013, 1014, 5, 4, 0, 0, 1014, 129, 1, 0, 0, 0, 1015, 1016, 5, 12, 0, 0, 1016, 1017, 5, 3, 0, 0, 1017, 1018, 5, 33, 0, 0, 1018, 1019, 5, 4, 0, 0, 1019, 131, 1, 0, 0, 0, 1020, 1021, 5, 12, 0, 0, 1021, 1022, 5, 3, 0, 0, 1022, 1023, 5, 34, 0, 0, 1023, 1024, 5, 4, 0, 0, 1024, 133, 1, 0, 0, 0, 1025, 1026, 5, 12, 0, 0, 1026, 1027, 5, 3, 0, 0, 1027, 1028, 5, 35, 0, 0, 1028, 1029, 5, 4, 0, 0, 1029, 135, 1, 0, 0, 0, 1030, 1031, 5, 12, 0, 0, 1031, 1032, 5, 3, 0, 0, 1032, 1033, 5, 36, 0, 0, 1033, 1034, 5, 4, 0, 0, 1034, 137, 1, 0, 0, 0, 1035, 1036, 5, 12, 0, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1038, 5, 37, 0, 0, 1038, 1039, 5, 4, 0, 0, 1039, 139, 1, 0, 0, 0, 1040, 1041, 5, 12, 0, 0, 1041, 1042, 5, 3, 0, 0, 1042, 1043, 5, 38, 0, 0, 1043, 1044, 5, 4, 0, 0, 1044, 141, 1, 0, 0, 0, 1045, 1046, 5, 12, 0, 0, 1046, 1047, 5, 3, 0, 0, 1047, 1048, 5, 39, 0, 0, 1048, 1049, 5, 4, 0, 0, 1049, 143, 1, 0, 0, 0, 1050, 1051, 5, 12, 0, 0, 1051, 1052, 5, 3, 0, 0, 1052, 1053, 5, 40, 0, 0, 1053, 1054, 5, 4, 0, 0, 1054, 145, 1, 0, 0, 0, 1055, 1056, 5, 41, 0, 0, 1056, 1057, 5, 3, 0, 0, 1057, 1058, 5, 13, 0, 0, 1058, 1059, 5, 4, 0, 0, 1059, 147, 1, 0, 0, 0, 1060, 1061, 5, 42, 0, 0, 1061, 1062, 5, 3, 0, 0, 1062, 1063, 5, 135, 0, 0, 1063, 1064, 5, 4, 0, 0, 1064, 149, 1, 0, 0, 0, 1065, 1066, 5, 43, 0, 0, 1066, 1067, 5, 3, 0, 0, 1067, 1068, 5, 135, 0, 0, 1068, 1069, 5, 4, 0, 0, 1069, 151, 1, 0, 0, 0, 1070, 1071, 5, 44, 0, 0, 1071, 1072, 5, 3, 0, 0, 1072, 1073, 5, 135, 0, 0, 1073, 1074, 5, 4, 0, 0, 1074, 153, 1, 0, 0, 0, 1075, 1076, 5, 45, 0, 0, 1076, 1077, 5, 3, 0, 0, 1077, 1078, 5, 13, 0, 0, 1078, 1079, 5, 4, 0, 0, 1079, 155, 1, 0, 0, 0, 1080, 1081, 5, 46, 0, 0, 1081, 1082, 5, 3, 0, 0, 1082, 1083, 5, 135, 0, 0, 1083, 1084, 5, 4, 0, 0, 1084, 157, 1, 0, 0, 0, 1085, 1086, 5, 47, 0, 0, 1086, 1087, 5, 3, 0, 0, 1087, 1088, 3, 346, 173, 0, 1088, 1089, 5, 4, 0, 0, 1089, 159, 1, 0, 0, 0, 1090, 1091, 5, 48, 0, 0, 1091, 1092, 5, 3, 0, 0, 1092, 1093, 5, 13, 0, 0, 1093, 1094, 5, 4, 0, 0, 1094, 161, 1, 0, 0, 0, 1095, 1096, 5, 49, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 1098, 3, 346, 173, 0, 1098, 1099, 5, 4, 0, 0, 1099, 163, 1, 0, 0, 0, 1100, 1101, 5, 50, 0, 0, 1101, 1102, 5, 3, 0, 0, 1102, 1103, 3, 346, 173, 0, 1103, 1104, 5, 4, 0, 0, 1104, 165, 1, 0, 0, 0, 1105, 1106, 5, 51, 0, 0, 1106, 1107, 5, 3, 0, 0, 1107, 1108, 3, 346, 173, 0, 1108, 1109, 5, 4, 0, 0, 1109, 167, 1, 0, 0, 0, 1110, 1111, 5, 52, 0, 0, 1111, 1112, 5, 3, 0, 0, 1112, 1113, 5, 13, 0, 0, 1113, 1114, 5, 4, 0, 0, 1114, 169, 1, 0, 0, 0, 1115, 1116, 5, 53, 0, 0, 1116, 1117, 5, 3, 0, 0, 1117, 1118, 5, 13, 0, 0, 1118, 1119, 5, 4, 0, 0, 1119, 171, 1, 0, 0, 0, 1120, 1121, 5, 54, 0, 0, 1121, 1122, 5, 3, 0, 0, 1122, 1123, 5, 13, 0, 0, 1123, 1124, 5, 4, 0, 0, 1124, 173, 1, 0, 0, 0, 1125, 1126, 5, 55, 0, 0, 1126, 1127, 5, 3, 0, 0, 1127, 1128, 5, 13, 0, 0, 1128, 1129, 5, 4, 0, 0, 1129, 175, 1, 0, 0, 0, 1130, 1131, 5, 56, 0, 0, 1131, 1132, 5, 3, 0, 0, 1132, 1133, 5, 13, 0, 0, 1133, 1134, 5, 4, 0, 0, 1134, 177, 1, 0, 0, 0, 1135, 1136, 5, 57, 0, 0, 1136, 1137, 5, 3, 0, 0, 1137, 1138, 3, 344, 172, 0, 1138, 1139, 5, 4, 0, 0, 1139, 179, 1, 0, 0, 0, 1140, 1141, 5, 58, 0, 0, 1141, 1142, 5, 3, 0, 0, 1142, 1143, 3, 208, 104, 0, 1143, 1144, 5, 4, 0, 0, 1144, 181, 1, 0, 0, 0, 1145, 1146, 5, 59, 0, 0, 1146, 1147, 5, 3, 0, 0, 1147, 1148, 3, 206, 103, 0, 1148, 1149, 5, 4, 0, 0, 1149, 183, 1, 0, 0, 0, 1150, 1151, 5, 60, 0, 0, 1151, 1152, 5, 3, 0, 0, 1152, 1153, 5, 136, 0, 0, 1153, 1154, 5, 4, 0, 0, 1154, 185, 1, 0, 0, 0, 1155, 1156, 5, 61, 0, 0, 1156, 1157, 5, 3, 0, 0, 1157, 1158, 5, 136, 0, 0, 1158, 1159, 5, 4, 0, 0, 1159, 187, 1, 0, 0, 0, 1160, 1161, 5, 62, 0, 0, 1161, 1162, 5, 3, 0, 0, 1162, 1166, 5, 1, 0, 0, 1163, 1165, 3, 326, 163, 0, 1164, 1163, 1, 0, 0, 0, 1165, 1168, 1, 0, 0, 0, 1166, 1164, 1, 0, 0, 0, 1166, 1167, 1, 0, 0, 0, 1167, 1169, 1, 0, 0, 0, 1168, 1166, 1, 0, 0, 0, 1169, 1170, 5, 2, 0, 0, 1170, 1171, 5, 4, 0, 0, 1171, 189, 1, 0, 0, 0, 1172, 1173, 5, 63, 0, 0, 1173, 1174, 5, 3, 0, 0, 1174, 1175, 5, 135, 0, 0, 1175, 1176, 5, 4, 0, 0, 1176, 191, 1, 0, 0, 0, 1177, 1178, 5, 64, 0, 0, 1178, 1179, 5, 3, 0, 0, 1179, 1180, 3, 206, 103, 0, 1180, 1181, 5, 4, 0, 0, 1181, 193, 1, 0, 0, 0, 1182, 1183, 5, 65, 0, 0, 1183, 1184, 5, 3, 0, 0, 1184, 1185, 3, 344, 172, 0, 1185, 1186, 5, 4, 0, 0, 1186, 195, 1, 0, 0, 0, 1187, 1188, 5, 66, 0, 0, 1188, 1189, 5, 3, 0, 0, 1189, 1190, 3, 344, 172, 0, 1190, 1191, 5, 4, 0, 0, 1191, 197, 1, 0, 0, 0, 1192, 1193, 5, 67, 0, 0, 1193, 1194, 5, 3, 0, 0, 1194, 1195, 3, 344, 172, 0, 1195, 1196, 5, 4, 0, 0, 1196, 199, 1, 0, 0, 0, 1197, 1198, 5, 68, 0, 0, 1198, 1199, 5, 3, 0, 0, 1199, 1200, 5, 13, 0, 0, 1200, 1201, 5, 4, 0, 0, 1201, 201, 1, 0, 0, 0, 1202, 1203, 5, 69, 0, 0, 1203, 1204, 5, 3, 0, 0, 1204, 1205, 3, 206, 103, 0, 1205, 1206, 5, 4, 0, 0, 1206, 203, 1, 0, 0, 0, 1207, 1208, 5, 70, 0, 0, 1208, 1209, 5, 3, 0, 0, 1209, 1210, 5, 13, 0, 0, 1210, 1211, 5, 4, 0, 0, 1211, 205, 1, 0, 0, 0, 1212, 1217, 5, 5, 0, 0, 1213, 1214, 5, 135, 0, 0, 1214, 1216, 5, 6, 0, 0, 1215, 1213, 1, 0, 0, 0, 1216, 1219, 1, 0, 0, 0, 1217, 1215, 1, 0, 0, 0, 1217, 1218, 1, 0, 0, 0, 1218, 1220, 1, 0, 0, 0, 1219, 1217, 1, 0, 0, 0, 1220, 1221, 5, 7, 0, 0, 1221, 207, 1, 0, 0, 0, 1222, 1228, 5, 5, 0, 0, 1223, 1224, 3, 346, 173, 0, 1224, 1225, 5, 6, 0, 0, 1225, 1227, 1, 0, 0, 0, 1226, 1223, 1, 0, 0, 0, 1227, 1230, 1, 0, 0, 0, 1228, 1226, 1, 0, 0, 0, 1228, 1229, 1, 0, 0, 0, 1229, 1231, 1, 0, 0, 0, 1230, 1228, 1, 0, 0, 0, 1231, 1232, 5, 7, 0, 0, 1232, 209, 1, 0, 0, 0, 1233, 1238, 5, 5, 0, 0, 1234, 1235, 5, 137, 0, 0, 1235, 1237, 5, 6, 0, 0, 1236, 1234, 1, 0, 0, 0, 1237, 1240, 1, 0, 0, 0, 1238, 1236, 1, 0, 0, 0, 1238, 1239, 1, 0, 0, 0, 1239, 1241, 1, 0, 0, 0, 1240, 1238, 1, 0, 0, 0, 1241, 1242, 5, 7, 0, 0, 1242, 211, 1, 0, 0, 0, 1243, 1244, 5, 71, 0, 0, 1244, 1245, 5, 3, 0, 0, 1245, 1246, 5, 135, 0, 0, 1246, 1247, 5, 4, 0, 0, 1247, 213, 1, 0, 0, 0, 1248, 1249, 5, 72, 0, 0, 1249, 1250, 5, 3, 0, 0, 1250, 1251, 3, 206, 103, 0, 1251, 1252, 5, 4, 0, 0, 1252, 215, 1, 0, 0, 0, 1253, 1254, 5, 73, 0, 0, 1254, 1255, 5, 3, 0, 0, 1255, 1256, 3, 206, 103, 0, 1256, 1257, 5, 4, 0, 0, 1257, 217, 1, 0, 0, 0, 1258, 1259, 5, 74, 0, 0, 1259, 1260, 5, 3, 0, 0, 1260, 1261, 3, 344, 172, 0, 1261, 1262, 5, 4, 0, 0, 1262, 219, 1, 0, 0, 0, 1263, 1264, 5, 75, 0, 0, 1264, 1265, 5, 3, 0, 0, 1265, 1266, 3, 344, 172, 0, 1266, 1267, 5, 4, 0, 0, 1267, 221, 1, 0, 0, 0, 1268, 1269, 5, 76, 0, 0, 1269, 1270, 5, 3, 0, 0, 1270, 1271, 3, 344, 172, 0, 1271, 1272, 5, 4, 0, 0, 1272, 223, 1, 0, 0, 0, 1273, 1274, 5, 77, 0, 0, 1274, 1275, 5, 3, 0, 0, 1275, 1276, 5, 13, 0, 0, 1276, 1277, 5, 4, 0, 0, 1277, 225, 1, 0, 0, 0, 1278, 1279, 5, 78, 0, 0, 1279, 1280, 5, 3, 0, 0, 1280, 1281, 3, 206, 103, 0, 1281, 1282, 5, 4, 0, 0, 1282, 227, 1, 0, 0, 0, 1283, 1284, 5, 79, 0, 0, 1284, 1285, 5, 3, 0, 0, 1285, 1286, 3, 346, 173, 0, 1286, 1287, 5, 4, 0, 0, 1287, 229, 1, 0, 0, 0, 1288, 1289, 5, 80, 0, 0, 1289, 1290, 5, 3, 0, 0, 1290, 1291, 5, 135, 0, 0, 1291, 1292, 5, 4, 0, 0, 1292, 231, 1, 0, 0, 0, 1293, 1294, 5, 81, 0, 0, 1294, 1295, 5, 3, 0, 0, 1295, 1296, 5, 136, 0, 0, 1296, 1297, 5, 4, 0, 0, 1297, 233, 1, 0, 0, 0, 1298, 1299, 5, 82, 0, 0, 1299, 1300, 5, 3, 0, 0, 1300, 1301, 5, 13, 0, 0, 1301, 1302, 5, 4, 0, 0, 1302, 235, 1, 0, 0, 0, 1303, 1304, 5, 83, 0, 0, 1304, 1305, 5, 3, 0, 0, 1305, 1306, 3, 346, 173, 0, 1306, 1307, 5, 4, 0, 0, 1307, 237, 1, 0, 0, 0, 1308, 1309, 5, 84, 0, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1311, 3, 346, 173, 0, 1311, 1312, 5, 4, 0, 0, 1312, 239, 1, 0, 0, 0, 1313, 1314, 5, 85, 0, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1317, 5, 1, 0, 0, 1316, 1318, 3, 248, 124, 0, 1317, 1316, 1, 0, 0, 0, 1317, 1318, 1, 0, 0, 0, 1318, 1320, 1, 0, 0, 0, 1319, 1321, 3, 342, 171, 0, 1320, 1319, 1, 0, 0, 0, 1320, 1321, 1, 0, 0, 0, 1321, 1323, 1, 0, 0, 0, 1322, 1324, 3, 244, 122, 0, 1323, 1322, 1, 0, 0, 0, 1323, 1324, 1, 0, 0, 0, 1324, 1326, 1, 0, 0, 0, 1325, 1327, 3, 242, 121, 0, 1326, 1325, 1, 0, 0, 0, 1326, 1327, 1, 0, 0, 0, 1327, 1329, 1, 0, 0, 0, 1328, 1330, 3, 246, 123, 0, 1329, 1328, 1, 0, 0, 0, 1329, 1330, 1, 0, 0, 0, 1330, 1332, 1, 0, 0, 0, 1331, 1333, 3, 250, 125, 0, 1332, 1331, 1, 0, 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1335, 1, 0, 0, 0, 1334, 1336, 3, 252, 126, 0, 1335, 1334, 1, 0, 0, 0, 1335, 1336, 1, 0, 0, 0, 1336, 1338, 1, 0, 0, 0, 1337, 1339, 3, 254, 127, 0, 1338, 1337, 1, 0, 0, 0, 1338, 1339, 1, 0, 0, 0, 1339, 1341, 1, 0, 0, 0, 1340, 1342, 3, 256, 128, 0, 1341, 1340, 1, 0, 0, 0, 1341, 1342, 1, 0, 0, 0, 1342, 1343, 1, 0, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, 5, 4, 0, 0, 1345, 241, 1, 0, 0, 0, 1346, 1347, 5, 86, 0, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1349, 5, 13, 0, 0, 1349, 1350, 5, 4, 0, 0, 1350, 243, 1, 0, 0, 0, 1351, 1352, 5, 87, 0, 0, 1352, 1353, 5, 3, 0, 0, 1353, 1354, 5, 137, 0, 0, 1354, 1355, 5, 4, 0, 0, 1355, 245, 1, 0, 0, 0, 1356, 1357, 5, 88, 0, 0, 1357, 1358, 5, 3, 0, 0, 1358, 1359, 5, 13, 0, 0, 1359, 1360, 5, 4, 0, 0, 1360, 247, 1, 0, 0, 0, 1361, 1362, 5, 89, 0, 0, 1362, 1363, 5, 3, 0, 0, 1363, 1364, 7, 0, 0, 0, 1364, 1365, 5, 4, 0, 0, 1365, 249, 1, 0, 0, 0, 1366, 1367, 5, 90, 0, 0, 1367, 1368, 5, 3, 0, 0, 1368, 1369, 5, 13, 0, 0, 1369, 1370, 5, 4, 0, 0, 1370, 251, 1, 0, 0, 0, 1371, 1372, 5, 91, 0, 0, 1372, 1373, 5, 3, 0, 0, 1373, 1374, 5, 13, 0, 0, 1374, 1375, 5, 4, 0, 0, 1375, 253, 1, 0, 0, 0, 1376, 1377, 5, 92, 0, 0, 1377, 1378, 5, 3, 0, 0, 1378, 1379, 3, 346, 173, 0, 1379, 1380, 5, 4, 0, 0, 1380, 255, 1, 0, 0, 0, 1381, 1382, 5, 93, 0, 0, 1382, 1383, 5, 3, 0, 0, 1383, 1387, 5, 1, 0, 0, 1384, 1386, 3, 258, 129, 0, 1385, 1384, 1, 0, 0, 0, 1386, 1389, 1, 0, 0, 0, 1387, 1385, 1, 0, 0, 0, 1387, 1388, 1, 0, 0, 0, 1388, 1390, 1, 0, 0, 0, 1389, 1387, 1, 0, 0, 0, 1390, 1391, 5, 2, 0, 0, 1391, 1392, 5, 4, 0, 0, 1392, 257, 1, 0, 0, 0, 1393, 1394, 5, 135, 0, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1397, 5, 1, 0, 0, 1396, 1398, 3, 260, 130, 0, 1397, 1396, 1, 0, 0, 0, 1397, 1398, 1, 0, 0, 0, 1398, 1400, 1, 0, 0, 0, 1399, 1401, 3, 262, 131, 0, 1400, 1399, 1, 0, 0, 0, 1400, 1401, 1, 0, 0, 0, 1401, 1403, 1, 0, 0, 0, 1402, 1404, 3, 264, 132, 0, 1403, 1402, 1, 0, 0, 0, 1403, 1404, 1, 0, 0, 0, 1404, 1406, 1, 0, 0, 0, 1405, 1407, 3, 266, 133, 0, 1406, 1405, 1, 0, 0, 0, 1406, 1407, 1, 0, 0, 0, 1407, 1409, 1, 0, 0, 0, 1408, 1410, 3, 242, 121, 0, 1409, 1408, 1, 0, 0, 0, 1409, 1410, 1, 0, 0, 0, 1410, 1412, 1, 0, 0, 0, 1411, 1413, 3, 268, 134, 0, 1412, 1411, 1, 0, 0, 0, 1412, 1413, 1, 0, 0, 0, 1413, 1415, 1, 0, 0, 0, 1414, 1416, 3, 336, 168, 0, 1415, 1414, 1, 0, 0, 0, 1415, 1416, 1, 0, 0, 0, 1416, 1418, 1, 0, 0, 0, 1417, 1419, 3, 262, 131, 0, 1418, 1417, 1, 0, 0, 0, 1418, 1419, 1, 0, 0, 0, 1419, 1420, 1, 0, 0, 0, 1420, 1421, 5, 2, 0, 0, 1421, 1422, 5, 4, 0, 0, 1422, 259, 1, 0, 0, 0, 1423, 1424, 5, 94, 0, 0, 1424, 1425, 5, 3, 0, 0, 1425, 1426, 5, 137, 0, 0, 1426, 1427, 5, 4, 0, 0, 1427, 261, 1, 0, 0, 0, 1428, 1429, 5, 95, 0, 0, 1429, 1430, 5, 3, 0, 0, 1430, 1431, 5, 135, 0, 0, 1431, 1432, 5, 4, 0, 0, 1432, 263, 1, 0, 0, 0, 1433, 1434, 5, 96, 0, 0, 1434, 1435, 5, 3, 0, 0, 1435, 1436, 3, 344, 172, 0, 1436, 1437, 5, 4, 0, 0, 1437, 265, 1, 0, 0, 0, 1438, 1439, 5, 97, 0, 0, 1439, 1440, 5, 3, 0, 0, 1440, 1441, 3, 344, 172, 0, 1441, 1442, 5, 4, 0, 0, 1442, 267, 1, 0, 0, 0, 1443, 1444, 5, 98, 0, 0, 1444, 1445, 5, 3, 0, 0, 1445, 1446, 5, 137, 0, 0, 1446, 1447, 5, 4, 0, 0, 1447, 269, 1, 0, 0, 0, 1448, 1449, 5, 99, 0, 0, 1449, 1450, 5, 3, 0, 0, 1450, 1451, 5, 136, 0, 0, 1451, 1452, 5, 4, 0, 0, 1452, 271, 1, 0, 0, 0, 1453, 1454, 5, 100, 0, 0, 1454, 1455, 5, 3, 0, 0, 1455, 1456, 5, 137, 0, 0, 1456, 1457, 5, 4, 0, 0, 1457, 273, 1, 0, 0, 0, 1458, 1459, 5, 101, 0, 0, 1459, 1460, 5, 3, 0, 0, 1460, 1461, 5, 13, 0, 0, 1461, 1462, 5, 4, 0, 0, 1462, 275, 1, 0, 0, 0, 1463, 1464, 5, 102, 0, 0, 1464, 1465, 5, 3, 0, 0, 1465, 1466, 3, 208, 104, 0, 1466, 1467, 5, 4, 0, 0, 1467, 277, 1, 0, 0, 0, 1468, 1469, 5, 103, 0, 0, 1469, 1470, 5, 3, 0, 0, 1470, 1471, 5, 135, 0, 0, 1471, 1472, 5, 4, 0, 0, 1472, 279, 1, 0, 0, 0, 1473, 1474, 5, 104, 0, 0, 1474, 1475, 5, 3, 0, 0, 1475, 1476, 5, 135, 0, 0, 1476, 1477, 5, 4, 0, 0, 1477, 281, 1, 0, 0, 0, 1478, 1479, 5, 105, 0, 0, 1479, 1480, 5, 3, 0, 0, 1480, 1481, 3, 206, 103, 0, 1481, 1482, 5, 4, 0, 0, 1482, 283, 1, 0, 0, 0, 1483, 1484, 5, 106, 0, 0, 1484, 1485, 5, 3, 0, 0, 1485, 1486, 3, 344, 172, 0, 1486, 1487, 5, 4, 0, 0, 1487, 285, 1, 0, 0, 0, 1488, 1489, 5, 107, 0, 0, 1489, 1490, 5, 3, 0, 0, 1490, 1491, 3, 346, 173, 0, 1491, 1492, 5, 4, 0, 0, 1492, 1501, 1, 0, 0, 0, 1493, 1494, 5, 107, 0, 0, 1494, 1495, 5, 3, 0, 0, 1495, 1496, 5, 5, 0, 0, 1496, 1497, 3, 322, 161, 0, 1497, 1498, 5, 7, 0, 0, 1498, 1499, 5, 4, 0, 0, 1499, 1501, 1, 0, 0, 0, 1500, 1488, 1, 0, 0, 0, 1500, 1493, 1, 0, 0, 0, 1501, 287, 1, 0, 0, 0, 1502, 1503, 5, 108, 0, 0, 1503, 1504, 5, 3, 0, 0, 1504, 1505, 3, 344, 172, 0, 1505, 1506, 5, 4, 0, 0, 1506, 289, 1, 0, 0, 0, 1507, 1508, 5, 109, 0, 0, 1508, 1509, 5, 3, 0, 0, 1509, 1510, 3, 206, 103, 0, 1510, 1511, 5, 4, 0, 0, 1511, 291, 1, 0, 0, 0, 1512, 1513, 5, 110, 0, 0, 1513, 1514, 5, 3, 0, 0, 1514, 1515, 3, 208, 104, 0, 1515, 1516, 5, 4, 0, 0, 1516, 293, 1, 0, 0, 0, 1517, 1518, 5, 111, 0, 0, 1518, 1519, 5, 3, 0, 0, 1519, 1520, 3, 208, 104, 0, 1520, 1521, 5, 4, 0, 0, 1521, 295, 1, 0, 0, 0, 1522, 1523, 5, 112, 0, 0, 1523, 1524, 5, 3, 0, 0, 1524, 1525, 3, 208, 104, 0, 1525, 1526, 5, 4, 0, 0, 1526, 297, 1, 0, 0, 0, 1527, 1528, 5, 113, 0, 0, 1528, 1529, 5, 3, 0, 0, 1529, 1530, 3, 208, 104, 0, 1530, 1531, 5, 4, 0, 0, 1531, 299, 1, 0, 0, 0, 1532, 1533, 5, 114, 0, 0, 1533, 1534, 5, 3, 0, 0, 1534, 1535, 5, 137, 0, 0, 1535, 1536, 5, 4, 0, 0, 1536, 301, 1, 0, 0, 0, 1537, 1538, 5, 115, 0, 0, 1538, 1539, 5, 3, 0, 0, 1539, 1540, 3, 344, 172, 0, 1540, 1541, 5, 4, 0, 0, 1541, 303, 1, 0, 0, 0, 1542, 1543, 5, 116, 0, 0, 1543, 1544, 5, 3, 0, 0, 1544, 1545, 5, 13, 0, 0, 1545, 1546, 5, 4, 0, 0, 1546, 305, 1, 0, 0, 0, 1547, 1548, 5, 117, 0, 0, 1548, 1549, 5, 3, 0, 0, 1549, 1550, 5, 135, 0, 0, 1550, 1551, 5, 4, 0, 0, 1551, 307, 1, 0, 0, 0, 1552, 1553, 5, 118, 0, 0, 1553, 1554, 5, 3, 0, 0, 1554, 1555, 5, 135, 0, 0, 1555, 1556, 5, 4, 0, 0, 1556, 309, 1, 0, 0, 0, 1557, 1558, 5, 119, 0, 0, 1558, 1559, 5, 3, 0, 0, 1559, 1560, 3, 346, 173, 0, 1560, 1561, 5, 4, 0, 0, 1561, 311, 1, 0, 0, 0, 1562, 1563, 5, 120, 0, 0, 1563, 1564, 5, 3, 0, 0, 1564, 1565, 5, 135, 0, 0, 1565, 1566, 5, 4, 0, 0, 1566, 313, 1, 0, 0, 0, 1567, 1568, 5, 121, 0, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1570, 5, 135, 0, 0, 1570, 1571, 5, 4, 0, 0, 1571, 315, 1, 0, 0, 0, 1572, 1573, 5, 122, 0, 0, 1573, 1574, 5, 3, 0, 0, 1574, 1578, 5, 1, 0, 0, 1575, 1577, 3, 326, 163, 0, 1576, 1575, 1, 0, 0, 0, 1577, 1580, 1, 0, 0, 0, 1578, 1576, 1, 0, 0, 0, 1578, 1579, 1, 0, 0, 0, 1579, 1581, 1, 0, 0, 0, 1580, 1578, 1, 0, 0, 0, 1581, 1582, 5, 2, 0, 0, 1582, 1583, 5, 4, 0, 0, 1583, 317, 1, 0, 0, 0, 1584, 1585, 5, 123, 0, 0, 1585, 1586, 5, 3, 0, 0, 1586, 1587, 3, 344, 172, 0, 1587, 1588, 5, 4, 0, 0, 1588, 319, 1, 0, 0, 0, 1589, 1590, 5, 124, 0, 0, 1590, 1591, 5, 3, 0, 0, 1591, 1592, 5, 13, 0, 0, 1592, 1593, 5, 4, 0, 0, 1593, 321, 1, 0, 0, 0, 1594, 1596, 3, 324, 162, 0, 1595, 1594, 1, 0, 0, 0, 1596, 1599, 1, 0, 0, 0, 1597, 1595, 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 323, 1, 0, 0, 0, 1599, 1597, 1, 0, 0, 0, 1600, 1601, 5, 1, 0, 0, 1601, 1602, 5, 125, 0, 0, 1602, 1603, 5, 3, 0, 0, 1603, 1604, 5, 135, 0, 0, 1604, 1605, 5, 4, 0, 0, 1605, 1606, 5, 126, 0, 0, 1606, 1607, 5, 3, 0, 0, 1607, 1608, 5, 135, 0, 0, 1608, 1609, 5, 4, 0, 0, 1609, 1610, 5, 2, 0, 0, 1610, 1611, 5, 6, 0, 0, 1611, 325, 1, 0, 0, 0, 1612, 1613, 3, 346, 173, 0, 1613, 1614, 5, 3, 0, 0, 1614, 1615, 3, 346, 173, 0, 1615, 1616, 5, 4, 0, 0, 1616, 1649, 1, 0, 0, 0, 1617, 1618, 3, 346, 173, 0, 1618, 1619, 5, 3, 0, 0, 1619, 1620, 5, 13, 0, 0, 1620, 1621, 5, 4, 0, 0, 1621, 1649, 1, 0, 0, 0, 1622, 1623, 3, 346, 173, 0, 1623, 1624, 5, 3, 0, 0, 1624, 1625, 5, 139, 0, 0, 1625, 1626, 5, 4, 0, 0, 1626, 1649, 1, 0, 0, 0, 1627, 1628, 3, 346, 173, 0, 1628, 1629, 5, 3, 0, 0, 1629, 1630, 5, 1, 0, 0, 1630, 1631, 3, 326, 163, 0, 1631, 1632, 5, 2, 0, 0, 1632, 1633, 5, 4, 0, 0, 1633, 1649, 1, 0, 0, 0, 1634, 1635, 3, 346, 173, 0, 1635, 1636, 5, 3, 0, 0, 1636, 1642, 5, 5, 0, 0, 1637, 1638, 3, 346, 173, 0, 1638, 1639, 5, 6, 0, 0, 1639, 1641, 1, 0, 0, 0, 1640, 1637, 1, 0, 0, 0, 1641, 1644, 1, 0, 0, 0, 1642, 1640, 1, 0, 0, 0, 1642, 1643, 1, 0, 0, 0, 1643, 1645, 1, 0, 0, 0, 1644, 1642, 1, 0, 0, 0, 1645, 1646, 5, 7, 0, 0, 1646, 1647, 5, 4, 0, 0, 1647, 1649, 1, 0, 0, 0, 1648, 1612, 1, 0, 0, 0, 1648, 1617, 1, 0, 0, 0, 1648, 1622, 1, 0, 0, 0, 1648, 1627, 1, 0, 0, 0, 1648, 1634, 1, 0, 0, 0, 1649, 327, 1, 0, 0, 0, 1650, 1651, 5, 127, 0, 0, 1651, 1652, 5, 3, 0, 0, 1652, 1653, 3, 206, 103, 0, 1653, 1654, 5, 4, 0, 0, 1654, 329, 1, 0, 0, 0, 1655, 1656, 5, 128, 0, 0, 1656, 1657, 5, 3, 0, 0, 1657, 1658, 5, 13, 0, 0, 1658, 1659, 5, 4, 0, 0, 1659, 331, 1, 0, 0, 0, 1660, 1661, 5, 129, 0, 0, 1661, 1662, 5, 3, 0, 0, 1662, 1663, 3, 344, 172, 0, 1663, 1664, 5, 4, 0, 0, 1664, 333, 1, 0, 0, 0, 1665, 1666, 5, 130, 0, 0, 1666, 1667, 5, 3, 0, 0, 1667, 1671, 5, 1, 0, 0, 1668, 1670, 3, 326, 163, 0, 1669, 1668, 1, 0, 0, 0, 1670, 1673, 1, 0, 0, 0, 1671, 1669, 1, 0, 0, 0, 1671, 1672, 1, 0, 0, 0, 1672, 1674, 1, 0, 0, 0, 1673, 1671, 1, 0, 0, 0, 1674, 1675, 5, 2, 0, 0, 1675, 1676, 5, 4, 0, 0, 1676, 335, 1, 0, 0, 0, 1677, 1678, 5, 131, 0, 0, 1678, 1679, 5, 3, 0, 0, 1679, 1683, 5, 1, 0, 0, 1680, 1682, 3, 326, 163, 0, 1681, 1680, 1, 0, 0, 0, 1682, 1685, 1, 0, 0, 0, 1683, 1681, 1, 0, 0, 0, 1683, 1684, 1, 0, 0, 0, 1684, 1686, 1, 0, 0, 0, 1685, 1683, 1, 0, 0, 0, 1686, 1687, 5, 2, 0, 0, 1687, 1688, 5, 4, 0, 0, 1688, 337, 1, 0, 0, 0, 1689, 1690, 5, 132, 0, 0, 1690, 1691, 5, 3, 0, 0, 1691, 1692, 5, 135, 0, 0, 1692, 1693, 5, 4, 0, 0, 1693, 339, 1, 0, 0, 0, 1694, 1695, 5, 133, 0, 0, 1695, 1696, 5, 3, 0, 0, 1696, 1697, 5, 137, 0, 0, 1697, 1698, 5, 4, 0, 0, 1698, 341, 1, 0, 0, 0, 1699, 1700, 5, 134, 0, 0, 1700, 1701, 5, 3, 0, 0, 1701, 1702, 3, 346, 173, 0, 1702, 1703, 5, 4, 0, 0, 1703, 343, 1, 0, 0, 0, 1704, 1708, 5, 137, 0, 0, 1705, 1708, 5, 136, 0, 0, 1706, 1708, 3, 348, 174, 0, 1707, 1704, 1, 0, 0, 0, 1707, 1705, 1, 0, 0, 0, 1707, 1706, 1, 0, 0, 0, 1708, 345, 1, 0, 0, 0, 1709, 1713, 3, 344, 172, 0, 1710, 1713, 5, 13, 0, 0, 1711, 1713, 5, 138, 0, 0, 1712, 1709, 1, 0, 0, 0, 1712, 1710, 1, 0, 0, 0, 1712, 1711, 1, 0, 0, 0, 1713, 347, 1, 0, 0, 0, 1714, 1715, 7, 1, 0, 0, 1715, 349, 1, 0, 0, 0, 124, 380, 383, 386, 389, 393, 397, 400, 403, 407, 410, 413, 416, 419, 422, 427, 430, 433, 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, 496, 501, 506, 511, 516, 521, 526, 531, 536, 541, 546, 551, 562, 572, 575, 578, 581, 584, 609, 620, 623, 626, 629, 632, 635, 638, 641, 644, 647, 650, 653, 656, 659, 680, 683, 686, 689, 693, 696, 699, 724, 727, 756, 761, 765, 769, 772, 776, 789, 812, 817, 820, 823, 826, 829, 835, 855, 858, 861, 864, 867, 880, 891, 905, 924, 937, 1166, 1217, 1228, 1238, 1317, 1320, 1323, 1326, 1329, 1332, 1335, 1338, 1341, 1387, 1397, 1400, 1403, 1406, 1409, 1412, 1415, 1418, 1500, 1578, 1597, 1642, 1648, 1671, 1683, 1707, 1712] \ No newline at end of file diff --git a/kin/grammar/PBXProj.tokens b/kin/grammar/PBXProj.tokens index d7a1620..5486411 100644 --- a/kin/grammar/PBXProj.tokens +++ b/kin/grammar/PBXProj.tokens @@ -38,108 +38,109 @@ XC_CONFIGURATION_LIST=37 XC_REMOTE_SWIFT_PACKAGE_REFERENCE=38 XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY=39 XC_VERSION_GROUP=40 -FILE_REF=41 -PRODUCT_REF=42 -CONTAINER_PORTAL=43 -PROXY_TYPE=44 -REMOTE_GLOBAL_ID_STRING=45 -REMOTE_INFO=46 -FILE_ENCODING=47 -COMMENTS=48 -EXPLICIT_FILE_TYPE=49 -LAST_KNOWN_FILE_TYPE=50 -INCLUDE_IN_INDEX=51 -INDENT_WIDTH=52 -TAB_WIDTH=53 -USES_TABS=54 -WRAPS_LINES=55 -PLATFORM_FILTER=56 -PLATFORM_FILTERS=57 -CHILDREN=58 -PRODUCT_INSTALL_PATH=59 -REPOSITORY_URL=60 -REQUIREMENT=61 -PACKAGE=62 -PACKAGE_PRODUCT_DEPENDENCIES=63 -NAME=64 -PATH=65 -SOURCE_TREE=66 -BUILD_ACTION_MASK=67 -FILES=68 -RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING=69 -BUILD_CONFIGURATION_LIST=70 -BUILD_PHASES=71 -BUILD_RULES=72 -BUILD_ARGUMENTS_STRING=73 -BUILD_TOOL_PATH=74 -BUILD_WORKING_DIRECTORY=75 -PASS_BUILD_SETTINGS_IN_ENVIRONMENT=76 -DEPENDENCIES=77 -PRODUCT_NAME=78 -PRODUCT_REFERENCE=79 -PRODUCT_TYPE=80 -LINE_ENDING=81 -XC_LANGUAGE_SPECIFICATION_IDENTIFIER=82 -PLIST_STRUCTURE_DEFINITION_IDENTIFIER=83 -ATTRIBUTES=84 -LAST_SWIFT_MIGRATION=85 -DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE=86 -LAST_SWIFT_UPDATE_CHECK=87 -BUILD_INDEPENDENT_TARGETS_IN_PARALLEL=88 -LAST_TESTING_UPGRADE_CHECK=89 -LAST_UPGRADE_CHECK=90 -ORGANIZATION_NAME=91 -TARGET_ATTRIBUTES=92 -CREATED_ON_TOOLS_VERSION=93 -TEST_TARGET_ID=94 -DEVELOPMENT_TEAM=95 -DEVELOPMENT_TEAM_NAME=96 -PROVISIONING_STYLE=97 -COMPATIBILITY_VERSION=98 -DEVELOPMENT_REGION=99 -HAS_SCANNED_FOR_ENCODINGS=100 -KNOWN_REGIONS=101 -MAIN_GROUP=102 -PRODUCT_REF_GROUP=103 -PACKAGE_REFERENCES=104 -PRODUCT_DIR_PATH=105 -PROJECT_REFERENCES=106 -PROJECT_ROOT=107 -TARGETS=108 -INPUT_FILE_LIST_PATHS=109 -INPUT_PATHS=110 -OUTPUT_FILE_LIST_PATHS=111 -OUTPUT_PATHS=112 -SHELL_PATH=113 -SHELL_SCRIPT=114 -SHOW_ENV_VARS_IN_LOG=115 -TARGET=116 -TARGET_PROXY=117 -FILE_TYPE=118 -REMOTE_REF=119 -BASE_CONFIGURATION_REFERENCE=120 -BUILD_SETTINGS=121 -DST_PATH=122 -DST_SUBFOLDER_SPEC=123 -PRODUCT_GROUP=124 -PROJECT_REF=125 -BUILD_CONFIGURATIONS=126 -DEFAULT_CONFIGURATION_IS_VISIBLE=127 -DEFAULT_CONFIGURATION_NAME=128 -SETTINGS=129 -SYSTEM_CAPABILITIES=130 -CURRENT_VERSION=131 -VERSION_GROUP_TYPE=132 -CLASSPREFIX=133 -REFERENCE=134 -QUOTED_STRING=135 -NON_QUOTED_STRING=136 -VARIABLE=137 -ALPHA_NUMERIC=138 -ALPHA_NUMERIC_CAP=139 -WS=140 -COMMENT=141 -LINE_COMMENT=142 +ALWAYS_OUT_OF_DATE=41 +FILE_REF=42 +PRODUCT_REF=43 +CONTAINER_PORTAL=44 +PROXY_TYPE=45 +REMOTE_GLOBAL_ID_STRING=46 +REMOTE_INFO=47 +FILE_ENCODING=48 +COMMENTS=49 +EXPLICIT_FILE_TYPE=50 +LAST_KNOWN_FILE_TYPE=51 +INCLUDE_IN_INDEX=52 +INDENT_WIDTH=53 +TAB_WIDTH=54 +USES_TABS=55 +WRAPS_LINES=56 +PLATFORM_FILTER=57 +PLATFORM_FILTERS=58 +CHILDREN=59 +PRODUCT_INSTALL_PATH=60 +REPOSITORY_URL=61 +REQUIREMENT=62 +PACKAGE=63 +PACKAGE_PRODUCT_DEPENDENCIES=64 +NAME=65 +PATH=66 +SOURCE_TREE=67 +BUILD_ACTION_MASK=68 +FILES=69 +RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING=70 +BUILD_CONFIGURATION_LIST=71 +BUILD_PHASES=72 +BUILD_RULES=73 +BUILD_ARGUMENTS_STRING=74 +BUILD_TOOL_PATH=75 +BUILD_WORKING_DIRECTORY=76 +PASS_BUILD_SETTINGS_IN_ENVIRONMENT=77 +DEPENDENCIES=78 +PRODUCT_NAME=79 +PRODUCT_REFERENCE=80 +PRODUCT_TYPE=81 +LINE_ENDING=82 +XC_LANGUAGE_SPECIFICATION_IDENTIFIER=83 +PLIST_STRUCTURE_DEFINITION_IDENTIFIER=84 +ATTRIBUTES=85 +LAST_SWIFT_MIGRATION=86 +DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE=87 +LAST_SWIFT_UPDATE_CHECK=88 +BUILD_INDEPENDENT_TARGETS_IN_PARALLEL=89 +LAST_TESTING_UPGRADE_CHECK=90 +LAST_UPGRADE_CHECK=91 +ORGANIZATION_NAME=92 +TARGET_ATTRIBUTES=93 +CREATED_ON_TOOLS_VERSION=94 +TEST_TARGET_ID=95 +DEVELOPMENT_TEAM=96 +DEVELOPMENT_TEAM_NAME=97 +PROVISIONING_STYLE=98 +COMPATIBILITY_VERSION=99 +DEVELOPMENT_REGION=100 +HAS_SCANNED_FOR_ENCODINGS=101 +KNOWN_REGIONS=102 +MAIN_GROUP=103 +PRODUCT_REF_GROUP=104 +PACKAGE_REFERENCES=105 +PRODUCT_DIR_PATH=106 +PROJECT_REFERENCES=107 +PROJECT_ROOT=108 +TARGETS=109 +INPUT_FILE_LIST_PATHS=110 +INPUT_PATHS=111 +OUTPUT_FILE_LIST_PATHS=112 +OUTPUT_PATHS=113 +SHELL_PATH=114 +SHELL_SCRIPT=115 +SHOW_ENV_VARS_IN_LOG=116 +TARGET=117 +TARGET_PROXY=118 +FILE_TYPE=119 +REMOTE_REF=120 +BASE_CONFIGURATION_REFERENCE=121 +BUILD_SETTINGS=122 +DST_PATH=123 +DST_SUBFOLDER_SPEC=124 +PRODUCT_GROUP=125 +PROJECT_REF=126 +BUILD_CONFIGURATIONS=127 +DEFAULT_CONFIGURATION_IS_VISIBLE=128 +DEFAULT_CONFIGURATION_NAME=129 +SETTINGS=130 +SYSTEM_CAPABILITIES=131 +CURRENT_VERSION=132 +VERSION_GROUP_TYPE=133 +CLASSPREFIX=134 +REFERENCE=135 +QUOTED_STRING=136 +NON_QUOTED_STRING=137 +VARIABLE=138 +ALPHA_NUMERIC=139 +ALPHA_NUMERIC_CAP=140 +WS=141 +COMMENT=142 +LINE_COMMENT=143 '{'=1 '}'=2 '='=3 @@ -179,96 +180,97 @@ LINE_COMMENT=142 'XCRemoteSwiftPackageReference'=38 'XCSwiftPackageProductDependency'=39 'XCVersionGroup'=40 -'fileRef'=41 -'productRef'=42 -'containerPortal'=43 -'proxyType'=44 -'remoteGlobalIDString'=45 -'remoteInfo'=46 -'fileEncoding'=47 -'comments'=48 -'explicitFileType'=49 -'lastKnownFileType'=50 -'includeInIndex'=51 -'indentWidth'=52 -'tabWidth'=53 -'usesTabs'=54 -'wrapsLines'=55 -'platformFilter'=56 -'platformFilters'=57 -'children'=58 -'productInstallPath'=59 -'repositoryURL'=60 -'requirement'=61 -'package'=62 -'packageProductDependencies'=63 -'name'=64 -'path'=65 -'sourceTree'=66 -'buildActionMask'=67 -'files'=68 -'runOnlyForDeploymentPostprocessing'=69 -'buildConfigurationList'=70 -'buildPhases'=71 -'buildRules'=72 -'buildArgumentsString'=73 -'buildToolPath'=74 -'buildWorkingDirectory'=75 -'passBuildSettingsInEnvironment'=76 -'dependencies'=77 -'productName'=78 -'productReference'=79 -'productType'=80 -'lineEnding'=81 -'xcLanguageSpecificationIdentifier'=82 -'plistStructureDefinitionIdentifier'=83 -'attributes'=84 -'LastSwiftMigration'=85 -'DefaultBuildSystemTypeForWorkspace'=86 -'LastSwiftUpdateCheck'=87 -'BuildIndependentTargetsInParallel'=88 -'LastTestingUpgradeCheck'=89 -'LastUpgradeCheck'=90 -'ORGANIZATIONNAME'=91 -'TargetAttributes'=92 -'CreatedOnToolsVersion'=93 -'TestTargetID'=94 -'DevelopmentTeam'=95 -'DevelopmentTeamName'=96 -'ProvisioningStyle'=97 -'compatibilityVersion'=98 -'developmentRegion'=99 -'hasScannedForEncodings'=100 -'knownRegions'=101 -'mainGroup'=102 -'productRefGroup'=103 -'packageReferences'=104 -'projectDirPath'=105 -'projectReferences'=106 -'projectRoot'=107 -'targets'=108 -'inputFileListPaths'=109 -'inputPaths'=110 -'outputFileListPaths'=111 -'outputPaths'=112 -'shellPath'=113 -'shellScript'=114 -'showEnvVarsInLog'=115 -'target'=116 -'targetProxy'=117 -'fileType'=118 -'remoteRef'=119 -'baseConfigurationReference'=120 -'buildSettings'=121 -'dstPath'=122 -'dstSubfolderSpec'=123 -'ProductGroup'=124 -'ProjectRef'=125 -'buildConfigurations'=126 -'defaultConfigurationIsVisible'=127 -'defaultConfigurationName'=128 -'settings'=129 -'SystemCapabilities'=130 -'currentVersion'=131 -'versionGroupType'=132 -'CLASSPREFIX'=133 +'alwaysOutOfDate'=41 +'fileRef'=42 +'productRef'=43 +'containerPortal'=44 +'proxyType'=45 +'remoteGlobalIDString'=46 +'remoteInfo'=47 +'fileEncoding'=48 +'comments'=49 +'explicitFileType'=50 +'lastKnownFileType'=51 +'includeInIndex'=52 +'indentWidth'=53 +'tabWidth'=54 +'usesTabs'=55 +'wrapsLines'=56 +'platformFilter'=57 +'platformFilters'=58 +'children'=59 +'productInstallPath'=60 +'repositoryURL'=61 +'requirement'=62 +'package'=63 +'packageProductDependencies'=64 +'name'=65 +'path'=66 +'sourceTree'=67 +'buildActionMask'=68 +'files'=69 +'runOnlyForDeploymentPostprocessing'=70 +'buildConfigurationList'=71 +'buildPhases'=72 +'buildRules'=73 +'buildArgumentsString'=74 +'buildToolPath'=75 +'buildWorkingDirectory'=76 +'passBuildSettingsInEnvironment'=77 +'dependencies'=78 +'productName'=79 +'productReference'=80 +'productType'=81 +'lineEnding'=82 +'xcLanguageSpecificationIdentifier'=83 +'plistStructureDefinitionIdentifier'=84 +'attributes'=85 +'LastSwiftMigration'=86 +'DefaultBuildSystemTypeForWorkspace'=87 +'LastSwiftUpdateCheck'=88 +'BuildIndependentTargetsInParallel'=89 +'LastTestingUpgradeCheck'=90 +'LastUpgradeCheck'=91 +'ORGANIZATIONNAME'=92 +'TargetAttributes'=93 +'CreatedOnToolsVersion'=94 +'TestTargetID'=95 +'DevelopmentTeam'=96 +'DevelopmentTeamName'=97 +'ProvisioningStyle'=98 +'compatibilityVersion'=99 +'developmentRegion'=100 +'hasScannedForEncodings'=101 +'knownRegions'=102 +'mainGroup'=103 +'productRefGroup'=104 +'packageReferences'=105 +'projectDirPath'=106 +'projectReferences'=107 +'projectRoot'=108 +'targets'=109 +'inputFileListPaths'=110 +'inputPaths'=111 +'outputFileListPaths'=112 +'outputPaths'=113 +'shellPath'=114 +'shellScript'=115 +'showEnvVarsInLog'=116 +'target'=117 +'targetProxy'=118 +'fileType'=119 +'remoteRef'=120 +'baseConfigurationReference'=121 +'buildSettings'=122 +'dstPath'=123 +'dstSubfolderSpec'=124 +'ProductGroup'=125 +'ProjectRef'=126 +'buildConfigurations'=127 +'defaultConfigurationIsVisible'=128 +'defaultConfigurationName'=129 +'settings'=130 +'SystemCapabilities'=131 +'currentVersion'=132 +'versionGroupType'=133 +'CLASSPREFIX'=134 diff --git a/kin/grammar/PBXProjLexer.interp b/kin/grammar/PBXProjLexer.interp index e16c289..ded87e5 100644 --- a/kin/grammar/PBXProjLexer.interp +++ b/kin/grammar/PBXProjLexer.interp @@ -40,6 +40,7 @@ null 'XCRemoteSwiftPackageReference' 'XCSwiftPackageProductDependency' 'XCVersionGroup' +'alwaysOutOfDate' 'fileRef' 'productRef' 'containerPortal' @@ -185,6 +186,7 @@ XC_CONFIGURATION_LIST XC_REMOTE_SWIFT_PACKAGE_REFERENCE XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY XC_VERSION_GROUP +ALWAYS_OUT_OF_DATE FILE_REF PRODUCT_REF CONTAINER_PORTAL @@ -329,6 +331,7 @@ XC_CONFIGURATION_LIST XC_REMOTE_SWIFT_PACKAGE_REFERENCE XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY XC_VERSION_GROUP +ALWAYS_OUT_OF_DATE FILE_REF PRODUCT_REF CONTAINER_PORTAL @@ -442,4 +445,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 142, 2456, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 4, 12, 336, 8, 12, 11, 12, 12, 12, 337, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 2322, 8, 133, 1, 133, 3, 133, 2325, 8, 133, 1, 133, 3, 133, 2328, 8, 133, 1, 133, 3, 133, 2331, 8, 133, 1, 133, 3, 133, 2334, 8, 133, 1, 133, 3, 133, 2337, 8, 133, 1, 133, 3, 133, 2340, 8, 133, 1, 133, 3, 133, 2343, 8, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 2350, 8, 133, 1, 133, 4, 133, 2353, 8, 133, 11, 133, 12, 133, 2354, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 2382, 8, 133, 1, 134, 1, 134, 4, 134, 2386, 8, 134, 11, 134, 12, 134, 2387, 1, 134, 1, 134, 1, 134, 1, 134, 3, 134, 2394, 8, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 4, 135, 2401, 8, 135, 11, 135, 12, 135, 2402, 1, 136, 1, 136, 4, 136, 2407, 8, 136, 11, 136, 12, 136, 2408, 1, 136, 3, 136, 2412, 8, 136, 1, 137, 1, 137, 1, 138, 1, 138, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 3, 140, 2423, 8, 140, 1, 141, 4, 141, 2426, 8, 141, 11, 141, 12, 141, 2427, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 5, 142, 2436, 8, 142, 10, 142, 12, 142, 2439, 9, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 5, 143, 2450, 8, 143, 10, 143, 12, 143, 2453, 9, 143, 1, 143, 1, 143, 1, 2437, 0, 144, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, 277, 139, 279, 0, 281, 0, 283, 140, 285, 141, 287, 142, 1, 0, 7, 1, 0, 48, 57, 3, 0, 48, 57, 65, 90, 97, 122, 2, 0, 48, 57, 65, 90, 3, 0, 48, 57, 65, 70, 97, 102, 1, 0, 34, 34, 3, 0, 9, 10, 12, 13, 32, 32, 2, 0, 10, 10, 13, 13, 2479, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 1, 289, 1, 0, 0, 0, 3, 291, 1, 0, 0, 0, 5, 293, 1, 0, 0, 0, 7, 295, 1, 0, 0, 0, 9, 297, 1, 0, 0, 0, 11, 299, 1, 0, 0, 0, 13, 301, 1, 0, 0, 0, 15, 303, 1, 0, 0, 0, 17, 318, 1, 0, 0, 0, 19, 326, 1, 0, 0, 0, 21, 328, 1, 0, 0, 0, 23, 330, 1, 0, 0, 0, 25, 335, 1, 0, 0, 0, 27, 339, 1, 0, 0, 0, 29, 353, 1, 0, 0, 0, 31, 361, 1, 0, 0, 0, 33, 372, 1, 0, 0, 0, 35, 374, 1, 0, 0, 0, 37, 376, 1, 0, 0, 0, 39, 395, 1, 0, 0, 0, 41, 408, 1, 0, 0, 0, 43, 430, 1, 0, 0, 0, 45, 453, 1, 0, 0, 0, 47, 470, 1, 0, 0, 0, 49, 494, 1, 0, 0, 0, 51, 503, 1, 0, 0, 0, 53, 524, 1, 0, 0, 0, 55, 540, 1, 0, 0, 0, 57, 556, 1, 0, 0, 0, 59, 567, 1, 0, 0, 0, 61, 585, 1, 0, 0, 0, 63, 608, 1, 0, 0, 0, 65, 633, 1, 0, 0, 0, 67, 654, 1, 0, 0, 0, 69, 674, 1, 0, 0, 0, 71, 690, 1, 0, 0, 0, 73, 711, 1, 0, 0, 0, 75, 731, 1, 0, 0, 0, 77, 761, 1, 0, 0, 0, 79, 793, 1, 0, 0, 0, 81, 808, 1, 0, 0, 0, 83, 816, 1, 0, 0, 0, 85, 827, 1, 0, 0, 0, 87, 843, 1, 0, 0, 0, 89, 853, 1, 0, 0, 0, 91, 874, 1, 0, 0, 0, 93, 885, 1, 0, 0, 0, 95, 898, 1, 0, 0, 0, 97, 907, 1, 0, 0, 0, 99, 924, 1, 0, 0, 0, 101, 942, 1, 0, 0, 0, 103, 957, 1, 0, 0, 0, 105, 969, 1, 0, 0, 0, 107, 978, 1, 0, 0, 0, 109, 987, 1, 0, 0, 0, 111, 998, 1, 0, 0, 0, 113, 1013, 1, 0, 0, 0, 115, 1029, 1, 0, 0, 0, 117, 1038, 1, 0, 0, 0, 119, 1057, 1, 0, 0, 0, 121, 1071, 1, 0, 0, 0, 123, 1083, 1, 0, 0, 0, 125, 1091, 1, 0, 0, 0, 127, 1118, 1, 0, 0, 0, 129, 1123, 1, 0, 0, 0, 131, 1128, 1, 0, 0, 0, 133, 1139, 1, 0, 0, 0, 135, 1155, 1, 0, 0, 0, 137, 1161, 1, 0, 0, 0, 139, 1196, 1, 0, 0, 0, 141, 1219, 1, 0, 0, 0, 143, 1231, 1, 0, 0, 0, 145, 1242, 1, 0, 0, 0, 147, 1263, 1, 0, 0, 0, 149, 1277, 1, 0, 0, 0, 151, 1299, 1, 0, 0, 0, 153, 1330, 1, 0, 0, 0, 155, 1343, 1, 0, 0, 0, 157, 1355, 1, 0, 0, 0, 159, 1372, 1, 0, 0, 0, 161, 1384, 1, 0, 0, 0, 163, 1395, 1, 0, 0, 0, 165, 1429, 1, 0, 0, 0, 167, 1464, 1, 0, 0, 0, 169, 1475, 1, 0, 0, 0, 171, 1494, 1, 0, 0, 0, 173, 1529, 1, 0, 0, 0, 175, 1550, 1, 0, 0, 0, 177, 1584, 1, 0, 0, 0, 179, 1608, 1, 0, 0, 0, 181, 1625, 1, 0, 0, 0, 183, 1642, 1, 0, 0, 0, 185, 1659, 1, 0, 0, 0, 187, 1681, 1, 0, 0, 0, 189, 1694, 1, 0, 0, 0, 191, 1710, 1, 0, 0, 0, 193, 1730, 1, 0, 0, 0, 195, 1748, 1, 0, 0, 0, 197, 1769, 1, 0, 0, 0, 199, 1787, 1, 0, 0, 0, 201, 1810, 1, 0, 0, 0, 203, 1823, 1, 0, 0, 0, 205, 1833, 1, 0, 0, 0, 207, 1849, 1, 0, 0, 0, 209, 1867, 1, 0, 0, 0, 211, 1882, 1, 0, 0, 0, 213, 1900, 1, 0, 0, 0, 215, 1912, 1, 0, 0, 0, 217, 1920, 1, 0, 0, 0, 219, 1939, 1, 0, 0, 0, 221, 1950, 1, 0, 0, 0, 223, 1970, 1, 0, 0, 0, 225, 1982, 1, 0, 0, 0, 227, 1992, 1, 0, 0, 0, 229, 2004, 1, 0, 0, 0, 231, 2021, 1, 0, 0, 0, 233, 2028, 1, 0, 0, 0, 235, 2040, 1, 0, 0, 0, 237, 2049, 1, 0, 0, 0, 239, 2059, 1, 0, 0, 0, 241, 2086, 1, 0, 0, 0, 243, 2100, 1, 0, 0, 0, 245, 2108, 1, 0, 0, 0, 247, 2125, 1, 0, 0, 0, 249, 2138, 1, 0, 0, 0, 251, 2149, 1, 0, 0, 0, 253, 2169, 1, 0, 0, 0, 255, 2199, 1, 0, 0, 0, 257, 2224, 1, 0, 0, 0, 259, 2233, 1, 0, 0, 0, 261, 2252, 1, 0, 0, 0, 263, 2267, 1, 0, 0, 0, 265, 2284, 1, 0, 0, 0, 267, 2381, 1, 0, 0, 0, 269, 2393, 1, 0, 0, 0, 271, 2400, 1, 0, 0, 0, 273, 2406, 1, 0, 0, 0, 275, 2413, 1, 0, 0, 0, 277, 2415, 1, 0, 0, 0, 279, 2417, 1, 0, 0, 0, 281, 2422, 1, 0, 0, 0, 283, 2425, 1, 0, 0, 0, 285, 2431, 1, 0, 0, 0, 287, 2445, 1, 0, 0, 0, 289, 290, 5, 123, 0, 0, 290, 2, 1, 0, 0, 0, 291, 292, 5, 125, 0, 0, 292, 4, 1, 0, 0, 0, 293, 294, 5, 61, 0, 0, 294, 6, 1, 0, 0, 0, 295, 296, 5, 59, 0, 0, 296, 8, 1, 0, 0, 0, 297, 298, 5, 40, 0, 0, 298, 10, 1, 0, 0, 0, 299, 300, 5, 44, 0, 0, 300, 12, 1, 0, 0, 0, 301, 302, 5, 41, 0, 0, 302, 14, 1, 0, 0, 0, 303, 304, 5, 97, 0, 0, 304, 305, 5, 114, 0, 0, 305, 306, 5, 99, 0, 0, 306, 307, 5, 104, 0, 0, 307, 308, 5, 105, 0, 0, 308, 309, 5, 118, 0, 0, 309, 310, 5, 101, 0, 0, 310, 311, 5, 86, 0, 0, 311, 312, 5, 101, 0, 0, 312, 313, 5, 114, 0, 0, 313, 314, 5, 115, 0, 0, 314, 315, 5, 105, 0, 0, 315, 316, 5, 111, 0, 0, 316, 317, 5, 110, 0, 0, 317, 16, 1, 0, 0, 0, 318, 319, 5, 99, 0, 0, 319, 320, 5, 108, 0, 0, 320, 321, 5, 97, 0, 0, 321, 322, 5, 115, 0, 0, 322, 323, 5, 115, 0, 0, 323, 324, 5, 101, 0, 0, 324, 325, 5, 115, 0, 0, 325, 18, 1, 0, 0, 0, 326, 327, 5, 45, 0, 0, 327, 20, 1, 0, 0, 0, 328, 329, 5, 46, 0, 0, 329, 22, 1, 0, 0, 0, 330, 331, 5, 105, 0, 0, 331, 332, 5, 115, 0, 0, 332, 333, 5, 97, 0, 0, 333, 24, 1, 0, 0, 0, 334, 336, 7, 0, 0, 0, 335, 334, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 26, 1, 0, 0, 0, 339, 340, 5, 111, 0, 0, 340, 341, 5, 98, 0, 0, 341, 342, 5, 106, 0, 0, 342, 343, 5, 101, 0, 0, 343, 344, 5, 99, 0, 0, 344, 345, 5, 116, 0, 0, 345, 346, 5, 86, 0, 0, 346, 347, 5, 101, 0, 0, 347, 348, 5, 114, 0, 0, 348, 349, 5, 115, 0, 0, 349, 350, 5, 105, 0, 0, 350, 351, 5, 111, 0, 0, 351, 352, 5, 110, 0, 0, 352, 28, 1, 0, 0, 0, 353, 354, 5, 111, 0, 0, 354, 355, 5, 98, 0, 0, 355, 356, 5, 106, 0, 0, 356, 357, 5, 101, 0, 0, 357, 358, 5, 99, 0, 0, 358, 359, 5, 116, 0, 0, 359, 360, 5, 115, 0, 0, 360, 30, 1, 0, 0, 0, 361, 362, 5, 114, 0, 0, 362, 363, 5, 111, 0, 0, 363, 364, 5, 111, 0, 0, 364, 365, 5, 116, 0, 0, 365, 366, 5, 79, 0, 0, 366, 367, 5, 98, 0, 0, 367, 368, 5, 106, 0, 0, 368, 369, 5, 101, 0, 0, 369, 370, 5, 99, 0, 0, 370, 371, 5, 116, 0, 0, 371, 32, 1, 0, 0, 0, 372, 373, 5, 47, 0, 0, 373, 34, 1, 0, 0, 0, 374, 375, 5, 95, 0, 0, 375, 36, 1, 0, 0, 0, 376, 377, 5, 80, 0, 0, 377, 378, 5, 66, 0, 0, 378, 379, 5, 88, 0, 0, 379, 380, 5, 65, 0, 0, 380, 381, 5, 103, 0, 0, 381, 382, 5, 103, 0, 0, 382, 383, 5, 114, 0, 0, 383, 384, 5, 101, 0, 0, 384, 385, 5, 103, 0, 0, 385, 386, 5, 97, 0, 0, 386, 387, 5, 116, 0, 0, 387, 388, 5, 101, 0, 0, 388, 389, 5, 84, 0, 0, 389, 390, 5, 97, 0, 0, 390, 391, 5, 114, 0, 0, 391, 392, 5, 103, 0, 0, 392, 393, 5, 101, 0, 0, 393, 394, 5, 116, 0, 0, 394, 38, 1, 0, 0, 0, 395, 396, 5, 80, 0, 0, 396, 397, 5, 66, 0, 0, 397, 398, 5, 88, 0, 0, 398, 399, 5, 66, 0, 0, 399, 400, 5, 117, 0, 0, 400, 401, 5, 105, 0, 0, 401, 402, 5, 108, 0, 0, 402, 403, 5, 100, 0, 0, 403, 404, 5, 70, 0, 0, 404, 405, 5, 105, 0, 0, 405, 406, 5, 108, 0, 0, 406, 407, 5, 101, 0, 0, 407, 40, 1, 0, 0, 0, 408, 409, 5, 80, 0, 0, 409, 410, 5, 66, 0, 0, 410, 411, 5, 88, 0, 0, 411, 412, 5, 67, 0, 0, 412, 413, 5, 111, 0, 0, 413, 414, 5, 110, 0, 0, 414, 415, 5, 116, 0, 0, 415, 416, 5, 97, 0, 0, 416, 417, 5, 105, 0, 0, 417, 418, 5, 110, 0, 0, 418, 419, 5, 101, 0, 0, 419, 420, 5, 114, 0, 0, 420, 421, 5, 73, 0, 0, 421, 422, 5, 116, 0, 0, 422, 423, 5, 101, 0, 0, 423, 424, 5, 109, 0, 0, 424, 425, 5, 80, 0, 0, 425, 426, 5, 114, 0, 0, 426, 427, 5, 111, 0, 0, 427, 428, 5, 120, 0, 0, 428, 429, 5, 121, 0, 0, 429, 42, 1, 0, 0, 0, 430, 431, 5, 80, 0, 0, 431, 432, 5, 66, 0, 0, 432, 433, 5, 88, 0, 0, 433, 434, 5, 67, 0, 0, 434, 435, 5, 111, 0, 0, 435, 436, 5, 112, 0, 0, 436, 437, 5, 121, 0, 0, 437, 438, 5, 70, 0, 0, 438, 439, 5, 105, 0, 0, 439, 440, 5, 108, 0, 0, 440, 441, 5, 101, 0, 0, 441, 442, 5, 115, 0, 0, 442, 443, 5, 66, 0, 0, 443, 444, 5, 117, 0, 0, 444, 445, 5, 105, 0, 0, 445, 446, 5, 108, 0, 0, 446, 447, 5, 100, 0, 0, 447, 448, 5, 80, 0, 0, 448, 449, 5, 104, 0, 0, 449, 450, 5, 97, 0, 0, 450, 451, 5, 115, 0, 0, 451, 452, 5, 101, 0, 0, 452, 44, 1, 0, 0, 0, 453, 454, 5, 80, 0, 0, 454, 455, 5, 66, 0, 0, 455, 456, 5, 88, 0, 0, 456, 457, 5, 70, 0, 0, 457, 458, 5, 105, 0, 0, 458, 459, 5, 108, 0, 0, 459, 460, 5, 101, 0, 0, 460, 461, 5, 82, 0, 0, 461, 462, 5, 101, 0, 0, 462, 463, 5, 102, 0, 0, 463, 464, 5, 101, 0, 0, 464, 465, 5, 114, 0, 0, 465, 466, 5, 101, 0, 0, 466, 467, 5, 110, 0, 0, 467, 468, 5, 99, 0, 0, 468, 469, 5, 101, 0, 0, 469, 46, 1, 0, 0, 0, 470, 471, 5, 80, 0, 0, 471, 472, 5, 66, 0, 0, 472, 473, 5, 88, 0, 0, 473, 474, 5, 70, 0, 0, 474, 475, 5, 114, 0, 0, 475, 476, 5, 97, 0, 0, 476, 477, 5, 109, 0, 0, 477, 478, 5, 101, 0, 0, 478, 479, 5, 119, 0, 0, 479, 480, 5, 111, 0, 0, 480, 481, 5, 114, 0, 0, 481, 482, 5, 107, 0, 0, 482, 483, 5, 115, 0, 0, 483, 484, 5, 66, 0, 0, 484, 485, 5, 117, 0, 0, 485, 486, 5, 105, 0, 0, 486, 487, 5, 108, 0, 0, 487, 488, 5, 100, 0, 0, 488, 489, 5, 80, 0, 0, 489, 490, 5, 104, 0, 0, 490, 491, 5, 97, 0, 0, 491, 492, 5, 115, 0, 0, 492, 493, 5, 101, 0, 0, 493, 48, 1, 0, 0, 0, 494, 495, 5, 80, 0, 0, 495, 496, 5, 66, 0, 0, 496, 497, 5, 88, 0, 0, 497, 498, 5, 71, 0, 0, 498, 499, 5, 114, 0, 0, 499, 500, 5, 111, 0, 0, 500, 501, 5, 117, 0, 0, 501, 502, 5, 112, 0, 0, 502, 50, 1, 0, 0, 0, 503, 504, 5, 80, 0, 0, 504, 505, 5, 66, 0, 0, 505, 506, 5, 88, 0, 0, 506, 507, 5, 72, 0, 0, 507, 508, 5, 101, 0, 0, 508, 509, 5, 97, 0, 0, 509, 510, 5, 100, 0, 0, 510, 511, 5, 101, 0, 0, 511, 512, 5, 114, 0, 0, 512, 513, 5, 115, 0, 0, 513, 514, 5, 66, 0, 0, 514, 515, 5, 117, 0, 0, 515, 516, 5, 105, 0, 0, 516, 517, 5, 108, 0, 0, 517, 518, 5, 100, 0, 0, 518, 519, 5, 80, 0, 0, 519, 520, 5, 104, 0, 0, 520, 521, 5, 97, 0, 0, 521, 522, 5, 115, 0, 0, 522, 523, 5, 101, 0, 0, 523, 52, 1, 0, 0, 0, 524, 525, 5, 80, 0, 0, 525, 526, 5, 66, 0, 0, 526, 527, 5, 88, 0, 0, 527, 528, 5, 78, 0, 0, 528, 529, 5, 97, 0, 0, 529, 530, 5, 116, 0, 0, 530, 531, 5, 105, 0, 0, 531, 532, 5, 118, 0, 0, 532, 533, 5, 101, 0, 0, 533, 534, 5, 84, 0, 0, 534, 535, 5, 97, 0, 0, 535, 536, 5, 114, 0, 0, 536, 537, 5, 103, 0, 0, 537, 538, 5, 101, 0, 0, 538, 539, 5, 116, 0, 0, 539, 54, 1, 0, 0, 0, 540, 541, 5, 80, 0, 0, 541, 542, 5, 66, 0, 0, 542, 543, 5, 88, 0, 0, 543, 544, 5, 76, 0, 0, 544, 545, 5, 101, 0, 0, 545, 546, 5, 103, 0, 0, 546, 547, 5, 97, 0, 0, 547, 548, 5, 99, 0, 0, 548, 549, 5, 121, 0, 0, 549, 550, 5, 84, 0, 0, 550, 551, 5, 97, 0, 0, 551, 552, 5, 114, 0, 0, 552, 553, 5, 103, 0, 0, 553, 554, 5, 101, 0, 0, 554, 555, 5, 116, 0, 0, 555, 56, 1, 0, 0, 0, 556, 557, 5, 80, 0, 0, 557, 558, 5, 66, 0, 0, 558, 559, 5, 88, 0, 0, 559, 560, 5, 80, 0, 0, 560, 561, 5, 114, 0, 0, 561, 562, 5, 111, 0, 0, 562, 563, 5, 106, 0, 0, 563, 564, 5, 101, 0, 0, 564, 565, 5, 99, 0, 0, 565, 566, 5, 116, 0, 0, 566, 58, 1, 0, 0, 0, 567, 568, 5, 80, 0, 0, 568, 569, 5, 66, 0, 0, 569, 570, 5, 88, 0, 0, 570, 571, 5, 82, 0, 0, 571, 572, 5, 101, 0, 0, 572, 573, 5, 102, 0, 0, 573, 574, 5, 101, 0, 0, 574, 575, 5, 114, 0, 0, 575, 576, 5, 101, 0, 0, 576, 577, 5, 110, 0, 0, 577, 578, 5, 99, 0, 0, 578, 579, 5, 101, 0, 0, 579, 580, 5, 80, 0, 0, 580, 581, 5, 114, 0, 0, 581, 582, 5, 111, 0, 0, 582, 583, 5, 120, 0, 0, 583, 584, 5, 121, 0, 0, 584, 60, 1, 0, 0, 0, 585, 586, 5, 80, 0, 0, 586, 587, 5, 66, 0, 0, 587, 588, 5, 88, 0, 0, 588, 589, 5, 82, 0, 0, 589, 590, 5, 101, 0, 0, 590, 591, 5, 115, 0, 0, 591, 592, 5, 111, 0, 0, 592, 593, 5, 117, 0, 0, 593, 594, 5, 114, 0, 0, 594, 595, 5, 99, 0, 0, 595, 596, 5, 101, 0, 0, 596, 597, 5, 115, 0, 0, 597, 598, 5, 66, 0, 0, 598, 599, 5, 117, 0, 0, 599, 600, 5, 105, 0, 0, 600, 601, 5, 108, 0, 0, 601, 602, 5, 100, 0, 0, 602, 603, 5, 80, 0, 0, 603, 604, 5, 104, 0, 0, 604, 605, 5, 97, 0, 0, 605, 606, 5, 115, 0, 0, 606, 607, 5, 101, 0, 0, 607, 62, 1, 0, 0, 0, 608, 609, 5, 80, 0, 0, 609, 610, 5, 66, 0, 0, 610, 611, 5, 88, 0, 0, 611, 612, 5, 83, 0, 0, 612, 613, 5, 104, 0, 0, 613, 614, 5, 101, 0, 0, 614, 615, 5, 108, 0, 0, 615, 616, 5, 108, 0, 0, 616, 617, 5, 83, 0, 0, 617, 618, 5, 99, 0, 0, 618, 619, 5, 114, 0, 0, 619, 620, 5, 105, 0, 0, 620, 621, 5, 112, 0, 0, 621, 622, 5, 116, 0, 0, 622, 623, 5, 66, 0, 0, 623, 624, 5, 117, 0, 0, 624, 625, 5, 105, 0, 0, 625, 626, 5, 108, 0, 0, 626, 627, 5, 100, 0, 0, 627, 628, 5, 80, 0, 0, 628, 629, 5, 104, 0, 0, 629, 630, 5, 97, 0, 0, 630, 631, 5, 115, 0, 0, 631, 632, 5, 101, 0, 0, 632, 64, 1, 0, 0, 0, 633, 634, 5, 80, 0, 0, 634, 635, 5, 66, 0, 0, 635, 636, 5, 88, 0, 0, 636, 637, 5, 83, 0, 0, 637, 638, 5, 111, 0, 0, 638, 639, 5, 117, 0, 0, 639, 640, 5, 114, 0, 0, 640, 641, 5, 99, 0, 0, 641, 642, 5, 101, 0, 0, 642, 643, 5, 115, 0, 0, 643, 644, 5, 66, 0, 0, 644, 645, 5, 117, 0, 0, 645, 646, 5, 105, 0, 0, 646, 647, 5, 108, 0, 0, 647, 648, 5, 100, 0, 0, 648, 649, 5, 80, 0, 0, 649, 650, 5, 104, 0, 0, 650, 651, 5, 97, 0, 0, 651, 652, 5, 115, 0, 0, 652, 653, 5, 101, 0, 0, 653, 66, 1, 0, 0, 0, 654, 655, 5, 80, 0, 0, 655, 656, 5, 66, 0, 0, 656, 657, 5, 88, 0, 0, 657, 658, 5, 84, 0, 0, 658, 659, 5, 97, 0, 0, 659, 660, 5, 114, 0, 0, 660, 661, 5, 103, 0, 0, 661, 662, 5, 101, 0, 0, 662, 663, 5, 116, 0, 0, 663, 664, 5, 68, 0, 0, 664, 665, 5, 101, 0, 0, 665, 666, 5, 112, 0, 0, 666, 667, 5, 101, 0, 0, 667, 668, 5, 110, 0, 0, 668, 669, 5, 100, 0, 0, 669, 670, 5, 101, 0, 0, 670, 671, 5, 110, 0, 0, 671, 672, 5, 99, 0, 0, 672, 673, 5, 121, 0, 0, 673, 68, 1, 0, 0, 0, 674, 675, 5, 80, 0, 0, 675, 676, 5, 66, 0, 0, 676, 677, 5, 88, 0, 0, 677, 678, 5, 86, 0, 0, 678, 679, 5, 97, 0, 0, 679, 680, 5, 114, 0, 0, 680, 681, 5, 105, 0, 0, 681, 682, 5, 97, 0, 0, 682, 683, 5, 110, 0, 0, 683, 684, 5, 116, 0, 0, 684, 685, 5, 71, 0, 0, 685, 686, 5, 114, 0, 0, 686, 687, 5, 111, 0, 0, 687, 688, 5, 117, 0, 0, 688, 689, 5, 112, 0, 0, 689, 70, 1, 0, 0, 0, 690, 691, 5, 88, 0, 0, 691, 692, 5, 67, 0, 0, 692, 693, 5, 66, 0, 0, 693, 694, 5, 117, 0, 0, 694, 695, 5, 105, 0, 0, 695, 696, 5, 108, 0, 0, 696, 697, 5, 100, 0, 0, 697, 698, 5, 67, 0, 0, 698, 699, 5, 111, 0, 0, 699, 700, 5, 110, 0, 0, 700, 701, 5, 102, 0, 0, 701, 702, 5, 105, 0, 0, 702, 703, 5, 103, 0, 0, 703, 704, 5, 117, 0, 0, 704, 705, 5, 114, 0, 0, 705, 706, 5, 97, 0, 0, 706, 707, 5, 116, 0, 0, 707, 708, 5, 105, 0, 0, 708, 709, 5, 111, 0, 0, 709, 710, 5, 110, 0, 0, 710, 72, 1, 0, 0, 0, 711, 712, 5, 88, 0, 0, 712, 713, 5, 67, 0, 0, 713, 714, 5, 67, 0, 0, 714, 715, 5, 111, 0, 0, 715, 716, 5, 110, 0, 0, 716, 717, 5, 102, 0, 0, 717, 718, 5, 105, 0, 0, 718, 719, 5, 103, 0, 0, 719, 720, 5, 117, 0, 0, 720, 721, 5, 114, 0, 0, 721, 722, 5, 97, 0, 0, 722, 723, 5, 116, 0, 0, 723, 724, 5, 105, 0, 0, 724, 725, 5, 111, 0, 0, 725, 726, 5, 110, 0, 0, 726, 727, 5, 76, 0, 0, 727, 728, 5, 105, 0, 0, 728, 729, 5, 115, 0, 0, 729, 730, 5, 116, 0, 0, 730, 74, 1, 0, 0, 0, 731, 732, 5, 88, 0, 0, 732, 733, 5, 67, 0, 0, 733, 734, 5, 82, 0, 0, 734, 735, 5, 101, 0, 0, 735, 736, 5, 109, 0, 0, 736, 737, 5, 111, 0, 0, 737, 738, 5, 116, 0, 0, 738, 739, 5, 101, 0, 0, 739, 740, 5, 83, 0, 0, 740, 741, 5, 119, 0, 0, 741, 742, 5, 105, 0, 0, 742, 743, 5, 102, 0, 0, 743, 744, 5, 116, 0, 0, 744, 745, 5, 80, 0, 0, 745, 746, 5, 97, 0, 0, 746, 747, 5, 99, 0, 0, 747, 748, 5, 107, 0, 0, 748, 749, 5, 97, 0, 0, 749, 750, 5, 103, 0, 0, 750, 751, 5, 101, 0, 0, 751, 752, 5, 82, 0, 0, 752, 753, 5, 101, 0, 0, 753, 754, 5, 102, 0, 0, 754, 755, 5, 101, 0, 0, 755, 756, 5, 114, 0, 0, 756, 757, 5, 101, 0, 0, 757, 758, 5, 110, 0, 0, 758, 759, 5, 99, 0, 0, 759, 760, 5, 101, 0, 0, 760, 76, 1, 0, 0, 0, 761, 762, 5, 88, 0, 0, 762, 763, 5, 67, 0, 0, 763, 764, 5, 83, 0, 0, 764, 765, 5, 119, 0, 0, 765, 766, 5, 105, 0, 0, 766, 767, 5, 102, 0, 0, 767, 768, 5, 116, 0, 0, 768, 769, 5, 80, 0, 0, 769, 770, 5, 97, 0, 0, 770, 771, 5, 99, 0, 0, 771, 772, 5, 107, 0, 0, 772, 773, 5, 97, 0, 0, 773, 774, 5, 103, 0, 0, 774, 775, 5, 101, 0, 0, 775, 776, 5, 80, 0, 0, 776, 777, 5, 114, 0, 0, 777, 778, 5, 111, 0, 0, 778, 779, 5, 100, 0, 0, 779, 780, 5, 117, 0, 0, 780, 781, 5, 99, 0, 0, 781, 782, 5, 116, 0, 0, 782, 783, 5, 68, 0, 0, 783, 784, 5, 101, 0, 0, 784, 785, 5, 112, 0, 0, 785, 786, 5, 101, 0, 0, 786, 787, 5, 110, 0, 0, 787, 788, 5, 100, 0, 0, 788, 789, 5, 101, 0, 0, 789, 790, 5, 110, 0, 0, 790, 791, 5, 99, 0, 0, 791, 792, 5, 121, 0, 0, 792, 78, 1, 0, 0, 0, 793, 794, 5, 88, 0, 0, 794, 795, 5, 67, 0, 0, 795, 796, 5, 86, 0, 0, 796, 797, 5, 101, 0, 0, 797, 798, 5, 114, 0, 0, 798, 799, 5, 115, 0, 0, 799, 800, 5, 105, 0, 0, 800, 801, 5, 111, 0, 0, 801, 802, 5, 110, 0, 0, 802, 803, 5, 71, 0, 0, 803, 804, 5, 114, 0, 0, 804, 805, 5, 111, 0, 0, 805, 806, 5, 117, 0, 0, 806, 807, 5, 112, 0, 0, 807, 80, 1, 0, 0, 0, 808, 809, 5, 102, 0, 0, 809, 810, 5, 105, 0, 0, 810, 811, 5, 108, 0, 0, 811, 812, 5, 101, 0, 0, 812, 813, 5, 82, 0, 0, 813, 814, 5, 101, 0, 0, 814, 815, 5, 102, 0, 0, 815, 82, 1, 0, 0, 0, 816, 817, 5, 112, 0, 0, 817, 818, 5, 114, 0, 0, 818, 819, 5, 111, 0, 0, 819, 820, 5, 100, 0, 0, 820, 821, 5, 117, 0, 0, 821, 822, 5, 99, 0, 0, 822, 823, 5, 116, 0, 0, 823, 824, 5, 82, 0, 0, 824, 825, 5, 101, 0, 0, 825, 826, 5, 102, 0, 0, 826, 84, 1, 0, 0, 0, 827, 828, 5, 99, 0, 0, 828, 829, 5, 111, 0, 0, 829, 830, 5, 110, 0, 0, 830, 831, 5, 116, 0, 0, 831, 832, 5, 97, 0, 0, 832, 833, 5, 105, 0, 0, 833, 834, 5, 110, 0, 0, 834, 835, 5, 101, 0, 0, 835, 836, 5, 114, 0, 0, 836, 837, 5, 80, 0, 0, 837, 838, 5, 111, 0, 0, 838, 839, 5, 114, 0, 0, 839, 840, 5, 116, 0, 0, 840, 841, 5, 97, 0, 0, 841, 842, 5, 108, 0, 0, 842, 86, 1, 0, 0, 0, 843, 844, 5, 112, 0, 0, 844, 845, 5, 114, 0, 0, 845, 846, 5, 111, 0, 0, 846, 847, 5, 120, 0, 0, 847, 848, 5, 121, 0, 0, 848, 849, 5, 84, 0, 0, 849, 850, 5, 121, 0, 0, 850, 851, 5, 112, 0, 0, 851, 852, 5, 101, 0, 0, 852, 88, 1, 0, 0, 0, 853, 854, 5, 114, 0, 0, 854, 855, 5, 101, 0, 0, 855, 856, 5, 109, 0, 0, 856, 857, 5, 111, 0, 0, 857, 858, 5, 116, 0, 0, 858, 859, 5, 101, 0, 0, 859, 860, 5, 71, 0, 0, 860, 861, 5, 108, 0, 0, 861, 862, 5, 111, 0, 0, 862, 863, 5, 98, 0, 0, 863, 864, 5, 97, 0, 0, 864, 865, 5, 108, 0, 0, 865, 866, 5, 73, 0, 0, 866, 867, 5, 68, 0, 0, 867, 868, 5, 83, 0, 0, 868, 869, 5, 116, 0, 0, 869, 870, 5, 114, 0, 0, 870, 871, 5, 105, 0, 0, 871, 872, 5, 110, 0, 0, 872, 873, 5, 103, 0, 0, 873, 90, 1, 0, 0, 0, 874, 875, 5, 114, 0, 0, 875, 876, 5, 101, 0, 0, 876, 877, 5, 109, 0, 0, 877, 878, 5, 111, 0, 0, 878, 879, 5, 116, 0, 0, 879, 880, 5, 101, 0, 0, 880, 881, 5, 73, 0, 0, 881, 882, 5, 110, 0, 0, 882, 883, 5, 102, 0, 0, 883, 884, 5, 111, 0, 0, 884, 92, 1, 0, 0, 0, 885, 886, 5, 102, 0, 0, 886, 887, 5, 105, 0, 0, 887, 888, 5, 108, 0, 0, 888, 889, 5, 101, 0, 0, 889, 890, 5, 69, 0, 0, 890, 891, 5, 110, 0, 0, 891, 892, 5, 99, 0, 0, 892, 893, 5, 111, 0, 0, 893, 894, 5, 100, 0, 0, 894, 895, 5, 105, 0, 0, 895, 896, 5, 110, 0, 0, 896, 897, 5, 103, 0, 0, 897, 94, 1, 0, 0, 0, 898, 899, 5, 99, 0, 0, 899, 900, 5, 111, 0, 0, 900, 901, 5, 109, 0, 0, 901, 902, 5, 109, 0, 0, 902, 903, 5, 101, 0, 0, 903, 904, 5, 110, 0, 0, 904, 905, 5, 116, 0, 0, 905, 906, 5, 115, 0, 0, 906, 96, 1, 0, 0, 0, 907, 908, 5, 101, 0, 0, 908, 909, 5, 120, 0, 0, 909, 910, 5, 112, 0, 0, 910, 911, 5, 108, 0, 0, 911, 912, 5, 105, 0, 0, 912, 913, 5, 99, 0, 0, 913, 914, 5, 105, 0, 0, 914, 915, 5, 116, 0, 0, 915, 916, 5, 70, 0, 0, 916, 917, 5, 105, 0, 0, 917, 918, 5, 108, 0, 0, 918, 919, 5, 101, 0, 0, 919, 920, 5, 84, 0, 0, 920, 921, 5, 121, 0, 0, 921, 922, 5, 112, 0, 0, 922, 923, 5, 101, 0, 0, 923, 98, 1, 0, 0, 0, 924, 925, 5, 108, 0, 0, 925, 926, 5, 97, 0, 0, 926, 927, 5, 115, 0, 0, 927, 928, 5, 116, 0, 0, 928, 929, 5, 75, 0, 0, 929, 930, 5, 110, 0, 0, 930, 931, 5, 111, 0, 0, 931, 932, 5, 119, 0, 0, 932, 933, 5, 110, 0, 0, 933, 934, 5, 70, 0, 0, 934, 935, 5, 105, 0, 0, 935, 936, 5, 108, 0, 0, 936, 937, 5, 101, 0, 0, 937, 938, 5, 84, 0, 0, 938, 939, 5, 121, 0, 0, 939, 940, 5, 112, 0, 0, 940, 941, 5, 101, 0, 0, 941, 100, 1, 0, 0, 0, 942, 943, 5, 105, 0, 0, 943, 944, 5, 110, 0, 0, 944, 945, 5, 99, 0, 0, 945, 946, 5, 108, 0, 0, 946, 947, 5, 117, 0, 0, 947, 948, 5, 100, 0, 0, 948, 949, 5, 101, 0, 0, 949, 950, 5, 73, 0, 0, 950, 951, 5, 110, 0, 0, 951, 952, 5, 73, 0, 0, 952, 953, 5, 110, 0, 0, 953, 954, 5, 100, 0, 0, 954, 955, 5, 101, 0, 0, 955, 956, 5, 120, 0, 0, 956, 102, 1, 0, 0, 0, 957, 958, 5, 105, 0, 0, 958, 959, 5, 110, 0, 0, 959, 960, 5, 100, 0, 0, 960, 961, 5, 101, 0, 0, 961, 962, 5, 110, 0, 0, 962, 963, 5, 116, 0, 0, 963, 964, 5, 87, 0, 0, 964, 965, 5, 105, 0, 0, 965, 966, 5, 100, 0, 0, 966, 967, 5, 116, 0, 0, 967, 968, 5, 104, 0, 0, 968, 104, 1, 0, 0, 0, 969, 970, 5, 116, 0, 0, 970, 971, 5, 97, 0, 0, 971, 972, 5, 98, 0, 0, 972, 973, 5, 87, 0, 0, 973, 974, 5, 105, 0, 0, 974, 975, 5, 100, 0, 0, 975, 976, 5, 116, 0, 0, 976, 977, 5, 104, 0, 0, 977, 106, 1, 0, 0, 0, 978, 979, 5, 117, 0, 0, 979, 980, 5, 115, 0, 0, 980, 981, 5, 101, 0, 0, 981, 982, 5, 115, 0, 0, 982, 983, 5, 84, 0, 0, 983, 984, 5, 97, 0, 0, 984, 985, 5, 98, 0, 0, 985, 986, 5, 115, 0, 0, 986, 108, 1, 0, 0, 0, 987, 988, 5, 119, 0, 0, 988, 989, 5, 114, 0, 0, 989, 990, 5, 97, 0, 0, 990, 991, 5, 112, 0, 0, 991, 992, 5, 115, 0, 0, 992, 993, 5, 76, 0, 0, 993, 994, 5, 105, 0, 0, 994, 995, 5, 110, 0, 0, 995, 996, 5, 101, 0, 0, 996, 997, 5, 115, 0, 0, 997, 110, 1, 0, 0, 0, 998, 999, 5, 112, 0, 0, 999, 1000, 5, 108, 0, 0, 1000, 1001, 5, 97, 0, 0, 1001, 1002, 5, 116, 0, 0, 1002, 1003, 5, 102, 0, 0, 1003, 1004, 5, 111, 0, 0, 1004, 1005, 5, 114, 0, 0, 1005, 1006, 5, 109, 0, 0, 1006, 1007, 5, 70, 0, 0, 1007, 1008, 5, 105, 0, 0, 1008, 1009, 5, 108, 0, 0, 1009, 1010, 5, 116, 0, 0, 1010, 1011, 5, 101, 0, 0, 1011, 1012, 5, 114, 0, 0, 1012, 112, 1, 0, 0, 0, 1013, 1014, 5, 112, 0, 0, 1014, 1015, 5, 108, 0, 0, 1015, 1016, 5, 97, 0, 0, 1016, 1017, 5, 116, 0, 0, 1017, 1018, 5, 102, 0, 0, 1018, 1019, 5, 111, 0, 0, 1019, 1020, 5, 114, 0, 0, 1020, 1021, 5, 109, 0, 0, 1021, 1022, 5, 70, 0, 0, 1022, 1023, 5, 105, 0, 0, 1023, 1024, 5, 108, 0, 0, 1024, 1025, 5, 116, 0, 0, 1025, 1026, 5, 101, 0, 0, 1026, 1027, 5, 114, 0, 0, 1027, 1028, 5, 115, 0, 0, 1028, 114, 1, 0, 0, 0, 1029, 1030, 5, 99, 0, 0, 1030, 1031, 5, 104, 0, 0, 1031, 1032, 5, 105, 0, 0, 1032, 1033, 5, 108, 0, 0, 1033, 1034, 5, 100, 0, 0, 1034, 1035, 5, 114, 0, 0, 1035, 1036, 5, 101, 0, 0, 1036, 1037, 5, 110, 0, 0, 1037, 116, 1, 0, 0, 0, 1038, 1039, 5, 112, 0, 0, 1039, 1040, 5, 114, 0, 0, 1040, 1041, 5, 111, 0, 0, 1041, 1042, 5, 100, 0, 0, 1042, 1043, 5, 117, 0, 0, 1043, 1044, 5, 99, 0, 0, 1044, 1045, 5, 116, 0, 0, 1045, 1046, 5, 73, 0, 0, 1046, 1047, 5, 110, 0, 0, 1047, 1048, 5, 115, 0, 0, 1048, 1049, 5, 116, 0, 0, 1049, 1050, 5, 97, 0, 0, 1050, 1051, 5, 108, 0, 0, 1051, 1052, 5, 108, 0, 0, 1052, 1053, 5, 80, 0, 0, 1053, 1054, 5, 97, 0, 0, 1054, 1055, 5, 116, 0, 0, 1055, 1056, 5, 104, 0, 0, 1056, 118, 1, 0, 0, 0, 1057, 1058, 5, 114, 0, 0, 1058, 1059, 5, 101, 0, 0, 1059, 1060, 5, 112, 0, 0, 1060, 1061, 5, 111, 0, 0, 1061, 1062, 5, 115, 0, 0, 1062, 1063, 5, 105, 0, 0, 1063, 1064, 5, 116, 0, 0, 1064, 1065, 5, 111, 0, 0, 1065, 1066, 5, 114, 0, 0, 1066, 1067, 5, 121, 0, 0, 1067, 1068, 5, 85, 0, 0, 1068, 1069, 5, 82, 0, 0, 1069, 1070, 5, 76, 0, 0, 1070, 120, 1, 0, 0, 0, 1071, 1072, 5, 114, 0, 0, 1072, 1073, 5, 101, 0, 0, 1073, 1074, 5, 113, 0, 0, 1074, 1075, 5, 117, 0, 0, 1075, 1076, 5, 105, 0, 0, 1076, 1077, 5, 114, 0, 0, 1077, 1078, 5, 101, 0, 0, 1078, 1079, 5, 109, 0, 0, 1079, 1080, 5, 101, 0, 0, 1080, 1081, 5, 110, 0, 0, 1081, 1082, 5, 116, 0, 0, 1082, 122, 1, 0, 0, 0, 1083, 1084, 5, 112, 0, 0, 1084, 1085, 5, 97, 0, 0, 1085, 1086, 5, 99, 0, 0, 1086, 1087, 5, 107, 0, 0, 1087, 1088, 5, 97, 0, 0, 1088, 1089, 5, 103, 0, 0, 1089, 1090, 5, 101, 0, 0, 1090, 124, 1, 0, 0, 0, 1091, 1092, 5, 112, 0, 0, 1092, 1093, 5, 97, 0, 0, 1093, 1094, 5, 99, 0, 0, 1094, 1095, 5, 107, 0, 0, 1095, 1096, 5, 97, 0, 0, 1096, 1097, 5, 103, 0, 0, 1097, 1098, 5, 101, 0, 0, 1098, 1099, 5, 80, 0, 0, 1099, 1100, 5, 114, 0, 0, 1100, 1101, 5, 111, 0, 0, 1101, 1102, 5, 100, 0, 0, 1102, 1103, 5, 117, 0, 0, 1103, 1104, 5, 99, 0, 0, 1104, 1105, 5, 116, 0, 0, 1105, 1106, 5, 68, 0, 0, 1106, 1107, 5, 101, 0, 0, 1107, 1108, 5, 112, 0, 0, 1108, 1109, 5, 101, 0, 0, 1109, 1110, 5, 110, 0, 0, 1110, 1111, 5, 100, 0, 0, 1111, 1112, 5, 101, 0, 0, 1112, 1113, 5, 110, 0, 0, 1113, 1114, 5, 99, 0, 0, 1114, 1115, 5, 105, 0, 0, 1115, 1116, 5, 101, 0, 0, 1116, 1117, 5, 115, 0, 0, 1117, 126, 1, 0, 0, 0, 1118, 1119, 5, 110, 0, 0, 1119, 1120, 5, 97, 0, 0, 1120, 1121, 5, 109, 0, 0, 1121, 1122, 5, 101, 0, 0, 1122, 128, 1, 0, 0, 0, 1123, 1124, 5, 112, 0, 0, 1124, 1125, 5, 97, 0, 0, 1125, 1126, 5, 116, 0, 0, 1126, 1127, 5, 104, 0, 0, 1127, 130, 1, 0, 0, 0, 1128, 1129, 5, 115, 0, 0, 1129, 1130, 5, 111, 0, 0, 1130, 1131, 5, 117, 0, 0, 1131, 1132, 5, 114, 0, 0, 1132, 1133, 5, 99, 0, 0, 1133, 1134, 5, 101, 0, 0, 1134, 1135, 5, 84, 0, 0, 1135, 1136, 5, 114, 0, 0, 1136, 1137, 5, 101, 0, 0, 1137, 1138, 5, 101, 0, 0, 1138, 132, 1, 0, 0, 0, 1139, 1140, 5, 98, 0, 0, 1140, 1141, 5, 117, 0, 0, 1141, 1142, 5, 105, 0, 0, 1142, 1143, 5, 108, 0, 0, 1143, 1144, 5, 100, 0, 0, 1144, 1145, 5, 65, 0, 0, 1145, 1146, 5, 99, 0, 0, 1146, 1147, 5, 116, 0, 0, 1147, 1148, 5, 105, 0, 0, 1148, 1149, 5, 111, 0, 0, 1149, 1150, 5, 110, 0, 0, 1150, 1151, 5, 77, 0, 0, 1151, 1152, 5, 97, 0, 0, 1152, 1153, 5, 115, 0, 0, 1153, 1154, 5, 107, 0, 0, 1154, 134, 1, 0, 0, 0, 1155, 1156, 5, 102, 0, 0, 1156, 1157, 5, 105, 0, 0, 1157, 1158, 5, 108, 0, 0, 1158, 1159, 5, 101, 0, 0, 1159, 1160, 5, 115, 0, 0, 1160, 136, 1, 0, 0, 0, 1161, 1162, 5, 114, 0, 0, 1162, 1163, 5, 117, 0, 0, 1163, 1164, 5, 110, 0, 0, 1164, 1165, 5, 79, 0, 0, 1165, 1166, 5, 110, 0, 0, 1166, 1167, 5, 108, 0, 0, 1167, 1168, 5, 121, 0, 0, 1168, 1169, 5, 70, 0, 0, 1169, 1170, 5, 111, 0, 0, 1170, 1171, 5, 114, 0, 0, 1171, 1172, 5, 68, 0, 0, 1172, 1173, 5, 101, 0, 0, 1173, 1174, 5, 112, 0, 0, 1174, 1175, 5, 108, 0, 0, 1175, 1176, 5, 111, 0, 0, 1176, 1177, 5, 121, 0, 0, 1177, 1178, 5, 109, 0, 0, 1178, 1179, 5, 101, 0, 0, 1179, 1180, 5, 110, 0, 0, 1180, 1181, 5, 116, 0, 0, 1181, 1182, 5, 80, 0, 0, 1182, 1183, 5, 111, 0, 0, 1183, 1184, 5, 115, 0, 0, 1184, 1185, 5, 116, 0, 0, 1185, 1186, 5, 112, 0, 0, 1186, 1187, 5, 114, 0, 0, 1187, 1188, 5, 111, 0, 0, 1188, 1189, 5, 99, 0, 0, 1189, 1190, 5, 101, 0, 0, 1190, 1191, 5, 115, 0, 0, 1191, 1192, 5, 115, 0, 0, 1192, 1193, 5, 105, 0, 0, 1193, 1194, 5, 110, 0, 0, 1194, 1195, 5, 103, 0, 0, 1195, 138, 1, 0, 0, 0, 1196, 1197, 5, 98, 0, 0, 1197, 1198, 5, 117, 0, 0, 1198, 1199, 5, 105, 0, 0, 1199, 1200, 5, 108, 0, 0, 1200, 1201, 5, 100, 0, 0, 1201, 1202, 5, 67, 0, 0, 1202, 1203, 5, 111, 0, 0, 1203, 1204, 5, 110, 0, 0, 1204, 1205, 5, 102, 0, 0, 1205, 1206, 5, 105, 0, 0, 1206, 1207, 5, 103, 0, 0, 1207, 1208, 5, 117, 0, 0, 1208, 1209, 5, 114, 0, 0, 1209, 1210, 5, 97, 0, 0, 1210, 1211, 5, 116, 0, 0, 1211, 1212, 5, 105, 0, 0, 1212, 1213, 5, 111, 0, 0, 1213, 1214, 5, 110, 0, 0, 1214, 1215, 5, 76, 0, 0, 1215, 1216, 5, 105, 0, 0, 1216, 1217, 5, 115, 0, 0, 1217, 1218, 5, 116, 0, 0, 1218, 140, 1, 0, 0, 0, 1219, 1220, 5, 98, 0, 0, 1220, 1221, 5, 117, 0, 0, 1221, 1222, 5, 105, 0, 0, 1222, 1223, 5, 108, 0, 0, 1223, 1224, 5, 100, 0, 0, 1224, 1225, 5, 80, 0, 0, 1225, 1226, 5, 104, 0, 0, 1226, 1227, 5, 97, 0, 0, 1227, 1228, 5, 115, 0, 0, 1228, 1229, 5, 101, 0, 0, 1229, 1230, 5, 115, 0, 0, 1230, 142, 1, 0, 0, 0, 1231, 1232, 5, 98, 0, 0, 1232, 1233, 5, 117, 0, 0, 1233, 1234, 5, 105, 0, 0, 1234, 1235, 5, 108, 0, 0, 1235, 1236, 5, 100, 0, 0, 1236, 1237, 5, 82, 0, 0, 1237, 1238, 5, 117, 0, 0, 1238, 1239, 5, 108, 0, 0, 1239, 1240, 5, 101, 0, 0, 1240, 1241, 5, 115, 0, 0, 1241, 144, 1, 0, 0, 0, 1242, 1243, 5, 98, 0, 0, 1243, 1244, 5, 117, 0, 0, 1244, 1245, 5, 105, 0, 0, 1245, 1246, 5, 108, 0, 0, 1246, 1247, 5, 100, 0, 0, 1247, 1248, 5, 65, 0, 0, 1248, 1249, 5, 114, 0, 0, 1249, 1250, 5, 103, 0, 0, 1250, 1251, 5, 117, 0, 0, 1251, 1252, 5, 109, 0, 0, 1252, 1253, 5, 101, 0, 0, 1253, 1254, 5, 110, 0, 0, 1254, 1255, 5, 116, 0, 0, 1255, 1256, 5, 115, 0, 0, 1256, 1257, 5, 83, 0, 0, 1257, 1258, 5, 116, 0, 0, 1258, 1259, 5, 114, 0, 0, 1259, 1260, 5, 105, 0, 0, 1260, 1261, 5, 110, 0, 0, 1261, 1262, 5, 103, 0, 0, 1262, 146, 1, 0, 0, 0, 1263, 1264, 5, 98, 0, 0, 1264, 1265, 5, 117, 0, 0, 1265, 1266, 5, 105, 0, 0, 1266, 1267, 5, 108, 0, 0, 1267, 1268, 5, 100, 0, 0, 1268, 1269, 5, 84, 0, 0, 1269, 1270, 5, 111, 0, 0, 1270, 1271, 5, 111, 0, 0, 1271, 1272, 5, 108, 0, 0, 1272, 1273, 5, 80, 0, 0, 1273, 1274, 5, 97, 0, 0, 1274, 1275, 5, 116, 0, 0, 1275, 1276, 5, 104, 0, 0, 1276, 148, 1, 0, 0, 0, 1277, 1278, 5, 98, 0, 0, 1278, 1279, 5, 117, 0, 0, 1279, 1280, 5, 105, 0, 0, 1280, 1281, 5, 108, 0, 0, 1281, 1282, 5, 100, 0, 0, 1282, 1283, 5, 87, 0, 0, 1283, 1284, 5, 111, 0, 0, 1284, 1285, 5, 114, 0, 0, 1285, 1286, 5, 107, 0, 0, 1286, 1287, 5, 105, 0, 0, 1287, 1288, 5, 110, 0, 0, 1288, 1289, 5, 103, 0, 0, 1289, 1290, 5, 68, 0, 0, 1290, 1291, 5, 105, 0, 0, 1291, 1292, 5, 114, 0, 0, 1292, 1293, 5, 101, 0, 0, 1293, 1294, 5, 99, 0, 0, 1294, 1295, 5, 116, 0, 0, 1295, 1296, 5, 111, 0, 0, 1296, 1297, 5, 114, 0, 0, 1297, 1298, 5, 121, 0, 0, 1298, 150, 1, 0, 0, 0, 1299, 1300, 5, 112, 0, 0, 1300, 1301, 5, 97, 0, 0, 1301, 1302, 5, 115, 0, 0, 1302, 1303, 5, 115, 0, 0, 1303, 1304, 5, 66, 0, 0, 1304, 1305, 5, 117, 0, 0, 1305, 1306, 5, 105, 0, 0, 1306, 1307, 5, 108, 0, 0, 1307, 1308, 5, 100, 0, 0, 1308, 1309, 5, 83, 0, 0, 1309, 1310, 5, 101, 0, 0, 1310, 1311, 5, 116, 0, 0, 1311, 1312, 5, 116, 0, 0, 1312, 1313, 5, 105, 0, 0, 1313, 1314, 5, 110, 0, 0, 1314, 1315, 5, 103, 0, 0, 1315, 1316, 5, 115, 0, 0, 1316, 1317, 5, 73, 0, 0, 1317, 1318, 5, 110, 0, 0, 1318, 1319, 5, 69, 0, 0, 1319, 1320, 5, 110, 0, 0, 1320, 1321, 5, 118, 0, 0, 1321, 1322, 5, 105, 0, 0, 1322, 1323, 5, 114, 0, 0, 1323, 1324, 5, 111, 0, 0, 1324, 1325, 5, 110, 0, 0, 1325, 1326, 5, 109, 0, 0, 1326, 1327, 5, 101, 0, 0, 1327, 1328, 5, 110, 0, 0, 1328, 1329, 5, 116, 0, 0, 1329, 152, 1, 0, 0, 0, 1330, 1331, 5, 100, 0, 0, 1331, 1332, 5, 101, 0, 0, 1332, 1333, 5, 112, 0, 0, 1333, 1334, 5, 101, 0, 0, 1334, 1335, 5, 110, 0, 0, 1335, 1336, 5, 100, 0, 0, 1336, 1337, 5, 101, 0, 0, 1337, 1338, 5, 110, 0, 0, 1338, 1339, 5, 99, 0, 0, 1339, 1340, 5, 105, 0, 0, 1340, 1341, 5, 101, 0, 0, 1341, 1342, 5, 115, 0, 0, 1342, 154, 1, 0, 0, 0, 1343, 1344, 5, 112, 0, 0, 1344, 1345, 5, 114, 0, 0, 1345, 1346, 5, 111, 0, 0, 1346, 1347, 5, 100, 0, 0, 1347, 1348, 5, 117, 0, 0, 1348, 1349, 5, 99, 0, 0, 1349, 1350, 5, 116, 0, 0, 1350, 1351, 5, 78, 0, 0, 1351, 1352, 5, 97, 0, 0, 1352, 1353, 5, 109, 0, 0, 1353, 1354, 5, 101, 0, 0, 1354, 156, 1, 0, 0, 0, 1355, 1356, 5, 112, 0, 0, 1356, 1357, 5, 114, 0, 0, 1357, 1358, 5, 111, 0, 0, 1358, 1359, 5, 100, 0, 0, 1359, 1360, 5, 117, 0, 0, 1360, 1361, 5, 99, 0, 0, 1361, 1362, 5, 116, 0, 0, 1362, 1363, 5, 82, 0, 0, 1363, 1364, 5, 101, 0, 0, 1364, 1365, 5, 102, 0, 0, 1365, 1366, 5, 101, 0, 0, 1366, 1367, 5, 114, 0, 0, 1367, 1368, 5, 101, 0, 0, 1368, 1369, 5, 110, 0, 0, 1369, 1370, 5, 99, 0, 0, 1370, 1371, 5, 101, 0, 0, 1371, 158, 1, 0, 0, 0, 1372, 1373, 5, 112, 0, 0, 1373, 1374, 5, 114, 0, 0, 1374, 1375, 5, 111, 0, 0, 1375, 1376, 5, 100, 0, 0, 1376, 1377, 5, 117, 0, 0, 1377, 1378, 5, 99, 0, 0, 1378, 1379, 5, 116, 0, 0, 1379, 1380, 5, 84, 0, 0, 1380, 1381, 5, 121, 0, 0, 1381, 1382, 5, 112, 0, 0, 1382, 1383, 5, 101, 0, 0, 1383, 160, 1, 0, 0, 0, 1384, 1385, 5, 108, 0, 0, 1385, 1386, 5, 105, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, 101, 0, 0, 1388, 1389, 5, 69, 0, 0, 1389, 1390, 5, 110, 0, 0, 1390, 1391, 5, 100, 0, 0, 1391, 1392, 5, 105, 0, 0, 1392, 1393, 5, 110, 0, 0, 1393, 1394, 5, 103, 0, 0, 1394, 162, 1, 0, 0, 0, 1395, 1396, 5, 120, 0, 0, 1396, 1397, 5, 99, 0, 0, 1397, 1398, 5, 76, 0, 0, 1398, 1399, 5, 97, 0, 0, 1399, 1400, 5, 110, 0, 0, 1400, 1401, 5, 103, 0, 0, 1401, 1402, 5, 117, 0, 0, 1402, 1403, 5, 97, 0, 0, 1403, 1404, 5, 103, 0, 0, 1404, 1405, 5, 101, 0, 0, 1405, 1406, 5, 83, 0, 0, 1406, 1407, 5, 112, 0, 0, 1407, 1408, 5, 101, 0, 0, 1408, 1409, 5, 99, 0, 0, 1409, 1410, 5, 105, 0, 0, 1410, 1411, 5, 102, 0, 0, 1411, 1412, 5, 105, 0, 0, 1412, 1413, 5, 99, 0, 0, 1413, 1414, 5, 97, 0, 0, 1414, 1415, 5, 116, 0, 0, 1415, 1416, 5, 105, 0, 0, 1416, 1417, 5, 111, 0, 0, 1417, 1418, 5, 110, 0, 0, 1418, 1419, 5, 73, 0, 0, 1419, 1420, 5, 100, 0, 0, 1420, 1421, 5, 101, 0, 0, 1421, 1422, 5, 110, 0, 0, 1422, 1423, 5, 116, 0, 0, 1423, 1424, 5, 105, 0, 0, 1424, 1425, 5, 102, 0, 0, 1425, 1426, 5, 105, 0, 0, 1426, 1427, 5, 101, 0, 0, 1427, 1428, 5, 114, 0, 0, 1428, 164, 1, 0, 0, 0, 1429, 1430, 5, 112, 0, 0, 1430, 1431, 5, 108, 0, 0, 1431, 1432, 5, 105, 0, 0, 1432, 1433, 5, 115, 0, 0, 1433, 1434, 5, 116, 0, 0, 1434, 1435, 5, 83, 0, 0, 1435, 1436, 5, 116, 0, 0, 1436, 1437, 5, 114, 0, 0, 1437, 1438, 5, 117, 0, 0, 1438, 1439, 5, 99, 0, 0, 1439, 1440, 5, 116, 0, 0, 1440, 1441, 5, 117, 0, 0, 1441, 1442, 5, 114, 0, 0, 1442, 1443, 5, 101, 0, 0, 1443, 1444, 5, 68, 0, 0, 1444, 1445, 5, 101, 0, 0, 1445, 1446, 5, 102, 0, 0, 1446, 1447, 5, 105, 0, 0, 1447, 1448, 5, 110, 0, 0, 1448, 1449, 5, 105, 0, 0, 1449, 1450, 5, 116, 0, 0, 1450, 1451, 5, 105, 0, 0, 1451, 1452, 5, 111, 0, 0, 1452, 1453, 5, 110, 0, 0, 1453, 1454, 5, 73, 0, 0, 1454, 1455, 5, 100, 0, 0, 1455, 1456, 5, 101, 0, 0, 1456, 1457, 5, 110, 0, 0, 1457, 1458, 5, 116, 0, 0, 1458, 1459, 5, 105, 0, 0, 1459, 1460, 5, 102, 0, 0, 1460, 1461, 5, 105, 0, 0, 1461, 1462, 5, 101, 0, 0, 1462, 1463, 5, 114, 0, 0, 1463, 166, 1, 0, 0, 0, 1464, 1465, 5, 97, 0, 0, 1465, 1466, 5, 116, 0, 0, 1466, 1467, 5, 116, 0, 0, 1467, 1468, 5, 114, 0, 0, 1468, 1469, 5, 105, 0, 0, 1469, 1470, 5, 98, 0, 0, 1470, 1471, 5, 117, 0, 0, 1471, 1472, 5, 116, 0, 0, 1472, 1473, 5, 101, 0, 0, 1473, 1474, 5, 115, 0, 0, 1474, 168, 1, 0, 0, 0, 1475, 1476, 5, 76, 0, 0, 1476, 1477, 5, 97, 0, 0, 1477, 1478, 5, 115, 0, 0, 1478, 1479, 5, 116, 0, 0, 1479, 1480, 5, 83, 0, 0, 1480, 1481, 5, 119, 0, 0, 1481, 1482, 5, 105, 0, 0, 1482, 1483, 5, 102, 0, 0, 1483, 1484, 5, 116, 0, 0, 1484, 1485, 5, 77, 0, 0, 1485, 1486, 5, 105, 0, 0, 1486, 1487, 5, 103, 0, 0, 1487, 1488, 5, 114, 0, 0, 1488, 1489, 5, 97, 0, 0, 1489, 1490, 5, 116, 0, 0, 1490, 1491, 5, 105, 0, 0, 1491, 1492, 5, 111, 0, 0, 1492, 1493, 5, 110, 0, 0, 1493, 170, 1, 0, 0, 0, 1494, 1495, 5, 68, 0, 0, 1495, 1496, 5, 101, 0, 0, 1496, 1497, 5, 102, 0, 0, 1497, 1498, 5, 97, 0, 0, 1498, 1499, 5, 117, 0, 0, 1499, 1500, 5, 108, 0, 0, 1500, 1501, 5, 116, 0, 0, 1501, 1502, 5, 66, 0, 0, 1502, 1503, 5, 117, 0, 0, 1503, 1504, 5, 105, 0, 0, 1504, 1505, 5, 108, 0, 0, 1505, 1506, 5, 100, 0, 0, 1506, 1507, 5, 83, 0, 0, 1507, 1508, 5, 121, 0, 0, 1508, 1509, 5, 115, 0, 0, 1509, 1510, 5, 116, 0, 0, 1510, 1511, 5, 101, 0, 0, 1511, 1512, 5, 109, 0, 0, 1512, 1513, 5, 84, 0, 0, 1513, 1514, 5, 121, 0, 0, 1514, 1515, 5, 112, 0, 0, 1515, 1516, 5, 101, 0, 0, 1516, 1517, 5, 70, 0, 0, 1517, 1518, 5, 111, 0, 0, 1518, 1519, 5, 114, 0, 0, 1519, 1520, 5, 87, 0, 0, 1520, 1521, 5, 111, 0, 0, 1521, 1522, 5, 114, 0, 0, 1522, 1523, 5, 107, 0, 0, 1523, 1524, 5, 115, 0, 0, 1524, 1525, 5, 112, 0, 0, 1525, 1526, 5, 97, 0, 0, 1526, 1527, 5, 99, 0, 0, 1527, 1528, 5, 101, 0, 0, 1528, 172, 1, 0, 0, 0, 1529, 1530, 5, 76, 0, 0, 1530, 1531, 5, 97, 0, 0, 1531, 1532, 5, 115, 0, 0, 1532, 1533, 5, 116, 0, 0, 1533, 1534, 5, 83, 0, 0, 1534, 1535, 5, 119, 0, 0, 1535, 1536, 5, 105, 0, 0, 1536, 1537, 5, 102, 0, 0, 1537, 1538, 5, 116, 0, 0, 1538, 1539, 5, 85, 0, 0, 1539, 1540, 5, 112, 0, 0, 1540, 1541, 5, 100, 0, 0, 1541, 1542, 5, 97, 0, 0, 1542, 1543, 5, 116, 0, 0, 1543, 1544, 5, 101, 0, 0, 1544, 1545, 5, 67, 0, 0, 1545, 1546, 5, 104, 0, 0, 1546, 1547, 5, 101, 0, 0, 1547, 1548, 5, 99, 0, 0, 1548, 1549, 5, 107, 0, 0, 1549, 174, 1, 0, 0, 0, 1550, 1551, 5, 66, 0, 0, 1551, 1552, 5, 117, 0, 0, 1552, 1553, 5, 105, 0, 0, 1553, 1554, 5, 108, 0, 0, 1554, 1555, 5, 100, 0, 0, 1555, 1556, 5, 73, 0, 0, 1556, 1557, 5, 110, 0, 0, 1557, 1558, 5, 100, 0, 0, 1558, 1559, 5, 101, 0, 0, 1559, 1560, 5, 112, 0, 0, 1560, 1561, 5, 101, 0, 0, 1561, 1562, 5, 110, 0, 0, 1562, 1563, 5, 100, 0, 0, 1563, 1564, 5, 101, 0, 0, 1564, 1565, 5, 110, 0, 0, 1565, 1566, 5, 116, 0, 0, 1566, 1567, 5, 84, 0, 0, 1567, 1568, 5, 97, 0, 0, 1568, 1569, 5, 114, 0, 0, 1569, 1570, 5, 103, 0, 0, 1570, 1571, 5, 101, 0, 0, 1571, 1572, 5, 116, 0, 0, 1572, 1573, 5, 115, 0, 0, 1573, 1574, 5, 73, 0, 0, 1574, 1575, 5, 110, 0, 0, 1575, 1576, 5, 80, 0, 0, 1576, 1577, 5, 97, 0, 0, 1577, 1578, 5, 114, 0, 0, 1578, 1579, 5, 97, 0, 0, 1579, 1580, 5, 108, 0, 0, 1580, 1581, 5, 108, 0, 0, 1581, 1582, 5, 101, 0, 0, 1582, 1583, 5, 108, 0, 0, 1583, 176, 1, 0, 0, 0, 1584, 1585, 5, 76, 0, 0, 1585, 1586, 5, 97, 0, 0, 1586, 1587, 5, 115, 0, 0, 1587, 1588, 5, 116, 0, 0, 1588, 1589, 5, 84, 0, 0, 1589, 1590, 5, 101, 0, 0, 1590, 1591, 5, 115, 0, 0, 1591, 1592, 5, 116, 0, 0, 1592, 1593, 5, 105, 0, 0, 1593, 1594, 5, 110, 0, 0, 1594, 1595, 5, 103, 0, 0, 1595, 1596, 5, 85, 0, 0, 1596, 1597, 5, 112, 0, 0, 1597, 1598, 5, 103, 0, 0, 1598, 1599, 5, 114, 0, 0, 1599, 1600, 5, 97, 0, 0, 1600, 1601, 5, 100, 0, 0, 1601, 1602, 5, 101, 0, 0, 1602, 1603, 5, 67, 0, 0, 1603, 1604, 5, 104, 0, 0, 1604, 1605, 5, 101, 0, 0, 1605, 1606, 5, 99, 0, 0, 1606, 1607, 5, 107, 0, 0, 1607, 178, 1, 0, 0, 0, 1608, 1609, 5, 76, 0, 0, 1609, 1610, 5, 97, 0, 0, 1610, 1611, 5, 115, 0, 0, 1611, 1612, 5, 116, 0, 0, 1612, 1613, 5, 85, 0, 0, 1613, 1614, 5, 112, 0, 0, 1614, 1615, 5, 103, 0, 0, 1615, 1616, 5, 114, 0, 0, 1616, 1617, 5, 97, 0, 0, 1617, 1618, 5, 100, 0, 0, 1618, 1619, 5, 101, 0, 0, 1619, 1620, 5, 67, 0, 0, 1620, 1621, 5, 104, 0, 0, 1621, 1622, 5, 101, 0, 0, 1622, 1623, 5, 99, 0, 0, 1623, 1624, 5, 107, 0, 0, 1624, 180, 1, 0, 0, 0, 1625, 1626, 5, 79, 0, 0, 1626, 1627, 5, 82, 0, 0, 1627, 1628, 5, 71, 0, 0, 1628, 1629, 5, 65, 0, 0, 1629, 1630, 5, 78, 0, 0, 1630, 1631, 5, 73, 0, 0, 1631, 1632, 5, 90, 0, 0, 1632, 1633, 5, 65, 0, 0, 1633, 1634, 5, 84, 0, 0, 1634, 1635, 5, 73, 0, 0, 1635, 1636, 5, 79, 0, 0, 1636, 1637, 5, 78, 0, 0, 1637, 1638, 5, 78, 0, 0, 1638, 1639, 5, 65, 0, 0, 1639, 1640, 5, 77, 0, 0, 1640, 1641, 5, 69, 0, 0, 1641, 182, 1, 0, 0, 0, 1642, 1643, 5, 84, 0, 0, 1643, 1644, 5, 97, 0, 0, 1644, 1645, 5, 114, 0, 0, 1645, 1646, 5, 103, 0, 0, 1646, 1647, 5, 101, 0, 0, 1647, 1648, 5, 116, 0, 0, 1648, 1649, 5, 65, 0, 0, 1649, 1650, 5, 116, 0, 0, 1650, 1651, 5, 116, 0, 0, 1651, 1652, 5, 114, 0, 0, 1652, 1653, 5, 105, 0, 0, 1653, 1654, 5, 98, 0, 0, 1654, 1655, 5, 117, 0, 0, 1655, 1656, 5, 116, 0, 0, 1656, 1657, 5, 101, 0, 0, 1657, 1658, 5, 115, 0, 0, 1658, 184, 1, 0, 0, 0, 1659, 1660, 5, 67, 0, 0, 1660, 1661, 5, 114, 0, 0, 1661, 1662, 5, 101, 0, 0, 1662, 1663, 5, 97, 0, 0, 1663, 1664, 5, 116, 0, 0, 1664, 1665, 5, 101, 0, 0, 1665, 1666, 5, 100, 0, 0, 1666, 1667, 5, 79, 0, 0, 1667, 1668, 5, 110, 0, 0, 1668, 1669, 5, 84, 0, 0, 1669, 1670, 5, 111, 0, 0, 1670, 1671, 5, 111, 0, 0, 1671, 1672, 5, 108, 0, 0, 1672, 1673, 5, 115, 0, 0, 1673, 1674, 5, 86, 0, 0, 1674, 1675, 5, 101, 0, 0, 1675, 1676, 5, 114, 0, 0, 1676, 1677, 5, 115, 0, 0, 1677, 1678, 5, 105, 0, 0, 1678, 1679, 5, 111, 0, 0, 1679, 1680, 5, 110, 0, 0, 1680, 186, 1, 0, 0, 0, 1681, 1682, 5, 84, 0, 0, 1682, 1683, 5, 101, 0, 0, 1683, 1684, 5, 115, 0, 0, 1684, 1685, 5, 116, 0, 0, 1685, 1686, 5, 84, 0, 0, 1686, 1687, 5, 97, 0, 0, 1687, 1688, 5, 114, 0, 0, 1688, 1689, 5, 103, 0, 0, 1689, 1690, 5, 101, 0, 0, 1690, 1691, 5, 116, 0, 0, 1691, 1692, 5, 73, 0, 0, 1692, 1693, 5, 68, 0, 0, 1693, 188, 1, 0, 0, 0, 1694, 1695, 5, 68, 0, 0, 1695, 1696, 5, 101, 0, 0, 1696, 1697, 5, 118, 0, 0, 1697, 1698, 5, 101, 0, 0, 1698, 1699, 5, 108, 0, 0, 1699, 1700, 5, 111, 0, 0, 1700, 1701, 5, 112, 0, 0, 1701, 1702, 5, 109, 0, 0, 1702, 1703, 5, 101, 0, 0, 1703, 1704, 5, 110, 0, 0, 1704, 1705, 5, 116, 0, 0, 1705, 1706, 5, 84, 0, 0, 1706, 1707, 5, 101, 0, 0, 1707, 1708, 5, 97, 0, 0, 1708, 1709, 5, 109, 0, 0, 1709, 190, 1, 0, 0, 0, 1710, 1711, 5, 68, 0, 0, 1711, 1712, 5, 101, 0, 0, 1712, 1713, 5, 118, 0, 0, 1713, 1714, 5, 101, 0, 0, 1714, 1715, 5, 108, 0, 0, 1715, 1716, 5, 111, 0, 0, 1716, 1717, 5, 112, 0, 0, 1717, 1718, 5, 109, 0, 0, 1718, 1719, 5, 101, 0, 0, 1719, 1720, 5, 110, 0, 0, 1720, 1721, 5, 116, 0, 0, 1721, 1722, 5, 84, 0, 0, 1722, 1723, 5, 101, 0, 0, 1723, 1724, 5, 97, 0, 0, 1724, 1725, 5, 109, 0, 0, 1725, 1726, 5, 78, 0, 0, 1726, 1727, 5, 97, 0, 0, 1727, 1728, 5, 109, 0, 0, 1728, 1729, 5, 101, 0, 0, 1729, 192, 1, 0, 0, 0, 1730, 1731, 5, 80, 0, 0, 1731, 1732, 5, 114, 0, 0, 1732, 1733, 5, 111, 0, 0, 1733, 1734, 5, 118, 0, 0, 1734, 1735, 5, 105, 0, 0, 1735, 1736, 5, 115, 0, 0, 1736, 1737, 5, 105, 0, 0, 1737, 1738, 5, 111, 0, 0, 1738, 1739, 5, 110, 0, 0, 1739, 1740, 5, 105, 0, 0, 1740, 1741, 5, 110, 0, 0, 1741, 1742, 5, 103, 0, 0, 1742, 1743, 5, 83, 0, 0, 1743, 1744, 5, 116, 0, 0, 1744, 1745, 5, 121, 0, 0, 1745, 1746, 5, 108, 0, 0, 1746, 1747, 5, 101, 0, 0, 1747, 194, 1, 0, 0, 0, 1748, 1749, 5, 99, 0, 0, 1749, 1750, 5, 111, 0, 0, 1750, 1751, 5, 109, 0, 0, 1751, 1752, 5, 112, 0, 0, 1752, 1753, 5, 97, 0, 0, 1753, 1754, 5, 116, 0, 0, 1754, 1755, 5, 105, 0, 0, 1755, 1756, 5, 98, 0, 0, 1756, 1757, 5, 105, 0, 0, 1757, 1758, 5, 108, 0, 0, 1758, 1759, 5, 105, 0, 0, 1759, 1760, 5, 116, 0, 0, 1760, 1761, 5, 121, 0, 0, 1761, 1762, 5, 86, 0, 0, 1762, 1763, 5, 101, 0, 0, 1763, 1764, 5, 114, 0, 0, 1764, 1765, 5, 115, 0, 0, 1765, 1766, 5, 105, 0, 0, 1766, 1767, 5, 111, 0, 0, 1767, 1768, 5, 110, 0, 0, 1768, 196, 1, 0, 0, 0, 1769, 1770, 5, 100, 0, 0, 1770, 1771, 5, 101, 0, 0, 1771, 1772, 5, 118, 0, 0, 1772, 1773, 5, 101, 0, 0, 1773, 1774, 5, 108, 0, 0, 1774, 1775, 5, 111, 0, 0, 1775, 1776, 5, 112, 0, 0, 1776, 1777, 5, 109, 0, 0, 1777, 1778, 5, 101, 0, 0, 1778, 1779, 5, 110, 0, 0, 1779, 1780, 5, 116, 0, 0, 1780, 1781, 5, 82, 0, 0, 1781, 1782, 5, 101, 0, 0, 1782, 1783, 5, 103, 0, 0, 1783, 1784, 5, 105, 0, 0, 1784, 1785, 5, 111, 0, 0, 1785, 1786, 5, 110, 0, 0, 1786, 198, 1, 0, 0, 0, 1787, 1788, 5, 104, 0, 0, 1788, 1789, 5, 97, 0, 0, 1789, 1790, 5, 115, 0, 0, 1790, 1791, 5, 83, 0, 0, 1791, 1792, 5, 99, 0, 0, 1792, 1793, 5, 97, 0, 0, 1793, 1794, 5, 110, 0, 0, 1794, 1795, 5, 110, 0, 0, 1795, 1796, 5, 101, 0, 0, 1796, 1797, 5, 100, 0, 0, 1797, 1798, 5, 70, 0, 0, 1798, 1799, 5, 111, 0, 0, 1799, 1800, 5, 114, 0, 0, 1800, 1801, 5, 69, 0, 0, 1801, 1802, 5, 110, 0, 0, 1802, 1803, 5, 99, 0, 0, 1803, 1804, 5, 111, 0, 0, 1804, 1805, 5, 100, 0, 0, 1805, 1806, 5, 105, 0, 0, 1806, 1807, 5, 110, 0, 0, 1807, 1808, 5, 103, 0, 0, 1808, 1809, 5, 115, 0, 0, 1809, 200, 1, 0, 0, 0, 1810, 1811, 5, 107, 0, 0, 1811, 1812, 5, 110, 0, 0, 1812, 1813, 5, 111, 0, 0, 1813, 1814, 5, 119, 0, 0, 1814, 1815, 5, 110, 0, 0, 1815, 1816, 5, 82, 0, 0, 1816, 1817, 5, 101, 0, 0, 1817, 1818, 5, 103, 0, 0, 1818, 1819, 5, 105, 0, 0, 1819, 1820, 5, 111, 0, 0, 1820, 1821, 5, 110, 0, 0, 1821, 1822, 5, 115, 0, 0, 1822, 202, 1, 0, 0, 0, 1823, 1824, 5, 109, 0, 0, 1824, 1825, 5, 97, 0, 0, 1825, 1826, 5, 105, 0, 0, 1826, 1827, 5, 110, 0, 0, 1827, 1828, 5, 71, 0, 0, 1828, 1829, 5, 114, 0, 0, 1829, 1830, 5, 111, 0, 0, 1830, 1831, 5, 117, 0, 0, 1831, 1832, 5, 112, 0, 0, 1832, 204, 1, 0, 0, 0, 1833, 1834, 5, 112, 0, 0, 1834, 1835, 5, 114, 0, 0, 1835, 1836, 5, 111, 0, 0, 1836, 1837, 5, 100, 0, 0, 1837, 1838, 5, 117, 0, 0, 1838, 1839, 5, 99, 0, 0, 1839, 1840, 5, 116, 0, 0, 1840, 1841, 5, 82, 0, 0, 1841, 1842, 5, 101, 0, 0, 1842, 1843, 5, 102, 0, 0, 1843, 1844, 5, 71, 0, 0, 1844, 1845, 5, 114, 0, 0, 1845, 1846, 5, 111, 0, 0, 1846, 1847, 5, 117, 0, 0, 1847, 1848, 5, 112, 0, 0, 1848, 206, 1, 0, 0, 0, 1849, 1850, 5, 112, 0, 0, 1850, 1851, 5, 97, 0, 0, 1851, 1852, 5, 99, 0, 0, 1852, 1853, 5, 107, 0, 0, 1853, 1854, 5, 97, 0, 0, 1854, 1855, 5, 103, 0, 0, 1855, 1856, 5, 101, 0, 0, 1856, 1857, 5, 82, 0, 0, 1857, 1858, 5, 101, 0, 0, 1858, 1859, 5, 102, 0, 0, 1859, 1860, 5, 101, 0, 0, 1860, 1861, 5, 114, 0, 0, 1861, 1862, 5, 101, 0, 0, 1862, 1863, 5, 110, 0, 0, 1863, 1864, 5, 99, 0, 0, 1864, 1865, 5, 101, 0, 0, 1865, 1866, 5, 115, 0, 0, 1866, 208, 1, 0, 0, 0, 1867, 1868, 5, 112, 0, 0, 1868, 1869, 5, 114, 0, 0, 1869, 1870, 5, 111, 0, 0, 1870, 1871, 5, 106, 0, 0, 1871, 1872, 5, 101, 0, 0, 1872, 1873, 5, 99, 0, 0, 1873, 1874, 5, 116, 0, 0, 1874, 1875, 5, 68, 0, 0, 1875, 1876, 5, 105, 0, 0, 1876, 1877, 5, 114, 0, 0, 1877, 1878, 5, 80, 0, 0, 1878, 1879, 5, 97, 0, 0, 1879, 1880, 5, 116, 0, 0, 1880, 1881, 5, 104, 0, 0, 1881, 210, 1, 0, 0, 0, 1882, 1883, 5, 112, 0, 0, 1883, 1884, 5, 114, 0, 0, 1884, 1885, 5, 111, 0, 0, 1885, 1886, 5, 106, 0, 0, 1886, 1887, 5, 101, 0, 0, 1887, 1888, 5, 99, 0, 0, 1888, 1889, 5, 116, 0, 0, 1889, 1890, 5, 82, 0, 0, 1890, 1891, 5, 101, 0, 0, 1891, 1892, 5, 102, 0, 0, 1892, 1893, 5, 101, 0, 0, 1893, 1894, 5, 114, 0, 0, 1894, 1895, 5, 101, 0, 0, 1895, 1896, 5, 110, 0, 0, 1896, 1897, 5, 99, 0, 0, 1897, 1898, 5, 101, 0, 0, 1898, 1899, 5, 115, 0, 0, 1899, 212, 1, 0, 0, 0, 1900, 1901, 5, 112, 0, 0, 1901, 1902, 5, 114, 0, 0, 1902, 1903, 5, 111, 0, 0, 1903, 1904, 5, 106, 0, 0, 1904, 1905, 5, 101, 0, 0, 1905, 1906, 5, 99, 0, 0, 1906, 1907, 5, 116, 0, 0, 1907, 1908, 5, 82, 0, 0, 1908, 1909, 5, 111, 0, 0, 1909, 1910, 5, 111, 0, 0, 1910, 1911, 5, 116, 0, 0, 1911, 214, 1, 0, 0, 0, 1912, 1913, 5, 116, 0, 0, 1913, 1914, 5, 97, 0, 0, 1914, 1915, 5, 114, 0, 0, 1915, 1916, 5, 103, 0, 0, 1916, 1917, 5, 101, 0, 0, 1917, 1918, 5, 116, 0, 0, 1918, 1919, 5, 115, 0, 0, 1919, 216, 1, 0, 0, 0, 1920, 1921, 5, 105, 0, 0, 1921, 1922, 5, 110, 0, 0, 1922, 1923, 5, 112, 0, 0, 1923, 1924, 5, 117, 0, 0, 1924, 1925, 5, 116, 0, 0, 1925, 1926, 5, 70, 0, 0, 1926, 1927, 5, 105, 0, 0, 1927, 1928, 5, 108, 0, 0, 1928, 1929, 5, 101, 0, 0, 1929, 1930, 5, 76, 0, 0, 1930, 1931, 5, 105, 0, 0, 1931, 1932, 5, 115, 0, 0, 1932, 1933, 5, 116, 0, 0, 1933, 1934, 5, 80, 0, 0, 1934, 1935, 5, 97, 0, 0, 1935, 1936, 5, 116, 0, 0, 1936, 1937, 5, 104, 0, 0, 1937, 1938, 5, 115, 0, 0, 1938, 218, 1, 0, 0, 0, 1939, 1940, 5, 105, 0, 0, 1940, 1941, 5, 110, 0, 0, 1941, 1942, 5, 112, 0, 0, 1942, 1943, 5, 117, 0, 0, 1943, 1944, 5, 116, 0, 0, 1944, 1945, 5, 80, 0, 0, 1945, 1946, 5, 97, 0, 0, 1946, 1947, 5, 116, 0, 0, 1947, 1948, 5, 104, 0, 0, 1948, 1949, 5, 115, 0, 0, 1949, 220, 1, 0, 0, 0, 1950, 1951, 5, 111, 0, 0, 1951, 1952, 5, 117, 0, 0, 1952, 1953, 5, 116, 0, 0, 1953, 1954, 5, 112, 0, 0, 1954, 1955, 5, 117, 0, 0, 1955, 1956, 5, 116, 0, 0, 1956, 1957, 5, 70, 0, 0, 1957, 1958, 5, 105, 0, 0, 1958, 1959, 5, 108, 0, 0, 1959, 1960, 5, 101, 0, 0, 1960, 1961, 5, 76, 0, 0, 1961, 1962, 5, 105, 0, 0, 1962, 1963, 5, 115, 0, 0, 1963, 1964, 5, 116, 0, 0, 1964, 1965, 5, 80, 0, 0, 1965, 1966, 5, 97, 0, 0, 1966, 1967, 5, 116, 0, 0, 1967, 1968, 5, 104, 0, 0, 1968, 1969, 5, 115, 0, 0, 1969, 222, 1, 0, 0, 0, 1970, 1971, 5, 111, 0, 0, 1971, 1972, 5, 117, 0, 0, 1972, 1973, 5, 116, 0, 0, 1973, 1974, 5, 112, 0, 0, 1974, 1975, 5, 117, 0, 0, 1975, 1976, 5, 116, 0, 0, 1976, 1977, 5, 80, 0, 0, 1977, 1978, 5, 97, 0, 0, 1978, 1979, 5, 116, 0, 0, 1979, 1980, 5, 104, 0, 0, 1980, 1981, 5, 115, 0, 0, 1981, 224, 1, 0, 0, 0, 1982, 1983, 5, 115, 0, 0, 1983, 1984, 5, 104, 0, 0, 1984, 1985, 5, 101, 0, 0, 1985, 1986, 5, 108, 0, 0, 1986, 1987, 5, 108, 0, 0, 1987, 1988, 5, 80, 0, 0, 1988, 1989, 5, 97, 0, 0, 1989, 1990, 5, 116, 0, 0, 1990, 1991, 5, 104, 0, 0, 1991, 226, 1, 0, 0, 0, 1992, 1993, 5, 115, 0, 0, 1993, 1994, 5, 104, 0, 0, 1994, 1995, 5, 101, 0, 0, 1995, 1996, 5, 108, 0, 0, 1996, 1997, 5, 108, 0, 0, 1997, 1998, 5, 83, 0, 0, 1998, 1999, 5, 99, 0, 0, 1999, 2000, 5, 114, 0, 0, 2000, 2001, 5, 105, 0, 0, 2001, 2002, 5, 112, 0, 0, 2002, 2003, 5, 116, 0, 0, 2003, 228, 1, 0, 0, 0, 2004, 2005, 5, 115, 0, 0, 2005, 2006, 5, 104, 0, 0, 2006, 2007, 5, 111, 0, 0, 2007, 2008, 5, 119, 0, 0, 2008, 2009, 5, 69, 0, 0, 2009, 2010, 5, 110, 0, 0, 2010, 2011, 5, 118, 0, 0, 2011, 2012, 5, 86, 0, 0, 2012, 2013, 5, 97, 0, 0, 2013, 2014, 5, 114, 0, 0, 2014, 2015, 5, 115, 0, 0, 2015, 2016, 5, 73, 0, 0, 2016, 2017, 5, 110, 0, 0, 2017, 2018, 5, 76, 0, 0, 2018, 2019, 5, 111, 0, 0, 2019, 2020, 5, 103, 0, 0, 2020, 230, 1, 0, 0, 0, 2021, 2022, 5, 116, 0, 0, 2022, 2023, 5, 97, 0, 0, 2023, 2024, 5, 114, 0, 0, 2024, 2025, 5, 103, 0, 0, 2025, 2026, 5, 101, 0, 0, 2026, 2027, 5, 116, 0, 0, 2027, 232, 1, 0, 0, 0, 2028, 2029, 5, 116, 0, 0, 2029, 2030, 5, 97, 0, 0, 2030, 2031, 5, 114, 0, 0, 2031, 2032, 5, 103, 0, 0, 2032, 2033, 5, 101, 0, 0, 2033, 2034, 5, 116, 0, 0, 2034, 2035, 5, 80, 0, 0, 2035, 2036, 5, 114, 0, 0, 2036, 2037, 5, 111, 0, 0, 2037, 2038, 5, 120, 0, 0, 2038, 2039, 5, 121, 0, 0, 2039, 234, 1, 0, 0, 0, 2040, 2041, 5, 102, 0, 0, 2041, 2042, 5, 105, 0, 0, 2042, 2043, 5, 108, 0, 0, 2043, 2044, 5, 101, 0, 0, 2044, 2045, 5, 84, 0, 0, 2045, 2046, 5, 121, 0, 0, 2046, 2047, 5, 112, 0, 0, 2047, 2048, 5, 101, 0, 0, 2048, 236, 1, 0, 0, 0, 2049, 2050, 5, 114, 0, 0, 2050, 2051, 5, 101, 0, 0, 2051, 2052, 5, 109, 0, 0, 2052, 2053, 5, 111, 0, 0, 2053, 2054, 5, 116, 0, 0, 2054, 2055, 5, 101, 0, 0, 2055, 2056, 5, 82, 0, 0, 2056, 2057, 5, 101, 0, 0, 2057, 2058, 5, 102, 0, 0, 2058, 238, 1, 0, 0, 0, 2059, 2060, 5, 98, 0, 0, 2060, 2061, 5, 97, 0, 0, 2061, 2062, 5, 115, 0, 0, 2062, 2063, 5, 101, 0, 0, 2063, 2064, 5, 67, 0, 0, 2064, 2065, 5, 111, 0, 0, 2065, 2066, 5, 110, 0, 0, 2066, 2067, 5, 102, 0, 0, 2067, 2068, 5, 105, 0, 0, 2068, 2069, 5, 103, 0, 0, 2069, 2070, 5, 117, 0, 0, 2070, 2071, 5, 114, 0, 0, 2071, 2072, 5, 97, 0, 0, 2072, 2073, 5, 116, 0, 0, 2073, 2074, 5, 105, 0, 0, 2074, 2075, 5, 111, 0, 0, 2075, 2076, 5, 110, 0, 0, 2076, 2077, 5, 82, 0, 0, 2077, 2078, 5, 101, 0, 0, 2078, 2079, 5, 102, 0, 0, 2079, 2080, 5, 101, 0, 0, 2080, 2081, 5, 114, 0, 0, 2081, 2082, 5, 101, 0, 0, 2082, 2083, 5, 110, 0, 0, 2083, 2084, 5, 99, 0, 0, 2084, 2085, 5, 101, 0, 0, 2085, 240, 1, 0, 0, 0, 2086, 2087, 5, 98, 0, 0, 2087, 2088, 5, 117, 0, 0, 2088, 2089, 5, 105, 0, 0, 2089, 2090, 5, 108, 0, 0, 2090, 2091, 5, 100, 0, 0, 2091, 2092, 5, 83, 0, 0, 2092, 2093, 5, 101, 0, 0, 2093, 2094, 5, 116, 0, 0, 2094, 2095, 5, 116, 0, 0, 2095, 2096, 5, 105, 0, 0, 2096, 2097, 5, 110, 0, 0, 2097, 2098, 5, 103, 0, 0, 2098, 2099, 5, 115, 0, 0, 2099, 242, 1, 0, 0, 0, 2100, 2101, 5, 100, 0, 0, 2101, 2102, 5, 115, 0, 0, 2102, 2103, 5, 116, 0, 0, 2103, 2104, 5, 80, 0, 0, 2104, 2105, 5, 97, 0, 0, 2105, 2106, 5, 116, 0, 0, 2106, 2107, 5, 104, 0, 0, 2107, 244, 1, 0, 0, 0, 2108, 2109, 5, 100, 0, 0, 2109, 2110, 5, 115, 0, 0, 2110, 2111, 5, 116, 0, 0, 2111, 2112, 5, 83, 0, 0, 2112, 2113, 5, 117, 0, 0, 2113, 2114, 5, 98, 0, 0, 2114, 2115, 5, 102, 0, 0, 2115, 2116, 5, 111, 0, 0, 2116, 2117, 5, 108, 0, 0, 2117, 2118, 5, 100, 0, 0, 2118, 2119, 5, 101, 0, 0, 2119, 2120, 5, 114, 0, 0, 2120, 2121, 5, 83, 0, 0, 2121, 2122, 5, 112, 0, 0, 2122, 2123, 5, 101, 0, 0, 2123, 2124, 5, 99, 0, 0, 2124, 246, 1, 0, 0, 0, 2125, 2126, 5, 80, 0, 0, 2126, 2127, 5, 114, 0, 0, 2127, 2128, 5, 111, 0, 0, 2128, 2129, 5, 100, 0, 0, 2129, 2130, 5, 117, 0, 0, 2130, 2131, 5, 99, 0, 0, 2131, 2132, 5, 116, 0, 0, 2132, 2133, 5, 71, 0, 0, 2133, 2134, 5, 114, 0, 0, 2134, 2135, 5, 111, 0, 0, 2135, 2136, 5, 117, 0, 0, 2136, 2137, 5, 112, 0, 0, 2137, 248, 1, 0, 0, 0, 2138, 2139, 5, 80, 0, 0, 2139, 2140, 5, 114, 0, 0, 2140, 2141, 5, 111, 0, 0, 2141, 2142, 5, 106, 0, 0, 2142, 2143, 5, 101, 0, 0, 2143, 2144, 5, 99, 0, 0, 2144, 2145, 5, 116, 0, 0, 2145, 2146, 5, 82, 0, 0, 2146, 2147, 5, 101, 0, 0, 2147, 2148, 5, 102, 0, 0, 2148, 250, 1, 0, 0, 0, 2149, 2150, 5, 98, 0, 0, 2150, 2151, 5, 117, 0, 0, 2151, 2152, 5, 105, 0, 0, 2152, 2153, 5, 108, 0, 0, 2153, 2154, 5, 100, 0, 0, 2154, 2155, 5, 67, 0, 0, 2155, 2156, 5, 111, 0, 0, 2156, 2157, 5, 110, 0, 0, 2157, 2158, 5, 102, 0, 0, 2158, 2159, 5, 105, 0, 0, 2159, 2160, 5, 103, 0, 0, 2160, 2161, 5, 117, 0, 0, 2161, 2162, 5, 114, 0, 0, 2162, 2163, 5, 97, 0, 0, 2163, 2164, 5, 116, 0, 0, 2164, 2165, 5, 105, 0, 0, 2165, 2166, 5, 111, 0, 0, 2166, 2167, 5, 110, 0, 0, 2167, 2168, 5, 115, 0, 0, 2168, 252, 1, 0, 0, 0, 2169, 2170, 5, 100, 0, 0, 2170, 2171, 5, 101, 0, 0, 2171, 2172, 5, 102, 0, 0, 2172, 2173, 5, 97, 0, 0, 2173, 2174, 5, 117, 0, 0, 2174, 2175, 5, 108, 0, 0, 2175, 2176, 5, 116, 0, 0, 2176, 2177, 5, 67, 0, 0, 2177, 2178, 5, 111, 0, 0, 2178, 2179, 5, 110, 0, 0, 2179, 2180, 5, 102, 0, 0, 2180, 2181, 5, 105, 0, 0, 2181, 2182, 5, 103, 0, 0, 2182, 2183, 5, 117, 0, 0, 2183, 2184, 5, 114, 0, 0, 2184, 2185, 5, 97, 0, 0, 2185, 2186, 5, 116, 0, 0, 2186, 2187, 5, 105, 0, 0, 2187, 2188, 5, 111, 0, 0, 2188, 2189, 5, 110, 0, 0, 2189, 2190, 5, 73, 0, 0, 2190, 2191, 5, 115, 0, 0, 2191, 2192, 5, 86, 0, 0, 2192, 2193, 5, 105, 0, 0, 2193, 2194, 5, 115, 0, 0, 2194, 2195, 5, 105, 0, 0, 2195, 2196, 5, 98, 0, 0, 2196, 2197, 5, 108, 0, 0, 2197, 2198, 5, 101, 0, 0, 2198, 254, 1, 0, 0, 0, 2199, 2200, 5, 100, 0, 0, 2200, 2201, 5, 101, 0, 0, 2201, 2202, 5, 102, 0, 0, 2202, 2203, 5, 97, 0, 0, 2203, 2204, 5, 117, 0, 0, 2204, 2205, 5, 108, 0, 0, 2205, 2206, 5, 116, 0, 0, 2206, 2207, 5, 67, 0, 0, 2207, 2208, 5, 111, 0, 0, 2208, 2209, 5, 110, 0, 0, 2209, 2210, 5, 102, 0, 0, 2210, 2211, 5, 105, 0, 0, 2211, 2212, 5, 103, 0, 0, 2212, 2213, 5, 117, 0, 0, 2213, 2214, 5, 114, 0, 0, 2214, 2215, 5, 97, 0, 0, 2215, 2216, 5, 116, 0, 0, 2216, 2217, 5, 105, 0, 0, 2217, 2218, 5, 111, 0, 0, 2218, 2219, 5, 110, 0, 0, 2219, 2220, 5, 78, 0, 0, 2220, 2221, 5, 97, 0, 0, 2221, 2222, 5, 109, 0, 0, 2222, 2223, 5, 101, 0, 0, 2223, 256, 1, 0, 0, 0, 2224, 2225, 5, 115, 0, 0, 2225, 2226, 5, 101, 0, 0, 2226, 2227, 5, 116, 0, 0, 2227, 2228, 5, 116, 0, 0, 2228, 2229, 5, 105, 0, 0, 2229, 2230, 5, 110, 0, 0, 2230, 2231, 5, 103, 0, 0, 2231, 2232, 5, 115, 0, 0, 2232, 258, 1, 0, 0, 0, 2233, 2234, 5, 83, 0, 0, 2234, 2235, 5, 121, 0, 0, 2235, 2236, 5, 115, 0, 0, 2236, 2237, 5, 116, 0, 0, 2237, 2238, 5, 101, 0, 0, 2238, 2239, 5, 109, 0, 0, 2239, 2240, 5, 67, 0, 0, 2240, 2241, 5, 97, 0, 0, 2241, 2242, 5, 112, 0, 0, 2242, 2243, 5, 97, 0, 0, 2243, 2244, 5, 98, 0, 0, 2244, 2245, 5, 105, 0, 0, 2245, 2246, 5, 108, 0, 0, 2246, 2247, 5, 105, 0, 0, 2247, 2248, 5, 116, 0, 0, 2248, 2249, 5, 105, 0, 0, 2249, 2250, 5, 101, 0, 0, 2250, 2251, 5, 115, 0, 0, 2251, 260, 1, 0, 0, 0, 2252, 2253, 5, 99, 0, 0, 2253, 2254, 5, 117, 0, 0, 2254, 2255, 5, 114, 0, 0, 2255, 2256, 5, 114, 0, 0, 2256, 2257, 5, 101, 0, 0, 2257, 2258, 5, 110, 0, 0, 2258, 2259, 5, 116, 0, 0, 2259, 2260, 5, 86, 0, 0, 2260, 2261, 5, 101, 0, 0, 2261, 2262, 5, 114, 0, 0, 2262, 2263, 5, 115, 0, 0, 2263, 2264, 5, 105, 0, 0, 2264, 2265, 5, 111, 0, 0, 2265, 2266, 5, 110, 0, 0, 2266, 262, 1, 0, 0, 0, 2267, 2268, 5, 118, 0, 0, 2268, 2269, 5, 101, 0, 0, 2269, 2270, 5, 114, 0, 0, 2270, 2271, 5, 115, 0, 0, 2271, 2272, 5, 105, 0, 0, 2272, 2273, 5, 111, 0, 0, 2273, 2274, 5, 110, 0, 0, 2274, 2275, 5, 71, 0, 0, 2275, 2276, 5, 114, 0, 0, 2276, 2277, 5, 111, 0, 0, 2277, 2278, 5, 117, 0, 0, 2278, 2279, 5, 112, 0, 0, 2279, 2280, 5, 84, 0, 0, 2280, 2281, 5, 121, 0, 0, 2281, 2282, 5, 112, 0, 0, 2282, 2283, 5, 101, 0, 0, 2283, 264, 1, 0, 0, 0, 2284, 2285, 5, 67, 0, 0, 2285, 2286, 5, 76, 0, 0, 2286, 2287, 5, 65, 0, 0, 2287, 2288, 5, 83, 0, 0, 2288, 2289, 5, 83, 0, 0, 2289, 2290, 5, 80, 0, 0, 2290, 2291, 5, 82, 0, 0, 2291, 2292, 5, 69, 0, 0, 2292, 2293, 5, 70, 0, 0, 2293, 2294, 5, 73, 0, 0, 2294, 2295, 5, 88, 0, 0, 2295, 266, 1, 0, 0, 0, 2296, 2297, 3, 279, 139, 0, 2297, 2298, 3, 279, 139, 0, 2298, 2299, 3, 279, 139, 0, 2299, 2300, 3, 279, 139, 0, 2300, 2301, 3, 279, 139, 0, 2301, 2302, 3, 279, 139, 0, 2302, 2303, 3, 279, 139, 0, 2303, 2304, 3, 279, 139, 0, 2304, 2305, 3, 279, 139, 0, 2305, 2306, 3, 279, 139, 0, 2306, 2307, 3, 279, 139, 0, 2307, 2308, 3, 279, 139, 0, 2308, 2309, 3, 279, 139, 0, 2309, 2310, 3, 279, 139, 0, 2310, 2311, 3, 279, 139, 0, 2311, 2312, 3, 279, 139, 0, 2312, 2313, 3, 279, 139, 0, 2313, 2314, 3, 279, 139, 0, 2314, 2315, 3, 279, 139, 0, 2315, 2316, 3, 279, 139, 0, 2316, 2317, 3, 279, 139, 0, 2317, 2318, 3, 279, 139, 0, 2318, 2319, 3, 279, 139, 0, 2319, 2321, 3, 279, 139, 0, 2320, 2322, 3, 279, 139, 0, 2321, 2320, 1, 0, 0, 0, 2321, 2322, 1, 0, 0, 0, 2322, 2324, 1, 0, 0, 0, 2323, 2325, 3, 279, 139, 0, 2324, 2323, 1, 0, 0, 0, 2324, 2325, 1, 0, 0, 0, 2325, 2327, 1, 0, 0, 0, 2326, 2328, 3, 279, 139, 0, 2327, 2326, 1, 0, 0, 0, 2327, 2328, 1, 0, 0, 0, 2328, 2330, 1, 0, 0, 0, 2329, 2331, 3, 279, 139, 0, 2330, 2329, 1, 0, 0, 0, 2330, 2331, 1, 0, 0, 0, 2331, 2333, 1, 0, 0, 0, 2332, 2334, 3, 279, 139, 0, 2333, 2332, 1, 0, 0, 0, 2333, 2334, 1, 0, 0, 0, 2334, 2336, 1, 0, 0, 0, 2335, 2337, 3, 279, 139, 0, 2336, 2335, 1, 0, 0, 0, 2336, 2337, 1, 0, 0, 0, 2337, 2339, 1, 0, 0, 0, 2338, 2340, 3, 279, 139, 0, 2339, 2338, 1, 0, 0, 0, 2339, 2340, 1, 0, 0, 0, 2340, 2342, 1, 0, 0, 0, 2341, 2343, 3, 279, 139, 0, 2342, 2341, 1, 0, 0, 0, 2342, 2343, 1, 0, 0, 0, 2343, 2382, 1, 0, 0, 0, 2344, 2345, 5, 70, 0, 0, 2345, 2346, 5, 82, 0, 0, 2346, 2350, 5, 95, 0, 0, 2347, 2348, 5, 71, 0, 0, 2348, 2350, 5, 95, 0, 0, 2349, 2344, 1, 0, 0, 0, 2349, 2347, 1, 0, 0, 0, 2350, 2352, 1, 0, 0, 0, 2351, 2353, 3, 279, 139, 0, 2352, 2351, 1, 0, 0, 0, 2353, 2354, 1, 0, 0, 0, 2354, 2352, 1, 0, 0, 0, 2354, 2355, 1, 0, 0, 0, 2355, 2382, 1, 0, 0, 0, 2356, 2357, 3, 277, 138, 0, 2357, 2358, 3, 277, 138, 0, 2358, 2359, 3, 277, 138, 0, 2359, 2360, 3, 277, 138, 0, 2360, 2361, 3, 277, 138, 0, 2361, 2362, 3, 277, 138, 0, 2362, 2363, 3, 277, 138, 0, 2363, 2364, 3, 277, 138, 0, 2364, 2365, 3, 277, 138, 0, 2365, 2366, 3, 277, 138, 0, 2366, 2367, 3, 277, 138, 0, 2367, 2368, 3, 277, 138, 0, 2368, 2369, 3, 277, 138, 0, 2369, 2370, 3, 277, 138, 0, 2370, 2371, 3, 277, 138, 0, 2371, 2372, 3, 277, 138, 0, 2372, 2373, 3, 277, 138, 0, 2373, 2374, 3, 277, 138, 0, 2374, 2375, 3, 277, 138, 0, 2375, 2376, 3, 277, 138, 0, 2376, 2377, 3, 277, 138, 0, 2377, 2378, 3, 277, 138, 0, 2378, 2379, 3, 277, 138, 0, 2379, 2380, 3, 277, 138, 0, 2380, 2382, 1, 0, 0, 0, 2381, 2296, 1, 0, 0, 0, 2381, 2349, 1, 0, 0, 0, 2381, 2356, 1, 0, 0, 0, 2382, 268, 1, 0, 0, 0, 2383, 2385, 5, 34, 0, 0, 2384, 2386, 3, 281, 140, 0, 2385, 2384, 1, 0, 0, 0, 2386, 2387, 1, 0, 0, 0, 2387, 2385, 1, 0, 0, 0, 2387, 2388, 1, 0, 0, 0, 2388, 2389, 1, 0, 0, 0, 2389, 2390, 5, 34, 0, 0, 2390, 2394, 1, 0, 0, 0, 2391, 2392, 5, 34, 0, 0, 2392, 2394, 5, 34, 0, 0, 2393, 2383, 1, 0, 0, 0, 2393, 2391, 1, 0, 0, 0, 2394, 270, 1, 0, 0, 0, 2395, 2401, 3, 275, 137, 0, 2396, 2401, 3, 35, 17, 0, 2397, 2401, 3, 19, 9, 0, 2398, 2401, 3, 33, 16, 0, 2399, 2401, 3, 21, 10, 0, 2400, 2395, 1, 0, 0, 0, 2400, 2396, 1, 0, 0, 0, 2400, 2397, 1, 0, 0, 0, 2400, 2398, 1, 0, 0, 0, 2400, 2399, 1, 0, 0, 0, 2401, 2402, 1, 0, 0, 0, 2402, 2400, 1, 0, 0, 0, 2402, 2403, 1, 0, 0, 0, 2403, 272, 1, 0, 0, 0, 2404, 2405, 5, 36, 0, 0, 2405, 2407, 3, 271, 135, 0, 2406, 2404, 1, 0, 0, 0, 2407, 2408, 1, 0, 0, 0, 2408, 2406, 1, 0, 0, 0, 2408, 2409, 1, 0, 0, 0, 2409, 2411, 1, 0, 0, 0, 2410, 2412, 3, 33, 16, 0, 2411, 2410, 1, 0, 0, 0, 2411, 2412, 1, 0, 0, 0, 2412, 274, 1, 0, 0, 0, 2413, 2414, 7, 1, 0, 0, 2414, 276, 1, 0, 0, 0, 2415, 2416, 7, 2, 0, 0, 2416, 278, 1, 0, 0, 0, 2417, 2418, 7, 3, 0, 0, 2418, 280, 1, 0, 0, 0, 2419, 2423, 8, 4, 0, 0, 2420, 2421, 5, 92, 0, 0, 2421, 2423, 5, 34, 0, 0, 2422, 2419, 1, 0, 0, 0, 2422, 2420, 1, 0, 0, 0, 2423, 282, 1, 0, 0, 0, 2424, 2426, 7, 5, 0, 0, 2425, 2424, 1, 0, 0, 0, 2426, 2427, 1, 0, 0, 0, 2427, 2425, 1, 0, 0, 0, 2427, 2428, 1, 0, 0, 0, 2428, 2429, 1, 0, 0, 0, 2429, 2430, 6, 141, 0, 0, 2430, 284, 1, 0, 0, 0, 2431, 2432, 5, 47, 0, 0, 2432, 2433, 5, 42, 0, 0, 2433, 2437, 1, 0, 0, 0, 2434, 2436, 9, 0, 0, 0, 2435, 2434, 1, 0, 0, 0, 2436, 2439, 1, 0, 0, 0, 2437, 2438, 1, 0, 0, 0, 2437, 2435, 1, 0, 0, 0, 2438, 2440, 1, 0, 0, 0, 2439, 2437, 1, 0, 0, 0, 2440, 2441, 5, 42, 0, 0, 2441, 2442, 5, 47, 0, 0, 2442, 2443, 1, 0, 0, 0, 2443, 2444, 6, 142, 0, 0, 2444, 286, 1, 0, 0, 0, 2445, 2446, 5, 47, 0, 0, 2446, 2447, 5, 47, 0, 0, 2447, 2451, 1, 0, 0, 0, 2448, 2450, 8, 6, 0, 0, 2449, 2448, 1, 0, 0, 0, 2450, 2453, 1, 0, 0, 0, 2451, 2449, 1, 0, 0, 0, 2451, 2452, 1, 0, 0, 0, 2452, 2454, 1, 0, 0, 0, 2453, 2451, 1, 0, 0, 0, 2454, 2455, 6, 143, 0, 0, 2455, 288, 1, 0, 0, 0, 23, 0, 337, 2321, 2324, 2327, 2330, 2333, 2336, 2339, 2342, 2349, 2354, 2381, 2387, 2393, 2400, 2402, 2408, 2411, 2422, 2427, 2437, 2451, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 143, 2474, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 4, 12, 338, 8, 12, 11, 12, 12, 12, 339, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 3, 134, 2340, 8, 134, 1, 134, 3, 134, 2343, 8, 134, 1, 134, 3, 134, 2346, 8, 134, 1, 134, 3, 134, 2349, 8, 134, 1, 134, 3, 134, 2352, 8, 134, 1, 134, 3, 134, 2355, 8, 134, 1, 134, 3, 134, 2358, 8, 134, 1, 134, 3, 134, 2361, 8, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 3, 134, 2368, 8, 134, 1, 134, 4, 134, 2371, 8, 134, 11, 134, 12, 134, 2372, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 3, 134, 2400, 8, 134, 1, 135, 1, 135, 4, 135, 2404, 8, 135, 11, 135, 12, 135, 2405, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 2412, 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 4, 136, 2419, 8, 136, 11, 136, 12, 136, 2420, 1, 137, 1, 137, 4, 137, 2425, 8, 137, 11, 137, 12, 137, 2426, 1, 137, 3, 137, 2430, 8, 137, 1, 138, 1, 138, 1, 139, 1, 139, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 3, 141, 2441, 8, 141, 1, 142, 4, 142, 2444, 8, 142, 11, 142, 12, 142, 2445, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 5, 143, 2454, 8, 143, 10, 143, 12, 143, 2457, 9, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 5, 144, 2468, 8, 144, 10, 144, 12, 144, 2471, 9, 144, 1, 144, 1, 144, 1, 2455, 0, 145, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, 277, 139, 279, 140, 281, 0, 283, 0, 285, 141, 287, 142, 289, 143, 1, 0, 7, 1, 0, 48, 57, 3, 0, 48, 57, 65, 90, 97, 122, 2, 0, 48, 57, 65, 90, 3, 0, 48, 57, 65, 70, 97, 102, 1, 0, 34, 34, 3, 0, 9, 10, 12, 13, 32, 32, 2, 0, 10, 10, 13, 13, 2497, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 1, 291, 1, 0, 0, 0, 3, 293, 1, 0, 0, 0, 5, 295, 1, 0, 0, 0, 7, 297, 1, 0, 0, 0, 9, 299, 1, 0, 0, 0, 11, 301, 1, 0, 0, 0, 13, 303, 1, 0, 0, 0, 15, 305, 1, 0, 0, 0, 17, 320, 1, 0, 0, 0, 19, 328, 1, 0, 0, 0, 21, 330, 1, 0, 0, 0, 23, 332, 1, 0, 0, 0, 25, 337, 1, 0, 0, 0, 27, 341, 1, 0, 0, 0, 29, 355, 1, 0, 0, 0, 31, 363, 1, 0, 0, 0, 33, 374, 1, 0, 0, 0, 35, 376, 1, 0, 0, 0, 37, 378, 1, 0, 0, 0, 39, 397, 1, 0, 0, 0, 41, 410, 1, 0, 0, 0, 43, 432, 1, 0, 0, 0, 45, 455, 1, 0, 0, 0, 47, 472, 1, 0, 0, 0, 49, 496, 1, 0, 0, 0, 51, 505, 1, 0, 0, 0, 53, 526, 1, 0, 0, 0, 55, 542, 1, 0, 0, 0, 57, 558, 1, 0, 0, 0, 59, 569, 1, 0, 0, 0, 61, 587, 1, 0, 0, 0, 63, 610, 1, 0, 0, 0, 65, 635, 1, 0, 0, 0, 67, 656, 1, 0, 0, 0, 69, 676, 1, 0, 0, 0, 71, 692, 1, 0, 0, 0, 73, 713, 1, 0, 0, 0, 75, 733, 1, 0, 0, 0, 77, 763, 1, 0, 0, 0, 79, 795, 1, 0, 0, 0, 81, 810, 1, 0, 0, 0, 83, 826, 1, 0, 0, 0, 85, 834, 1, 0, 0, 0, 87, 845, 1, 0, 0, 0, 89, 861, 1, 0, 0, 0, 91, 871, 1, 0, 0, 0, 93, 892, 1, 0, 0, 0, 95, 903, 1, 0, 0, 0, 97, 916, 1, 0, 0, 0, 99, 925, 1, 0, 0, 0, 101, 942, 1, 0, 0, 0, 103, 960, 1, 0, 0, 0, 105, 975, 1, 0, 0, 0, 107, 987, 1, 0, 0, 0, 109, 996, 1, 0, 0, 0, 111, 1005, 1, 0, 0, 0, 113, 1016, 1, 0, 0, 0, 115, 1031, 1, 0, 0, 0, 117, 1047, 1, 0, 0, 0, 119, 1056, 1, 0, 0, 0, 121, 1075, 1, 0, 0, 0, 123, 1089, 1, 0, 0, 0, 125, 1101, 1, 0, 0, 0, 127, 1109, 1, 0, 0, 0, 129, 1136, 1, 0, 0, 0, 131, 1141, 1, 0, 0, 0, 133, 1146, 1, 0, 0, 0, 135, 1157, 1, 0, 0, 0, 137, 1173, 1, 0, 0, 0, 139, 1179, 1, 0, 0, 0, 141, 1214, 1, 0, 0, 0, 143, 1237, 1, 0, 0, 0, 145, 1249, 1, 0, 0, 0, 147, 1260, 1, 0, 0, 0, 149, 1281, 1, 0, 0, 0, 151, 1295, 1, 0, 0, 0, 153, 1317, 1, 0, 0, 0, 155, 1348, 1, 0, 0, 0, 157, 1361, 1, 0, 0, 0, 159, 1373, 1, 0, 0, 0, 161, 1390, 1, 0, 0, 0, 163, 1402, 1, 0, 0, 0, 165, 1413, 1, 0, 0, 0, 167, 1447, 1, 0, 0, 0, 169, 1482, 1, 0, 0, 0, 171, 1493, 1, 0, 0, 0, 173, 1512, 1, 0, 0, 0, 175, 1547, 1, 0, 0, 0, 177, 1568, 1, 0, 0, 0, 179, 1602, 1, 0, 0, 0, 181, 1626, 1, 0, 0, 0, 183, 1643, 1, 0, 0, 0, 185, 1660, 1, 0, 0, 0, 187, 1677, 1, 0, 0, 0, 189, 1699, 1, 0, 0, 0, 191, 1712, 1, 0, 0, 0, 193, 1728, 1, 0, 0, 0, 195, 1748, 1, 0, 0, 0, 197, 1766, 1, 0, 0, 0, 199, 1787, 1, 0, 0, 0, 201, 1805, 1, 0, 0, 0, 203, 1828, 1, 0, 0, 0, 205, 1841, 1, 0, 0, 0, 207, 1851, 1, 0, 0, 0, 209, 1867, 1, 0, 0, 0, 211, 1885, 1, 0, 0, 0, 213, 1900, 1, 0, 0, 0, 215, 1918, 1, 0, 0, 0, 217, 1930, 1, 0, 0, 0, 219, 1938, 1, 0, 0, 0, 221, 1957, 1, 0, 0, 0, 223, 1968, 1, 0, 0, 0, 225, 1988, 1, 0, 0, 0, 227, 2000, 1, 0, 0, 0, 229, 2010, 1, 0, 0, 0, 231, 2022, 1, 0, 0, 0, 233, 2039, 1, 0, 0, 0, 235, 2046, 1, 0, 0, 0, 237, 2058, 1, 0, 0, 0, 239, 2067, 1, 0, 0, 0, 241, 2077, 1, 0, 0, 0, 243, 2104, 1, 0, 0, 0, 245, 2118, 1, 0, 0, 0, 247, 2126, 1, 0, 0, 0, 249, 2143, 1, 0, 0, 0, 251, 2156, 1, 0, 0, 0, 253, 2167, 1, 0, 0, 0, 255, 2187, 1, 0, 0, 0, 257, 2217, 1, 0, 0, 0, 259, 2242, 1, 0, 0, 0, 261, 2251, 1, 0, 0, 0, 263, 2270, 1, 0, 0, 0, 265, 2285, 1, 0, 0, 0, 267, 2302, 1, 0, 0, 0, 269, 2399, 1, 0, 0, 0, 271, 2411, 1, 0, 0, 0, 273, 2418, 1, 0, 0, 0, 275, 2424, 1, 0, 0, 0, 277, 2431, 1, 0, 0, 0, 279, 2433, 1, 0, 0, 0, 281, 2435, 1, 0, 0, 0, 283, 2440, 1, 0, 0, 0, 285, 2443, 1, 0, 0, 0, 287, 2449, 1, 0, 0, 0, 289, 2463, 1, 0, 0, 0, 291, 292, 5, 123, 0, 0, 292, 2, 1, 0, 0, 0, 293, 294, 5, 125, 0, 0, 294, 4, 1, 0, 0, 0, 295, 296, 5, 61, 0, 0, 296, 6, 1, 0, 0, 0, 297, 298, 5, 59, 0, 0, 298, 8, 1, 0, 0, 0, 299, 300, 5, 40, 0, 0, 300, 10, 1, 0, 0, 0, 301, 302, 5, 44, 0, 0, 302, 12, 1, 0, 0, 0, 303, 304, 5, 41, 0, 0, 304, 14, 1, 0, 0, 0, 305, 306, 5, 97, 0, 0, 306, 307, 5, 114, 0, 0, 307, 308, 5, 99, 0, 0, 308, 309, 5, 104, 0, 0, 309, 310, 5, 105, 0, 0, 310, 311, 5, 118, 0, 0, 311, 312, 5, 101, 0, 0, 312, 313, 5, 86, 0, 0, 313, 314, 5, 101, 0, 0, 314, 315, 5, 114, 0, 0, 315, 316, 5, 115, 0, 0, 316, 317, 5, 105, 0, 0, 317, 318, 5, 111, 0, 0, 318, 319, 5, 110, 0, 0, 319, 16, 1, 0, 0, 0, 320, 321, 5, 99, 0, 0, 321, 322, 5, 108, 0, 0, 322, 323, 5, 97, 0, 0, 323, 324, 5, 115, 0, 0, 324, 325, 5, 115, 0, 0, 325, 326, 5, 101, 0, 0, 326, 327, 5, 115, 0, 0, 327, 18, 1, 0, 0, 0, 328, 329, 5, 45, 0, 0, 329, 20, 1, 0, 0, 0, 330, 331, 5, 46, 0, 0, 331, 22, 1, 0, 0, 0, 332, 333, 5, 105, 0, 0, 333, 334, 5, 115, 0, 0, 334, 335, 5, 97, 0, 0, 335, 24, 1, 0, 0, 0, 336, 338, 7, 0, 0, 0, 337, 336, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 339, 340, 1, 0, 0, 0, 340, 26, 1, 0, 0, 0, 341, 342, 5, 111, 0, 0, 342, 343, 5, 98, 0, 0, 343, 344, 5, 106, 0, 0, 344, 345, 5, 101, 0, 0, 345, 346, 5, 99, 0, 0, 346, 347, 5, 116, 0, 0, 347, 348, 5, 86, 0, 0, 348, 349, 5, 101, 0, 0, 349, 350, 5, 114, 0, 0, 350, 351, 5, 115, 0, 0, 351, 352, 5, 105, 0, 0, 352, 353, 5, 111, 0, 0, 353, 354, 5, 110, 0, 0, 354, 28, 1, 0, 0, 0, 355, 356, 5, 111, 0, 0, 356, 357, 5, 98, 0, 0, 357, 358, 5, 106, 0, 0, 358, 359, 5, 101, 0, 0, 359, 360, 5, 99, 0, 0, 360, 361, 5, 116, 0, 0, 361, 362, 5, 115, 0, 0, 362, 30, 1, 0, 0, 0, 363, 364, 5, 114, 0, 0, 364, 365, 5, 111, 0, 0, 365, 366, 5, 111, 0, 0, 366, 367, 5, 116, 0, 0, 367, 368, 5, 79, 0, 0, 368, 369, 5, 98, 0, 0, 369, 370, 5, 106, 0, 0, 370, 371, 5, 101, 0, 0, 371, 372, 5, 99, 0, 0, 372, 373, 5, 116, 0, 0, 373, 32, 1, 0, 0, 0, 374, 375, 5, 47, 0, 0, 375, 34, 1, 0, 0, 0, 376, 377, 5, 95, 0, 0, 377, 36, 1, 0, 0, 0, 378, 379, 5, 80, 0, 0, 379, 380, 5, 66, 0, 0, 380, 381, 5, 88, 0, 0, 381, 382, 5, 65, 0, 0, 382, 383, 5, 103, 0, 0, 383, 384, 5, 103, 0, 0, 384, 385, 5, 114, 0, 0, 385, 386, 5, 101, 0, 0, 386, 387, 5, 103, 0, 0, 387, 388, 5, 97, 0, 0, 388, 389, 5, 116, 0, 0, 389, 390, 5, 101, 0, 0, 390, 391, 5, 84, 0, 0, 391, 392, 5, 97, 0, 0, 392, 393, 5, 114, 0, 0, 393, 394, 5, 103, 0, 0, 394, 395, 5, 101, 0, 0, 395, 396, 5, 116, 0, 0, 396, 38, 1, 0, 0, 0, 397, 398, 5, 80, 0, 0, 398, 399, 5, 66, 0, 0, 399, 400, 5, 88, 0, 0, 400, 401, 5, 66, 0, 0, 401, 402, 5, 117, 0, 0, 402, 403, 5, 105, 0, 0, 403, 404, 5, 108, 0, 0, 404, 405, 5, 100, 0, 0, 405, 406, 5, 70, 0, 0, 406, 407, 5, 105, 0, 0, 407, 408, 5, 108, 0, 0, 408, 409, 5, 101, 0, 0, 409, 40, 1, 0, 0, 0, 410, 411, 5, 80, 0, 0, 411, 412, 5, 66, 0, 0, 412, 413, 5, 88, 0, 0, 413, 414, 5, 67, 0, 0, 414, 415, 5, 111, 0, 0, 415, 416, 5, 110, 0, 0, 416, 417, 5, 116, 0, 0, 417, 418, 5, 97, 0, 0, 418, 419, 5, 105, 0, 0, 419, 420, 5, 110, 0, 0, 420, 421, 5, 101, 0, 0, 421, 422, 5, 114, 0, 0, 422, 423, 5, 73, 0, 0, 423, 424, 5, 116, 0, 0, 424, 425, 5, 101, 0, 0, 425, 426, 5, 109, 0, 0, 426, 427, 5, 80, 0, 0, 427, 428, 5, 114, 0, 0, 428, 429, 5, 111, 0, 0, 429, 430, 5, 120, 0, 0, 430, 431, 5, 121, 0, 0, 431, 42, 1, 0, 0, 0, 432, 433, 5, 80, 0, 0, 433, 434, 5, 66, 0, 0, 434, 435, 5, 88, 0, 0, 435, 436, 5, 67, 0, 0, 436, 437, 5, 111, 0, 0, 437, 438, 5, 112, 0, 0, 438, 439, 5, 121, 0, 0, 439, 440, 5, 70, 0, 0, 440, 441, 5, 105, 0, 0, 441, 442, 5, 108, 0, 0, 442, 443, 5, 101, 0, 0, 443, 444, 5, 115, 0, 0, 444, 445, 5, 66, 0, 0, 445, 446, 5, 117, 0, 0, 446, 447, 5, 105, 0, 0, 447, 448, 5, 108, 0, 0, 448, 449, 5, 100, 0, 0, 449, 450, 5, 80, 0, 0, 450, 451, 5, 104, 0, 0, 451, 452, 5, 97, 0, 0, 452, 453, 5, 115, 0, 0, 453, 454, 5, 101, 0, 0, 454, 44, 1, 0, 0, 0, 455, 456, 5, 80, 0, 0, 456, 457, 5, 66, 0, 0, 457, 458, 5, 88, 0, 0, 458, 459, 5, 70, 0, 0, 459, 460, 5, 105, 0, 0, 460, 461, 5, 108, 0, 0, 461, 462, 5, 101, 0, 0, 462, 463, 5, 82, 0, 0, 463, 464, 5, 101, 0, 0, 464, 465, 5, 102, 0, 0, 465, 466, 5, 101, 0, 0, 466, 467, 5, 114, 0, 0, 467, 468, 5, 101, 0, 0, 468, 469, 5, 110, 0, 0, 469, 470, 5, 99, 0, 0, 470, 471, 5, 101, 0, 0, 471, 46, 1, 0, 0, 0, 472, 473, 5, 80, 0, 0, 473, 474, 5, 66, 0, 0, 474, 475, 5, 88, 0, 0, 475, 476, 5, 70, 0, 0, 476, 477, 5, 114, 0, 0, 477, 478, 5, 97, 0, 0, 478, 479, 5, 109, 0, 0, 479, 480, 5, 101, 0, 0, 480, 481, 5, 119, 0, 0, 481, 482, 5, 111, 0, 0, 482, 483, 5, 114, 0, 0, 483, 484, 5, 107, 0, 0, 484, 485, 5, 115, 0, 0, 485, 486, 5, 66, 0, 0, 486, 487, 5, 117, 0, 0, 487, 488, 5, 105, 0, 0, 488, 489, 5, 108, 0, 0, 489, 490, 5, 100, 0, 0, 490, 491, 5, 80, 0, 0, 491, 492, 5, 104, 0, 0, 492, 493, 5, 97, 0, 0, 493, 494, 5, 115, 0, 0, 494, 495, 5, 101, 0, 0, 495, 48, 1, 0, 0, 0, 496, 497, 5, 80, 0, 0, 497, 498, 5, 66, 0, 0, 498, 499, 5, 88, 0, 0, 499, 500, 5, 71, 0, 0, 500, 501, 5, 114, 0, 0, 501, 502, 5, 111, 0, 0, 502, 503, 5, 117, 0, 0, 503, 504, 5, 112, 0, 0, 504, 50, 1, 0, 0, 0, 505, 506, 5, 80, 0, 0, 506, 507, 5, 66, 0, 0, 507, 508, 5, 88, 0, 0, 508, 509, 5, 72, 0, 0, 509, 510, 5, 101, 0, 0, 510, 511, 5, 97, 0, 0, 511, 512, 5, 100, 0, 0, 512, 513, 5, 101, 0, 0, 513, 514, 5, 114, 0, 0, 514, 515, 5, 115, 0, 0, 515, 516, 5, 66, 0, 0, 516, 517, 5, 117, 0, 0, 517, 518, 5, 105, 0, 0, 518, 519, 5, 108, 0, 0, 519, 520, 5, 100, 0, 0, 520, 521, 5, 80, 0, 0, 521, 522, 5, 104, 0, 0, 522, 523, 5, 97, 0, 0, 523, 524, 5, 115, 0, 0, 524, 525, 5, 101, 0, 0, 525, 52, 1, 0, 0, 0, 526, 527, 5, 80, 0, 0, 527, 528, 5, 66, 0, 0, 528, 529, 5, 88, 0, 0, 529, 530, 5, 78, 0, 0, 530, 531, 5, 97, 0, 0, 531, 532, 5, 116, 0, 0, 532, 533, 5, 105, 0, 0, 533, 534, 5, 118, 0, 0, 534, 535, 5, 101, 0, 0, 535, 536, 5, 84, 0, 0, 536, 537, 5, 97, 0, 0, 537, 538, 5, 114, 0, 0, 538, 539, 5, 103, 0, 0, 539, 540, 5, 101, 0, 0, 540, 541, 5, 116, 0, 0, 541, 54, 1, 0, 0, 0, 542, 543, 5, 80, 0, 0, 543, 544, 5, 66, 0, 0, 544, 545, 5, 88, 0, 0, 545, 546, 5, 76, 0, 0, 546, 547, 5, 101, 0, 0, 547, 548, 5, 103, 0, 0, 548, 549, 5, 97, 0, 0, 549, 550, 5, 99, 0, 0, 550, 551, 5, 121, 0, 0, 551, 552, 5, 84, 0, 0, 552, 553, 5, 97, 0, 0, 553, 554, 5, 114, 0, 0, 554, 555, 5, 103, 0, 0, 555, 556, 5, 101, 0, 0, 556, 557, 5, 116, 0, 0, 557, 56, 1, 0, 0, 0, 558, 559, 5, 80, 0, 0, 559, 560, 5, 66, 0, 0, 560, 561, 5, 88, 0, 0, 561, 562, 5, 80, 0, 0, 562, 563, 5, 114, 0, 0, 563, 564, 5, 111, 0, 0, 564, 565, 5, 106, 0, 0, 565, 566, 5, 101, 0, 0, 566, 567, 5, 99, 0, 0, 567, 568, 5, 116, 0, 0, 568, 58, 1, 0, 0, 0, 569, 570, 5, 80, 0, 0, 570, 571, 5, 66, 0, 0, 571, 572, 5, 88, 0, 0, 572, 573, 5, 82, 0, 0, 573, 574, 5, 101, 0, 0, 574, 575, 5, 102, 0, 0, 575, 576, 5, 101, 0, 0, 576, 577, 5, 114, 0, 0, 577, 578, 5, 101, 0, 0, 578, 579, 5, 110, 0, 0, 579, 580, 5, 99, 0, 0, 580, 581, 5, 101, 0, 0, 581, 582, 5, 80, 0, 0, 582, 583, 5, 114, 0, 0, 583, 584, 5, 111, 0, 0, 584, 585, 5, 120, 0, 0, 585, 586, 5, 121, 0, 0, 586, 60, 1, 0, 0, 0, 587, 588, 5, 80, 0, 0, 588, 589, 5, 66, 0, 0, 589, 590, 5, 88, 0, 0, 590, 591, 5, 82, 0, 0, 591, 592, 5, 101, 0, 0, 592, 593, 5, 115, 0, 0, 593, 594, 5, 111, 0, 0, 594, 595, 5, 117, 0, 0, 595, 596, 5, 114, 0, 0, 596, 597, 5, 99, 0, 0, 597, 598, 5, 101, 0, 0, 598, 599, 5, 115, 0, 0, 599, 600, 5, 66, 0, 0, 600, 601, 5, 117, 0, 0, 601, 602, 5, 105, 0, 0, 602, 603, 5, 108, 0, 0, 603, 604, 5, 100, 0, 0, 604, 605, 5, 80, 0, 0, 605, 606, 5, 104, 0, 0, 606, 607, 5, 97, 0, 0, 607, 608, 5, 115, 0, 0, 608, 609, 5, 101, 0, 0, 609, 62, 1, 0, 0, 0, 610, 611, 5, 80, 0, 0, 611, 612, 5, 66, 0, 0, 612, 613, 5, 88, 0, 0, 613, 614, 5, 83, 0, 0, 614, 615, 5, 104, 0, 0, 615, 616, 5, 101, 0, 0, 616, 617, 5, 108, 0, 0, 617, 618, 5, 108, 0, 0, 618, 619, 5, 83, 0, 0, 619, 620, 5, 99, 0, 0, 620, 621, 5, 114, 0, 0, 621, 622, 5, 105, 0, 0, 622, 623, 5, 112, 0, 0, 623, 624, 5, 116, 0, 0, 624, 625, 5, 66, 0, 0, 625, 626, 5, 117, 0, 0, 626, 627, 5, 105, 0, 0, 627, 628, 5, 108, 0, 0, 628, 629, 5, 100, 0, 0, 629, 630, 5, 80, 0, 0, 630, 631, 5, 104, 0, 0, 631, 632, 5, 97, 0, 0, 632, 633, 5, 115, 0, 0, 633, 634, 5, 101, 0, 0, 634, 64, 1, 0, 0, 0, 635, 636, 5, 80, 0, 0, 636, 637, 5, 66, 0, 0, 637, 638, 5, 88, 0, 0, 638, 639, 5, 83, 0, 0, 639, 640, 5, 111, 0, 0, 640, 641, 5, 117, 0, 0, 641, 642, 5, 114, 0, 0, 642, 643, 5, 99, 0, 0, 643, 644, 5, 101, 0, 0, 644, 645, 5, 115, 0, 0, 645, 646, 5, 66, 0, 0, 646, 647, 5, 117, 0, 0, 647, 648, 5, 105, 0, 0, 648, 649, 5, 108, 0, 0, 649, 650, 5, 100, 0, 0, 650, 651, 5, 80, 0, 0, 651, 652, 5, 104, 0, 0, 652, 653, 5, 97, 0, 0, 653, 654, 5, 115, 0, 0, 654, 655, 5, 101, 0, 0, 655, 66, 1, 0, 0, 0, 656, 657, 5, 80, 0, 0, 657, 658, 5, 66, 0, 0, 658, 659, 5, 88, 0, 0, 659, 660, 5, 84, 0, 0, 660, 661, 5, 97, 0, 0, 661, 662, 5, 114, 0, 0, 662, 663, 5, 103, 0, 0, 663, 664, 5, 101, 0, 0, 664, 665, 5, 116, 0, 0, 665, 666, 5, 68, 0, 0, 666, 667, 5, 101, 0, 0, 667, 668, 5, 112, 0, 0, 668, 669, 5, 101, 0, 0, 669, 670, 5, 110, 0, 0, 670, 671, 5, 100, 0, 0, 671, 672, 5, 101, 0, 0, 672, 673, 5, 110, 0, 0, 673, 674, 5, 99, 0, 0, 674, 675, 5, 121, 0, 0, 675, 68, 1, 0, 0, 0, 676, 677, 5, 80, 0, 0, 677, 678, 5, 66, 0, 0, 678, 679, 5, 88, 0, 0, 679, 680, 5, 86, 0, 0, 680, 681, 5, 97, 0, 0, 681, 682, 5, 114, 0, 0, 682, 683, 5, 105, 0, 0, 683, 684, 5, 97, 0, 0, 684, 685, 5, 110, 0, 0, 685, 686, 5, 116, 0, 0, 686, 687, 5, 71, 0, 0, 687, 688, 5, 114, 0, 0, 688, 689, 5, 111, 0, 0, 689, 690, 5, 117, 0, 0, 690, 691, 5, 112, 0, 0, 691, 70, 1, 0, 0, 0, 692, 693, 5, 88, 0, 0, 693, 694, 5, 67, 0, 0, 694, 695, 5, 66, 0, 0, 695, 696, 5, 117, 0, 0, 696, 697, 5, 105, 0, 0, 697, 698, 5, 108, 0, 0, 698, 699, 5, 100, 0, 0, 699, 700, 5, 67, 0, 0, 700, 701, 5, 111, 0, 0, 701, 702, 5, 110, 0, 0, 702, 703, 5, 102, 0, 0, 703, 704, 5, 105, 0, 0, 704, 705, 5, 103, 0, 0, 705, 706, 5, 117, 0, 0, 706, 707, 5, 114, 0, 0, 707, 708, 5, 97, 0, 0, 708, 709, 5, 116, 0, 0, 709, 710, 5, 105, 0, 0, 710, 711, 5, 111, 0, 0, 711, 712, 5, 110, 0, 0, 712, 72, 1, 0, 0, 0, 713, 714, 5, 88, 0, 0, 714, 715, 5, 67, 0, 0, 715, 716, 5, 67, 0, 0, 716, 717, 5, 111, 0, 0, 717, 718, 5, 110, 0, 0, 718, 719, 5, 102, 0, 0, 719, 720, 5, 105, 0, 0, 720, 721, 5, 103, 0, 0, 721, 722, 5, 117, 0, 0, 722, 723, 5, 114, 0, 0, 723, 724, 5, 97, 0, 0, 724, 725, 5, 116, 0, 0, 725, 726, 5, 105, 0, 0, 726, 727, 5, 111, 0, 0, 727, 728, 5, 110, 0, 0, 728, 729, 5, 76, 0, 0, 729, 730, 5, 105, 0, 0, 730, 731, 5, 115, 0, 0, 731, 732, 5, 116, 0, 0, 732, 74, 1, 0, 0, 0, 733, 734, 5, 88, 0, 0, 734, 735, 5, 67, 0, 0, 735, 736, 5, 82, 0, 0, 736, 737, 5, 101, 0, 0, 737, 738, 5, 109, 0, 0, 738, 739, 5, 111, 0, 0, 739, 740, 5, 116, 0, 0, 740, 741, 5, 101, 0, 0, 741, 742, 5, 83, 0, 0, 742, 743, 5, 119, 0, 0, 743, 744, 5, 105, 0, 0, 744, 745, 5, 102, 0, 0, 745, 746, 5, 116, 0, 0, 746, 747, 5, 80, 0, 0, 747, 748, 5, 97, 0, 0, 748, 749, 5, 99, 0, 0, 749, 750, 5, 107, 0, 0, 750, 751, 5, 97, 0, 0, 751, 752, 5, 103, 0, 0, 752, 753, 5, 101, 0, 0, 753, 754, 5, 82, 0, 0, 754, 755, 5, 101, 0, 0, 755, 756, 5, 102, 0, 0, 756, 757, 5, 101, 0, 0, 757, 758, 5, 114, 0, 0, 758, 759, 5, 101, 0, 0, 759, 760, 5, 110, 0, 0, 760, 761, 5, 99, 0, 0, 761, 762, 5, 101, 0, 0, 762, 76, 1, 0, 0, 0, 763, 764, 5, 88, 0, 0, 764, 765, 5, 67, 0, 0, 765, 766, 5, 83, 0, 0, 766, 767, 5, 119, 0, 0, 767, 768, 5, 105, 0, 0, 768, 769, 5, 102, 0, 0, 769, 770, 5, 116, 0, 0, 770, 771, 5, 80, 0, 0, 771, 772, 5, 97, 0, 0, 772, 773, 5, 99, 0, 0, 773, 774, 5, 107, 0, 0, 774, 775, 5, 97, 0, 0, 775, 776, 5, 103, 0, 0, 776, 777, 5, 101, 0, 0, 777, 778, 5, 80, 0, 0, 778, 779, 5, 114, 0, 0, 779, 780, 5, 111, 0, 0, 780, 781, 5, 100, 0, 0, 781, 782, 5, 117, 0, 0, 782, 783, 5, 99, 0, 0, 783, 784, 5, 116, 0, 0, 784, 785, 5, 68, 0, 0, 785, 786, 5, 101, 0, 0, 786, 787, 5, 112, 0, 0, 787, 788, 5, 101, 0, 0, 788, 789, 5, 110, 0, 0, 789, 790, 5, 100, 0, 0, 790, 791, 5, 101, 0, 0, 791, 792, 5, 110, 0, 0, 792, 793, 5, 99, 0, 0, 793, 794, 5, 121, 0, 0, 794, 78, 1, 0, 0, 0, 795, 796, 5, 88, 0, 0, 796, 797, 5, 67, 0, 0, 797, 798, 5, 86, 0, 0, 798, 799, 5, 101, 0, 0, 799, 800, 5, 114, 0, 0, 800, 801, 5, 115, 0, 0, 801, 802, 5, 105, 0, 0, 802, 803, 5, 111, 0, 0, 803, 804, 5, 110, 0, 0, 804, 805, 5, 71, 0, 0, 805, 806, 5, 114, 0, 0, 806, 807, 5, 111, 0, 0, 807, 808, 5, 117, 0, 0, 808, 809, 5, 112, 0, 0, 809, 80, 1, 0, 0, 0, 810, 811, 5, 97, 0, 0, 811, 812, 5, 108, 0, 0, 812, 813, 5, 119, 0, 0, 813, 814, 5, 97, 0, 0, 814, 815, 5, 121, 0, 0, 815, 816, 5, 115, 0, 0, 816, 817, 5, 79, 0, 0, 817, 818, 5, 117, 0, 0, 818, 819, 5, 116, 0, 0, 819, 820, 5, 79, 0, 0, 820, 821, 5, 102, 0, 0, 821, 822, 5, 68, 0, 0, 822, 823, 5, 97, 0, 0, 823, 824, 5, 116, 0, 0, 824, 825, 5, 101, 0, 0, 825, 82, 1, 0, 0, 0, 826, 827, 5, 102, 0, 0, 827, 828, 5, 105, 0, 0, 828, 829, 5, 108, 0, 0, 829, 830, 5, 101, 0, 0, 830, 831, 5, 82, 0, 0, 831, 832, 5, 101, 0, 0, 832, 833, 5, 102, 0, 0, 833, 84, 1, 0, 0, 0, 834, 835, 5, 112, 0, 0, 835, 836, 5, 114, 0, 0, 836, 837, 5, 111, 0, 0, 837, 838, 5, 100, 0, 0, 838, 839, 5, 117, 0, 0, 839, 840, 5, 99, 0, 0, 840, 841, 5, 116, 0, 0, 841, 842, 5, 82, 0, 0, 842, 843, 5, 101, 0, 0, 843, 844, 5, 102, 0, 0, 844, 86, 1, 0, 0, 0, 845, 846, 5, 99, 0, 0, 846, 847, 5, 111, 0, 0, 847, 848, 5, 110, 0, 0, 848, 849, 5, 116, 0, 0, 849, 850, 5, 97, 0, 0, 850, 851, 5, 105, 0, 0, 851, 852, 5, 110, 0, 0, 852, 853, 5, 101, 0, 0, 853, 854, 5, 114, 0, 0, 854, 855, 5, 80, 0, 0, 855, 856, 5, 111, 0, 0, 856, 857, 5, 114, 0, 0, 857, 858, 5, 116, 0, 0, 858, 859, 5, 97, 0, 0, 859, 860, 5, 108, 0, 0, 860, 88, 1, 0, 0, 0, 861, 862, 5, 112, 0, 0, 862, 863, 5, 114, 0, 0, 863, 864, 5, 111, 0, 0, 864, 865, 5, 120, 0, 0, 865, 866, 5, 121, 0, 0, 866, 867, 5, 84, 0, 0, 867, 868, 5, 121, 0, 0, 868, 869, 5, 112, 0, 0, 869, 870, 5, 101, 0, 0, 870, 90, 1, 0, 0, 0, 871, 872, 5, 114, 0, 0, 872, 873, 5, 101, 0, 0, 873, 874, 5, 109, 0, 0, 874, 875, 5, 111, 0, 0, 875, 876, 5, 116, 0, 0, 876, 877, 5, 101, 0, 0, 877, 878, 5, 71, 0, 0, 878, 879, 5, 108, 0, 0, 879, 880, 5, 111, 0, 0, 880, 881, 5, 98, 0, 0, 881, 882, 5, 97, 0, 0, 882, 883, 5, 108, 0, 0, 883, 884, 5, 73, 0, 0, 884, 885, 5, 68, 0, 0, 885, 886, 5, 83, 0, 0, 886, 887, 5, 116, 0, 0, 887, 888, 5, 114, 0, 0, 888, 889, 5, 105, 0, 0, 889, 890, 5, 110, 0, 0, 890, 891, 5, 103, 0, 0, 891, 92, 1, 0, 0, 0, 892, 893, 5, 114, 0, 0, 893, 894, 5, 101, 0, 0, 894, 895, 5, 109, 0, 0, 895, 896, 5, 111, 0, 0, 896, 897, 5, 116, 0, 0, 897, 898, 5, 101, 0, 0, 898, 899, 5, 73, 0, 0, 899, 900, 5, 110, 0, 0, 900, 901, 5, 102, 0, 0, 901, 902, 5, 111, 0, 0, 902, 94, 1, 0, 0, 0, 903, 904, 5, 102, 0, 0, 904, 905, 5, 105, 0, 0, 905, 906, 5, 108, 0, 0, 906, 907, 5, 101, 0, 0, 907, 908, 5, 69, 0, 0, 908, 909, 5, 110, 0, 0, 909, 910, 5, 99, 0, 0, 910, 911, 5, 111, 0, 0, 911, 912, 5, 100, 0, 0, 912, 913, 5, 105, 0, 0, 913, 914, 5, 110, 0, 0, 914, 915, 5, 103, 0, 0, 915, 96, 1, 0, 0, 0, 916, 917, 5, 99, 0, 0, 917, 918, 5, 111, 0, 0, 918, 919, 5, 109, 0, 0, 919, 920, 5, 109, 0, 0, 920, 921, 5, 101, 0, 0, 921, 922, 5, 110, 0, 0, 922, 923, 5, 116, 0, 0, 923, 924, 5, 115, 0, 0, 924, 98, 1, 0, 0, 0, 925, 926, 5, 101, 0, 0, 926, 927, 5, 120, 0, 0, 927, 928, 5, 112, 0, 0, 928, 929, 5, 108, 0, 0, 929, 930, 5, 105, 0, 0, 930, 931, 5, 99, 0, 0, 931, 932, 5, 105, 0, 0, 932, 933, 5, 116, 0, 0, 933, 934, 5, 70, 0, 0, 934, 935, 5, 105, 0, 0, 935, 936, 5, 108, 0, 0, 936, 937, 5, 101, 0, 0, 937, 938, 5, 84, 0, 0, 938, 939, 5, 121, 0, 0, 939, 940, 5, 112, 0, 0, 940, 941, 5, 101, 0, 0, 941, 100, 1, 0, 0, 0, 942, 943, 5, 108, 0, 0, 943, 944, 5, 97, 0, 0, 944, 945, 5, 115, 0, 0, 945, 946, 5, 116, 0, 0, 946, 947, 5, 75, 0, 0, 947, 948, 5, 110, 0, 0, 948, 949, 5, 111, 0, 0, 949, 950, 5, 119, 0, 0, 950, 951, 5, 110, 0, 0, 951, 952, 5, 70, 0, 0, 952, 953, 5, 105, 0, 0, 953, 954, 5, 108, 0, 0, 954, 955, 5, 101, 0, 0, 955, 956, 5, 84, 0, 0, 956, 957, 5, 121, 0, 0, 957, 958, 5, 112, 0, 0, 958, 959, 5, 101, 0, 0, 959, 102, 1, 0, 0, 0, 960, 961, 5, 105, 0, 0, 961, 962, 5, 110, 0, 0, 962, 963, 5, 99, 0, 0, 963, 964, 5, 108, 0, 0, 964, 965, 5, 117, 0, 0, 965, 966, 5, 100, 0, 0, 966, 967, 5, 101, 0, 0, 967, 968, 5, 73, 0, 0, 968, 969, 5, 110, 0, 0, 969, 970, 5, 73, 0, 0, 970, 971, 5, 110, 0, 0, 971, 972, 5, 100, 0, 0, 972, 973, 5, 101, 0, 0, 973, 974, 5, 120, 0, 0, 974, 104, 1, 0, 0, 0, 975, 976, 5, 105, 0, 0, 976, 977, 5, 110, 0, 0, 977, 978, 5, 100, 0, 0, 978, 979, 5, 101, 0, 0, 979, 980, 5, 110, 0, 0, 980, 981, 5, 116, 0, 0, 981, 982, 5, 87, 0, 0, 982, 983, 5, 105, 0, 0, 983, 984, 5, 100, 0, 0, 984, 985, 5, 116, 0, 0, 985, 986, 5, 104, 0, 0, 986, 106, 1, 0, 0, 0, 987, 988, 5, 116, 0, 0, 988, 989, 5, 97, 0, 0, 989, 990, 5, 98, 0, 0, 990, 991, 5, 87, 0, 0, 991, 992, 5, 105, 0, 0, 992, 993, 5, 100, 0, 0, 993, 994, 5, 116, 0, 0, 994, 995, 5, 104, 0, 0, 995, 108, 1, 0, 0, 0, 996, 997, 5, 117, 0, 0, 997, 998, 5, 115, 0, 0, 998, 999, 5, 101, 0, 0, 999, 1000, 5, 115, 0, 0, 1000, 1001, 5, 84, 0, 0, 1001, 1002, 5, 97, 0, 0, 1002, 1003, 5, 98, 0, 0, 1003, 1004, 5, 115, 0, 0, 1004, 110, 1, 0, 0, 0, 1005, 1006, 5, 119, 0, 0, 1006, 1007, 5, 114, 0, 0, 1007, 1008, 5, 97, 0, 0, 1008, 1009, 5, 112, 0, 0, 1009, 1010, 5, 115, 0, 0, 1010, 1011, 5, 76, 0, 0, 1011, 1012, 5, 105, 0, 0, 1012, 1013, 5, 110, 0, 0, 1013, 1014, 5, 101, 0, 0, 1014, 1015, 5, 115, 0, 0, 1015, 112, 1, 0, 0, 0, 1016, 1017, 5, 112, 0, 0, 1017, 1018, 5, 108, 0, 0, 1018, 1019, 5, 97, 0, 0, 1019, 1020, 5, 116, 0, 0, 1020, 1021, 5, 102, 0, 0, 1021, 1022, 5, 111, 0, 0, 1022, 1023, 5, 114, 0, 0, 1023, 1024, 5, 109, 0, 0, 1024, 1025, 5, 70, 0, 0, 1025, 1026, 5, 105, 0, 0, 1026, 1027, 5, 108, 0, 0, 1027, 1028, 5, 116, 0, 0, 1028, 1029, 5, 101, 0, 0, 1029, 1030, 5, 114, 0, 0, 1030, 114, 1, 0, 0, 0, 1031, 1032, 5, 112, 0, 0, 1032, 1033, 5, 108, 0, 0, 1033, 1034, 5, 97, 0, 0, 1034, 1035, 5, 116, 0, 0, 1035, 1036, 5, 102, 0, 0, 1036, 1037, 5, 111, 0, 0, 1037, 1038, 5, 114, 0, 0, 1038, 1039, 5, 109, 0, 0, 1039, 1040, 5, 70, 0, 0, 1040, 1041, 5, 105, 0, 0, 1041, 1042, 5, 108, 0, 0, 1042, 1043, 5, 116, 0, 0, 1043, 1044, 5, 101, 0, 0, 1044, 1045, 5, 114, 0, 0, 1045, 1046, 5, 115, 0, 0, 1046, 116, 1, 0, 0, 0, 1047, 1048, 5, 99, 0, 0, 1048, 1049, 5, 104, 0, 0, 1049, 1050, 5, 105, 0, 0, 1050, 1051, 5, 108, 0, 0, 1051, 1052, 5, 100, 0, 0, 1052, 1053, 5, 114, 0, 0, 1053, 1054, 5, 101, 0, 0, 1054, 1055, 5, 110, 0, 0, 1055, 118, 1, 0, 0, 0, 1056, 1057, 5, 112, 0, 0, 1057, 1058, 5, 114, 0, 0, 1058, 1059, 5, 111, 0, 0, 1059, 1060, 5, 100, 0, 0, 1060, 1061, 5, 117, 0, 0, 1061, 1062, 5, 99, 0, 0, 1062, 1063, 5, 116, 0, 0, 1063, 1064, 5, 73, 0, 0, 1064, 1065, 5, 110, 0, 0, 1065, 1066, 5, 115, 0, 0, 1066, 1067, 5, 116, 0, 0, 1067, 1068, 5, 97, 0, 0, 1068, 1069, 5, 108, 0, 0, 1069, 1070, 5, 108, 0, 0, 1070, 1071, 5, 80, 0, 0, 1071, 1072, 5, 97, 0, 0, 1072, 1073, 5, 116, 0, 0, 1073, 1074, 5, 104, 0, 0, 1074, 120, 1, 0, 0, 0, 1075, 1076, 5, 114, 0, 0, 1076, 1077, 5, 101, 0, 0, 1077, 1078, 5, 112, 0, 0, 1078, 1079, 5, 111, 0, 0, 1079, 1080, 5, 115, 0, 0, 1080, 1081, 5, 105, 0, 0, 1081, 1082, 5, 116, 0, 0, 1082, 1083, 5, 111, 0, 0, 1083, 1084, 5, 114, 0, 0, 1084, 1085, 5, 121, 0, 0, 1085, 1086, 5, 85, 0, 0, 1086, 1087, 5, 82, 0, 0, 1087, 1088, 5, 76, 0, 0, 1088, 122, 1, 0, 0, 0, 1089, 1090, 5, 114, 0, 0, 1090, 1091, 5, 101, 0, 0, 1091, 1092, 5, 113, 0, 0, 1092, 1093, 5, 117, 0, 0, 1093, 1094, 5, 105, 0, 0, 1094, 1095, 5, 114, 0, 0, 1095, 1096, 5, 101, 0, 0, 1096, 1097, 5, 109, 0, 0, 1097, 1098, 5, 101, 0, 0, 1098, 1099, 5, 110, 0, 0, 1099, 1100, 5, 116, 0, 0, 1100, 124, 1, 0, 0, 0, 1101, 1102, 5, 112, 0, 0, 1102, 1103, 5, 97, 0, 0, 1103, 1104, 5, 99, 0, 0, 1104, 1105, 5, 107, 0, 0, 1105, 1106, 5, 97, 0, 0, 1106, 1107, 5, 103, 0, 0, 1107, 1108, 5, 101, 0, 0, 1108, 126, 1, 0, 0, 0, 1109, 1110, 5, 112, 0, 0, 1110, 1111, 5, 97, 0, 0, 1111, 1112, 5, 99, 0, 0, 1112, 1113, 5, 107, 0, 0, 1113, 1114, 5, 97, 0, 0, 1114, 1115, 5, 103, 0, 0, 1115, 1116, 5, 101, 0, 0, 1116, 1117, 5, 80, 0, 0, 1117, 1118, 5, 114, 0, 0, 1118, 1119, 5, 111, 0, 0, 1119, 1120, 5, 100, 0, 0, 1120, 1121, 5, 117, 0, 0, 1121, 1122, 5, 99, 0, 0, 1122, 1123, 5, 116, 0, 0, 1123, 1124, 5, 68, 0, 0, 1124, 1125, 5, 101, 0, 0, 1125, 1126, 5, 112, 0, 0, 1126, 1127, 5, 101, 0, 0, 1127, 1128, 5, 110, 0, 0, 1128, 1129, 5, 100, 0, 0, 1129, 1130, 5, 101, 0, 0, 1130, 1131, 5, 110, 0, 0, 1131, 1132, 5, 99, 0, 0, 1132, 1133, 5, 105, 0, 0, 1133, 1134, 5, 101, 0, 0, 1134, 1135, 5, 115, 0, 0, 1135, 128, 1, 0, 0, 0, 1136, 1137, 5, 110, 0, 0, 1137, 1138, 5, 97, 0, 0, 1138, 1139, 5, 109, 0, 0, 1139, 1140, 5, 101, 0, 0, 1140, 130, 1, 0, 0, 0, 1141, 1142, 5, 112, 0, 0, 1142, 1143, 5, 97, 0, 0, 1143, 1144, 5, 116, 0, 0, 1144, 1145, 5, 104, 0, 0, 1145, 132, 1, 0, 0, 0, 1146, 1147, 5, 115, 0, 0, 1147, 1148, 5, 111, 0, 0, 1148, 1149, 5, 117, 0, 0, 1149, 1150, 5, 114, 0, 0, 1150, 1151, 5, 99, 0, 0, 1151, 1152, 5, 101, 0, 0, 1152, 1153, 5, 84, 0, 0, 1153, 1154, 5, 114, 0, 0, 1154, 1155, 5, 101, 0, 0, 1155, 1156, 5, 101, 0, 0, 1156, 134, 1, 0, 0, 0, 1157, 1158, 5, 98, 0, 0, 1158, 1159, 5, 117, 0, 0, 1159, 1160, 5, 105, 0, 0, 1160, 1161, 5, 108, 0, 0, 1161, 1162, 5, 100, 0, 0, 1162, 1163, 5, 65, 0, 0, 1163, 1164, 5, 99, 0, 0, 1164, 1165, 5, 116, 0, 0, 1165, 1166, 5, 105, 0, 0, 1166, 1167, 5, 111, 0, 0, 1167, 1168, 5, 110, 0, 0, 1168, 1169, 5, 77, 0, 0, 1169, 1170, 5, 97, 0, 0, 1170, 1171, 5, 115, 0, 0, 1171, 1172, 5, 107, 0, 0, 1172, 136, 1, 0, 0, 0, 1173, 1174, 5, 102, 0, 0, 1174, 1175, 5, 105, 0, 0, 1175, 1176, 5, 108, 0, 0, 1176, 1177, 5, 101, 0, 0, 1177, 1178, 5, 115, 0, 0, 1178, 138, 1, 0, 0, 0, 1179, 1180, 5, 114, 0, 0, 1180, 1181, 5, 117, 0, 0, 1181, 1182, 5, 110, 0, 0, 1182, 1183, 5, 79, 0, 0, 1183, 1184, 5, 110, 0, 0, 1184, 1185, 5, 108, 0, 0, 1185, 1186, 5, 121, 0, 0, 1186, 1187, 5, 70, 0, 0, 1187, 1188, 5, 111, 0, 0, 1188, 1189, 5, 114, 0, 0, 1189, 1190, 5, 68, 0, 0, 1190, 1191, 5, 101, 0, 0, 1191, 1192, 5, 112, 0, 0, 1192, 1193, 5, 108, 0, 0, 1193, 1194, 5, 111, 0, 0, 1194, 1195, 5, 121, 0, 0, 1195, 1196, 5, 109, 0, 0, 1196, 1197, 5, 101, 0, 0, 1197, 1198, 5, 110, 0, 0, 1198, 1199, 5, 116, 0, 0, 1199, 1200, 5, 80, 0, 0, 1200, 1201, 5, 111, 0, 0, 1201, 1202, 5, 115, 0, 0, 1202, 1203, 5, 116, 0, 0, 1203, 1204, 5, 112, 0, 0, 1204, 1205, 5, 114, 0, 0, 1205, 1206, 5, 111, 0, 0, 1206, 1207, 5, 99, 0, 0, 1207, 1208, 5, 101, 0, 0, 1208, 1209, 5, 115, 0, 0, 1209, 1210, 5, 115, 0, 0, 1210, 1211, 5, 105, 0, 0, 1211, 1212, 5, 110, 0, 0, 1212, 1213, 5, 103, 0, 0, 1213, 140, 1, 0, 0, 0, 1214, 1215, 5, 98, 0, 0, 1215, 1216, 5, 117, 0, 0, 1216, 1217, 5, 105, 0, 0, 1217, 1218, 5, 108, 0, 0, 1218, 1219, 5, 100, 0, 0, 1219, 1220, 5, 67, 0, 0, 1220, 1221, 5, 111, 0, 0, 1221, 1222, 5, 110, 0, 0, 1222, 1223, 5, 102, 0, 0, 1223, 1224, 5, 105, 0, 0, 1224, 1225, 5, 103, 0, 0, 1225, 1226, 5, 117, 0, 0, 1226, 1227, 5, 114, 0, 0, 1227, 1228, 5, 97, 0, 0, 1228, 1229, 5, 116, 0, 0, 1229, 1230, 5, 105, 0, 0, 1230, 1231, 5, 111, 0, 0, 1231, 1232, 5, 110, 0, 0, 1232, 1233, 5, 76, 0, 0, 1233, 1234, 5, 105, 0, 0, 1234, 1235, 5, 115, 0, 0, 1235, 1236, 5, 116, 0, 0, 1236, 142, 1, 0, 0, 0, 1237, 1238, 5, 98, 0, 0, 1238, 1239, 5, 117, 0, 0, 1239, 1240, 5, 105, 0, 0, 1240, 1241, 5, 108, 0, 0, 1241, 1242, 5, 100, 0, 0, 1242, 1243, 5, 80, 0, 0, 1243, 1244, 5, 104, 0, 0, 1244, 1245, 5, 97, 0, 0, 1245, 1246, 5, 115, 0, 0, 1246, 1247, 5, 101, 0, 0, 1247, 1248, 5, 115, 0, 0, 1248, 144, 1, 0, 0, 0, 1249, 1250, 5, 98, 0, 0, 1250, 1251, 5, 117, 0, 0, 1251, 1252, 5, 105, 0, 0, 1252, 1253, 5, 108, 0, 0, 1253, 1254, 5, 100, 0, 0, 1254, 1255, 5, 82, 0, 0, 1255, 1256, 5, 117, 0, 0, 1256, 1257, 5, 108, 0, 0, 1257, 1258, 5, 101, 0, 0, 1258, 1259, 5, 115, 0, 0, 1259, 146, 1, 0, 0, 0, 1260, 1261, 5, 98, 0, 0, 1261, 1262, 5, 117, 0, 0, 1262, 1263, 5, 105, 0, 0, 1263, 1264, 5, 108, 0, 0, 1264, 1265, 5, 100, 0, 0, 1265, 1266, 5, 65, 0, 0, 1266, 1267, 5, 114, 0, 0, 1267, 1268, 5, 103, 0, 0, 1268, 1269, 5, 117, 0, 0, 1269, 1270, 5, 109, 0, 0, 1270, 1271, 5, 101, 0, 0, 1271, 1272, 5, 110, 0, 0, 1272, 1273, 5, 116, 0, 0, 1273, 1274, 5, 115, 0, 0, 1274, 1275, 5, 83, 0, 0, 1275, 1276, 5, 116, 0, 0, 1276, 1277, 5, 114, 0, 0, 1277, 1278, 5, 105, 0, 0, 1278, 1279, 5, 110, 0, 0, 1279, 1280, 5, 103, 0, 0, 1280, 148, 1, 0, 0, 0, 1281, 1282, 5, 98, 0, 0, 1282, 1283, 5, 117, 0, 0, 1283, 1284, 5, 105, 0, 0, 1284, 1285, 5, 108, 0, 0, 1285, 1286, 5, 100, 0, 0, 1286, 1287, 5, 84, 0, 0, 1287, 1288, 5, 111, 0, 0, 1288, 1289, 5, 111, 0, 0, 1289, 1290, 5, 108, 0, 0, 1290, 1291, 5, 80, 0, 0, 1291, 1292, 5, 97, 0, 0, 1292, 1293, 5, 116, 0, 0, 1293, 1294, 5, 104, 0, 0, 1294, 150, 1, 0, 0, 0, 1295, 1296, 5, 98, 0, 0, 1296, 1297, 5, 117, 0, 0, 1297, 1298, 5, 105, 0, 0, 1298, 1299, 5, 108, 0, 0, 1299, 1300, 5, 100, 0, 0, 1300, 1301, 5, 87, 0, 0, 1301, 1302, 5, 111, 0, 0, 1302, 1303, 5, 114, 0, 0, 1303, 1304, 5, 107, 0, 0, 1304, 1305, 5, 105, 0, 0, 1305, 1306, 5, 110, 0, 0, 1306, 1307, 5, 103, 0, 0, 1307, 1308, 5, 68, 0, 0, 1308, 1309, 5, 105, 0, 0, 1309, 1310, 5, 114, 0, 0, 1310, 1311, 5, 101, 0, 0, 1311, 1312, 5, 99, 0, 0, 1312, 1313, 5, 116, 0, 0, 1313, 1314, 5, 111, 0, 0, 1314, 1315, 5, 114, 0, 0, 1315, 1316, 5, 121, 0, 0, 1316, 152, 1, 0, 0, 0, 1317, 1318, 5, 112, 0, 0, 1318, 1319, 5, 97, 0, 0, 1319, 1320, 5, 115, 0, 0, 1320, 1321, 5, 115, 0, 0, 1321, 1322, 5, 66, 0, 0, 1322, 1323, 5, 117, 0, 0, 1323, 1324, 5, 105, 0, 0, 1324, 1325, 5, 108, 0, 0, 1325, 1326, 5, 100, 0, 0, 1326, 1327, 5, 83, 0, 0, 1327, 1328, 5, 101, 0, 0, 1328, 1329, 5, 116, 0, 0, 1329, 1330, 5, 116, 0, 0, 1330, 1331, 5, 105, 0, 0, 1331, 1332, 5, 110, 0, 0, 1332, 1333, 5, 103, 0, 0, 1333, 1334, 5, 115, 0, 0, 1334, 1335, 5, 73, 0, 0, 1335, 1336, 5, 110, 0, 0, 1336, 1337, 5, 69, 0, 0, 1337, 1338, 5, 110, 0, 0, 1338, 1339, 5, 118, 0, 0, 1339, 1340, 5, 105, 0, 0, 1340, 1341, 5, 114, 0, 0, 1341, 1342, 5, 111, 0, 0, 1342, 1343, 5, 110, 0, 0, 1343, 1344, 5, 109, 0, 0, 1344, 1345, 5, 101, 0, 0, 1345, 1346, 5, 110, 0, 0, 1346, 1347, 5, 116, 0, 0, 1347, 154, 1, 0, 0, 0, 1348, 1349, 5, 100, 0, 0, 1349, 1350, 5, 101, 0, 0, 1350, 1351, 5, 112, 0, 0, 1351, 1352, 5, 101, 0, 0, 1352, 1353, 5, 110, 0, 0, 1353, 1354, 5, 100, 0, 0, 1354, 1355, 5, 101, 0, 0, 1355, 1356, 5, 110, 0, 0, 1356, 1357, 5, 99, 0, 0, 1357, 1358, 5, 105, 0, 0, 1358, 1359, 5, 101, 0, 0, 1359, 1360, 5, 115, 0, 0, 1360, 156, 1, 0, 0, 0, 1361, 1362, 5, 112, 0, 0, 1362, 1363, 5, 114, 0, 0, 1363, 1364, 5, 111, 0, 0, 1364, 1365, 5, 100, 0, 0, 1365, 1366, 5, 117, 0, 0, 1366, 1367, 5, 99, 0, 0, 1367, 1368, 5, 116, 0, 0, 1368, 1369, 5, 78, 0, 0, 1369, 1370, 5, 97, 0, 0, 1370, 1371, 5, 109, 0, 0, 1371, 1372, 5, 101, 0, 0, 1372, 158, 1, 0, 0, 0, 1373, 1374, 5, 112, 0, 0, 1374, 1375, 5, 114, 0, 0, 1375, 1376, 5, 111, 0, 0, 1376, 1377, 5, 100, 0, 0, 1377, 1378, 5, 117, 0, 0, 1378, 1379, 5, 99, 0, 0, 1379, 1380, 5, 116, 0, 0, 1380, 1381, 5, 82, 0, 0, 1381, 1382, 5, 101, 0, 0, 1382, 1383, 5, 102, 0, 0, 1383, 1384, 5, 101, 0, 0, 1384, 1385, 5, 114, 0, 0, 1385, 1386, 5, 101, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, 99, 0, 0, 1388, 1389, 5, 101, 0, 0, 1389, 160, 1, 0, 0, 0, 1390, 1391, 5, 112, 0, 0, 1391, 1392, 5, 114, 0, 0, 1392, 1393, 5, 111, 0, 0, 1393, 1394, 5, 100, 0, 0, 1394, 1395, 5, 117, 0, 0, 1395, 1396, 5, 99, 0, 0, 1396, 1397, 5, 116, 0, 0, 1397, 1398, 5, 84, 0, 0, 1398, 1399, 5, 121, 0, 0, 1399, 1400, 5, 112, 0, 0, 1400, 1401, 5, 101, 0, 0, 1401, 162, 1, 0, 0, 0, 1402, 1403, 5, 108, 0, 0, 1403, 1404, 5, 105, 0, 0, 1404, 1405, 5, 110, 0, 0, 1405, 1406, 5, 101, 0, 0, 1406, 1407, 5, 69, 0, 0, 1407, 1408, 5, 110, 0, 0, 1408, 1409, 5, 100, 0, 0, 1409, 1410, 5, 105, 0, 0, 1410, 1411, 5, 110, 0, 0, 1411, 1412, 5, 103, 0, 0, 1412, 164, 1, 0, 0, 0, 1413, 1414, 5, 120, 0, 0, 1414, 1415, 5, 99, 0, 0, 1415, 1416, 5, 76, 0, 0, 1416, 1417, 5, 97, 0, 0, 1417, 1418, 5, 110, 0, 0, 1418, 1419, 5, 103, 0, 0, 1419, 1420, 5, 117, 0, 0, 1420, 1421, 5, 97, 0, 0, 1421, 1422, 5, 103, 0, 0, 1422, 1423, 5, 101, 0, 0, 1423, 1424, 5, 83, 0, 0, 1424, 1425, 5, 112, 0, 0, 1425, 1426, 5, 101, 0, 0, 1426, 1427, 5, 99, 0, 0, 1427, 1428, 5, 105, 0, 0, 1428, 1429, 5, 102, 0, 0, 1429, 1430, 5, 105, 0, 0, 1430, 1431, 5, 99, 0, 0, 1431, 1432, 5, 97, 0, 0, 1432, 1433, 5, 116, 0, 0, 1433, 1434, 5, 105, 0, 0, 1434, 1435, 5, 111, 0, 0, 1435, 1436, 5, 110, 0, 0, 1436, 1437, 5, 73, 0, 0, 1437, 1438, 5, 100, 0, 0, 1438, 1439, 5, 101, 0, 0, 1439, 1440, 5, 110, 0, 0, 1440, 1441, 5, 116, 0, 0, 1441, 1442, 5, 105, 0, 0, 1442, 1443, 5, 102, 0, 0, 1443, 1444, 5, 105, 0, 0, 1444, 1445, 5, 101, 0, 0, 1445, 1446, 5, 114, 0, 0, 1446, 166, 1, 0, 0, 0, 1447, 1448, 5, 112, 0, 0, 1448, 1449, 5, 108, 0, 0, 1449, 1450, 5, 105, 0, 0, 1450, 1451, 5, 115, 0, 0, 1451, 1452, 5, 116, 0, 0, 1452, 1453, 5, 83, 0, 0, 1453, 1454, 5, 116, 0, 0, 1454, 1455, 5, 114, 0, 0, 1455, 1456, 5, 117, 0, 0, 1456, 1457, 5, 99, 0, 0, 1457, 1458, 5, 116, 0, 0, 1458, 1459, 5, 117, 0, 0, 1459, 1460, 5, 114, 0, 0, 1460, 1461, 5, 101, 0, 0, 1461, 1462, 5, 68, 0, 0, 1462, 1463, 5, 101, 0, 0, 1463, 1464, 5, 102, 0, 0, 1464, 1465, 5, 105, 0, 0, 1465, 1466, 5, 110, 0, 0, 1466, 1467, 5, 105, 0, 0, 1467, 1468, 5, 116, 0, 0, 1468, 1469, 5, 105, 0, 0, 1469, 1470, 5, 111, 0, 0, 1470, 1471, 5, 110, 0, 0, 1471, 1472, 5, 73, 0, 0, 1472, 1473, 5, 100, 0, 0, 1473, 1474, 5, 101, 0, 0, 1474, 1475, 5, 110, 0, 0, 1475, 1476, 5, 116, 0, 0, 1476, 1477, 5, 105, 0, 0, 1477, 1478, 5, 102, 0, 0, 1478, 1479, 5, 105, 0, 0, 1479, 1480, 5, 101, 0, 0, 1480, 1481, 5, 114, 0, 0, 1481, 168, 1, 0, 0, 0, 1482, 1483, 5, 97, 0, 0, 1483, 1484, 5, 116, 0, 0, 1484, 1485, 5, 116, 0, 0, 1485, 1486, 5, 114, 0, 0, 1486, 1487, 5, 105, 0, 0, 1487, 1488, 5, 98, 0, 0, 1488, 1489, 5, 117, 0, 0, 1489, 1490, 5, 116, 0, 0, 1490, 1491, 5, 101, 0, 0, 1491, 1492, 5, 115, 0, 0, 1492, 170, 1, 0, 0, 0, 1493, 1494, 5, 76, 0, 0, 1494, 1495, 5, 97, 0, 0, 1495, 1496, 5, 115, 0, 0, 1496, 1497, 5, 116, 0, 0, 1497, 1498, 5, 83, 0, 0, 1498, 1499, 5, 119, 0, 0, 1499, 1500, 5, 105, 0, 0, 1500, 1501, 5, 102, 0, 0, 1501, 1502, 5, 116, 0, 0, 1502, 1503, 5, 77, 0, 0, 1503, 1504, 5, 105, 0, 0, 1504, 1505, 5, 103, 0, 0, 1505, 1506, 5, 114, 0, 0, 1506, 1507, 5, 97, 0, 0, 1507, 1508, 5, 116, 0, 0, 1508, 1509, 5, 105, 0, 0, 1509, 1510, 5, 111, 0, 0, 1510, 1511, 5, 110, 0, 0, 1511, 172, 1, 0, 0, 0, 1512, 1513, 5, 68, 0, 0, 1513, 1514, 5, 101, 0, 0, 1514, 1515, 5, 102, 0, 0, 1515, 1516, 5, 97, 0, 0, 1516, 1517, 5, 117, 0, 0, 1517, 1518, 5, 108, 0, 0, 1518, 1519, 5, 116, 0, 0, 1519, 1520, 5, 66, 0, 0, 1520, 1521, 5, 117, 0, 0, 1521, 1522, 5, 105, 0, 0, 1522, 1523, 5, 108, 0, 0, 1523, 1524, 5, 100, 0, 0, 1524, 1525, 5, 83, 0, 0, 1525, 1526, 5, 121, 0, 0, 1526, 1527, 5, 115, 0, 0, 1527, 1528, 5, 116, 0, 0, 1528, 1529, 5, 101, 0, 0, 1529, 1530, 5, 109, 0, 0, 1530, 1531, 5, 84, 0, 0, 1531, 1532, 5, 121, 0, 0, 1532, 1533, 5, 112, 0, 0, 1533, 1534, 5, 101, 0, 0, 1534, 1535, 5, 70, 0, 0, 1535, 1536, 5, 111, 0, 0, 1536, 1537, 5, 114, 0, 0, 1537, 1538, 5, 87, 0, 0, 1538, 1539, 5, 111, 0, 0, 1539, 1540, 5, 114, 0, 0, 1540, 1541, 5, 107, 0, 0, 1541, 1542, 5, 115, 0, 0, 1542, 1543, 5, 112, 0, 0, 1543, 1544, 5, 97, 0, 0, 1544, 1545, 5, 99, 0, 0, 1545, 1546, 5, 101, 0, 0, 1546, 174, 1, 0, 0, 0, 1547, 1548, 5, 76, 0, 0, 1548, 1549, 5, 97, 0, 0, 1549, 1550, 5, 115, 0, 0, 1550, 1551, 5, 116, 0, 0, 1551, 1552, 5, 83, 0, 0, 1552, 1553, 5, 119, 0, 0, 1553, 1554, 5, 105, 0, 0, 1554, 1555, 5, 102, 0, 0, 1555, 1556, 5, 116, 0, 0, 1556, 1557, 5, 85, 0, 0, 1557, 1558, 5, 112, 0, 0, 1558, 1559, 5, 100, 0, 0, 1559, 1560, 5, 97, 0, 0, 1560, 1561, 5, 116, 0, 0, 1561, 1562, 5, 101, 0, 0, 1562, 1563, 5, 67, 0, 0, 1563, 1564, 5, 104, 0, 0, 1564, 1565, 5, 101, 0, 0, 1565, 1566, 5, 99, 0, 0, 1566, 1567, 5, 107, 0, 0, 1567, 176, 1, 0, 0, 0, 1568, 1569, 5, 66, 0, 0, 1569, 1570, 5, 117, 0, 0, 1570, 1571, 5, 105, 0, 0, 1571, 1572, 5, 108, 0, 0, 1572, 1573, 5, 100, 0, 0, 1573, 1574, 5, 73, 0, 0, 1574, 1575, 5, 110, 0, 0, 1575, 1576, 5, 100, 0, 0, 1576, 1577, 5, 101, 0, 0, 1577, 1578, 5, 112, 0, 0, 1578, 1579, 5, 101, 0, 0, 1579, 1580, 5, 110, 0, 0, 1580, 1581, 5, 100, 0, 0, 1581, 1582, 5, 101, 0, 0, 1582, 1583, 5, 110, 0, 0, 1583, 1584, 5, 116, 0, 0, 1584, 1585, 5, 84, 0, 0, 1585, 1586, 5, 97, 0, 0, 1586, 1587, 5, 114, 0, 0, 1587, 1588, 5, 103, 0, 0, 1588, 1589, 5, 101, 0, 0, 1589, 1590, 5, 116, 0, 0, 1590, 1591, 5, 115, 0, 0, 1591, 1592, 5, 73, 0, 0, 1592, 1593, 5, 110, 0, 0, 1593, 1594, 5, 80, 0, 0, 1594, 1595, 5, 97, 0, 0, 1595, 1596, 5, 114, 0, 0, 1596, 1597, 5, 97, 0, 0, 1597, 1598, 5, 108, 0, 0, 1598, 1599, 5, 108, 0, 0, 1599, 1600, 5, 101, 0, 0, 1600, 1601, 5, 108, 0, 0, 1601, 178, 1, 0, 0, 0, 1602, 1603, 5, 76, 0, 0, 1603, 1604, 5, 97, 0, 0, 1604, 1605, 5, 115, 0, 0, 1605, 1606, 5, 116, 0, 0, 1606, 1607, 5, 84, 0, 0, 1607, 1608, 5, 101, 0, 0, 1608, 1609, 5, 115, 0, 0, 1609, 1610, 5, 116, 0, 0, 1610, 1611, 5, 105, 0, 0, 1611, 1612, 5, 110, 0, 0, 1612, 1613, 5, 103, 0, 0, 1613, 1614, 5, 85, 0, 0, 1614, 1615, 5, 112, 0, 0, 1615, 1616, 5, 103, 0, 0, 1616, 1617, 5, 114, 0, 0, 1617, 1618, 5, 97, 0, 0, 1618, 1619, 5, 100, 0, 0, 1619, 1620, 5, 101, 0, 0, 1620, 1621, 5, 67, 0, 0, 1621, 1622, 5, 104, 0, 0, 1622, 1623, 5, 101, 0, 0, 1623, 1624, 5, 99, 0, 0, 1624, 1625, 5, 107, 0, 0, 1625, 180, 1, 0, 0, 0, 1626, 1627, 5, 76, 0, 0, 1627, 1628, 5, 97, 0, 0, 1628, 1629, 5, 115, 0, 0, 1629, 1630, 5, 116, 0, 0, 1630, 1631, 5, 85, 0, 0, 1631, 1632, 5, 112, 0, 0, 1632, 1633, 5, 103, 0, 0, 1633, 1634, 5, 114, 0, 0, 1634, 1635, 5, 97, 0, 0, 1635, 1636, 5, 100, 0, 0, 1636, 1637, 5, 101, 0, 0, 1637, 1638, 5, 67, 0, 0, 1638, 1639, 5, 104, 0, 0, 1639, 1640, 5, 101, 0, 0, 1640, 1641, 5, 99, 0, 0, 1641, 1642, 5, 107, 0, 0, 1642, 182, 1, 0, 0, 0, 1643, 1644, 5, 79, 0, 0, 1644, 1645, 5, 82, 0, 0, 1645, 1646, 5, 71, 0, 0, 1646, 1647, 5, 65, 0, 0, 1647, 1648, 5, 78, 0, 0, 1648, 1649, 5, 73, 0, 0, 1649, 1650, 5, 90, 0, 0, 1650, 1651, 5, 65, 0, 0, 1651, 1652, 5, 84, 0, 0, 1652, 1653, 5, 73, 0, 0, 1653, 1654, 5, 79, 0, 0, 1654, 1655, 5, 78, 0, 0, 1655, 1656, 5, 78, 0, 0, 1656, 1657, 5, 65, 0, 0, 1657, 1658, 5, 77, 0, 0, 1658, 1659, 5, 69, 0, 0, 1659, 184, 1, 0, 0, 0, 1660, 1661, 5, 84, 0, 0, 1661, 1662, 5, 97, 0, 0, 1662, 1663, 5, 114, 0, 0, 1663, 1664, 5, 103, 0, 0, 1664, 1665, 5, 101, 0, 0, 1665, 1666, 5, 116, 0, 0, 1666, 1667, 5, 65, 0, 0, 1667, 1668, 5, 116, 0, 0, 1668, 1669, 5, 116, 0, 0, 1669, 1670, 5, 114, 0, 0, 1670, 1671, 5, 105, 0, 0, 1671, 1672, 5, 98, 0, 0, 1672, 1673, 5, 117, 0, 0, 1673, 1674, 5, 116, 0, 0, 1674, 1675, 5, 101, 0, 0, 1675, 1676, 5, 115, 0, 0, 1676, 186, 1, 0, 0, 0, 1677, 1678, 5, 67, 0, 0, 1678, 1679, 5, 114, 0, 0, 1679, 1680, 5, 101, 0, 0, 1680, 1681, 5, 97, 0, 0, 1681, 1682, 5, 116, 0, 0, 1682, 1683, 5, 101, 0, 0, 1683, 1684, 5, 100, 0, 0, 1684, 1685, 5, 79, 0, 0, 1685, 1686, 5, 110, 0, 0, 1686, 1687, 5, 84, 0, 0, 1687, 1688, 5, 111, 0, 0, 1688, 1689, 5, 111, 0, 0, 1689, 1690, 5, 108, 0, 0, 1690, 1691, 5, 115, 0, 0, 1691, 1692, 5, 86, 0, 0, 1692, 1693, 5, 101, 0, 0, 1693, 1694, 5, 114, 0, 0, 1694, 1695, 5, 115, 0, 0, 1695, 1696, 5, 105, 0, 0, 1696, 1697, 5, 111, 0, 0, 1697, 1698, 5, 110, 0, 0, 1698, 188, 1, 0, 0, 0, 1699, 1700, 5, 84, 0, 0, 1700, 1701, 5, 101, 0, 0, 1701, 1702, 5, 115, 0, 0, 1702, 1703, 5, 116, 0, 0, 1703, 1704, 5, 84, 0, 0, 1704, 1705, 5, 97, 0, 0, 1705, 1706, 5, 114, 0, 0, 1706, 1707, 5, 103, 0, 0, 1707, 1708, 5, 101, 0, 0, 1708, 1709, 5, 116, 0, 0, 1709, 1710, 5, 73, 0, 0, 1710, 1711, 5, 68, 0, 0, 1711, 190, 1, 0, 0, 0, 1712, 1713, 5, 68, 0, 0, 1713, 1714, 5, 101, 0, 0, 1714, 1715, 5, 118, 0, 0, 1715, 1716, 5, 101, 0, 0, 1716, 1717, 5, 108, 0, 0, 1717, 1718, 5, 111, 0, 0, 1718, 1719, 5, 112, 0, 0, 1719, 1720, 5, 109, 0, 0, 1720, 1721, 5, 101, 0, 0, 1721, 1722, 5, 110, 0, 0, 1722, 1723, 5, 116, 0, 0, 1723, 1724, 5, 84, 0, 0, 1724, 1725, 5, 101, 0, 0, 1725, 1726, 5, 97, 0, 0, 1726, 1727, 5, 109, 0, 0, 1727, 192, 1, 0, 0, 0, 1728, 1729, 5, 68, 0, 0, 1729, 1730, 5, 101, 0, 0, 1730, 1731, 5, 118, 0, 0, 1731, 1732, 5, 101, 0, 0, 1732, 1733, 5, 108, 0, 0, 1733, 1734, 5, 111, 0, 0, 1734, 1735, 5, 112, 0, 0, 1735, 1736, 5, 109, 0, 0, 1736, 1737, 5, 101, 0, 0, 1737, 1738, 5, 110, 0, 0, 1738, 1739, 5, 116, 0, 0, 1739, 1740, 5, 84, 0, 0, 1740, 1741, 5, 101, 0, 0, 1741, 1742, 5, 97, 0, 0, 1742, 1743, 5, 109, 0, 0, 1743, 1744, 5, 78, 0, 0, 1744, 1745, 5, 97, 0, 0, 1745, 1746, 5, 109, 0, 0, 1746, 1747, 5, 101, 0, 0, 1747, 194, 1, 0, 0, 0, 1748, 1749, 5, 80, 0, 0, 1749, 1750, 5, 114, 0, 0, 1750, 1751, 5, 111, 0, 0, 1751, 1752, 5, 118, 0, 0, 1752, 1753, 5, 105, 0, 0, 1753, 1754, 5, 115, 0, 0, 1754, 1755, 5, 105, 0, 0, 1755, 1756, 5, 111, 0, 0, 1756, 1757, 5, 110, 0, 0, 1757, 1758, 5, 105, 0, 0, 1758, 1759, 5, 110, 0, 0, 1759, 1760, 5, 103, 0, 0, 1760, 1761, 5, 83, 0, 0, 1761, 1762, 5, 116, 0, 0, 1762, 1763, 5, 121, 0, 0, 1763, 1764, 5, 108, 0, 0, 1764, 1765, 5, 101, 0, 0, 1765, 196, 1, 0, 0, 0, 1766, 1767, 5, 99, 0, 0, 1767, 1768, 5, 111, 0, 0, 1768, 1769, 5, 109, 0, 0, 1769, 1770, 5, 112, 0, 0, 1770, 1771, 5, 97, 0, 0, 1771, 1772, 5, 116, 0, 0, 1772, 1773, 5, 105, 0, 0, 1773, 1774, 5, 98, 0, 0, 1774, 1775, 5, 105, 0, 0, 1775, 1776, 5, 108, 0, 0, 1776, 1777, 5, 105, 0, 0, 1777, 1778, 5, 116, 0, 0, 1778, 1779, 5, 121, 0, 0, 1779, 1780, 5, 86, 0, 0, 1780, 1781, 5, 101, 0, 0, 1781, 1782, 5, 114, 0, 0, 1782, 1783, 5, 115, 0, 0, 1783, 1784, 5, 105, 0, 0, 1784, 1785, 5, 111, 0, 0, 1785, 1786, 5, 110, 0, 0, 1786, 198, 1, 0, 0, 0, 1787, 1788, 5, 100, 0, 0, 1788, 1789, 5, 101, 0, 0, 1789, 1790, 5, 118, 0, 0, 1790, 1791, 5, 101, 0, 0, 1791, 1792, 5, 108, 0, 0, 1792, 1793, 5, 111, 0, 0, 1793, 1794, 5, 112, 0, 0, 1794, 1795, 5, 109, 0, 0, 1795, 1796, 5, 101, 0, 0, 1796, 1797, 5, 110, 0, 0, 1797, 1798, 5, 116, 0, 0, 1798, 1799, 5, 82, 0, 0, 1799, 1800, 5, 101, 0, 0, 1800, 1801, 5, 103, 0, 0, 1801, 1802, 5, 105, 0, 0, 1802, 1803, 5, 111, 0, 0, 1803, 1804, 5, 110, 0, 0, 1804, 200, 1, 0, 0, 0, 1805, 1806, 5, 104, 0, 0, 1806, 1807, 5, 97, 0, 0, 1807, 1808, 5, 115, 0, 0, 1808, 1809, 5, 83, 0, 0, 1809, 1810, 5, 99, 0, 0, 1810, 1811, 5, 97, 0, 0, 1811, 1812, 5, 110, 0, 0, 1812, 1813, 5, 110, 0, 0, 1813, 1814, 5, 101, 0, 0, 1814, 1815, 5, 100, 0, 0, 1815, 1816, 5, 70, 0, 0, 1816, 1817, 5, 111, 0, 0, 1817, 1818, 5, 114, 0, 0, 1818, 1819, 5, 69, 0, 0, 1819, 1820, 5, 110, 0, 0, 1820, 1821, 5, 99, 0, 0, 1821, 1822, 5, 111, 0, 0, 1822, 1823, 5, 100, 0, 0, 1823, 1824, 5, 105, 0, 0, 1824, 1825, 5, 110, 0, 0, 1825, 1826, 5, 103, 0, 0, 1826, 1827, 5, 115, 0, 0, 1827, 202, 1, 0, 0, 0, 1828, 1829, 5, 107, 0, 0, 1829, 1830, 5, 110, 0, 0, 1830, 1831, 5, 111, 0, 0, 1831, 1832, 5, 119, 0, 0, 1832, 1833, 5, 110, 0, 0, 1833, 1834, 5, 82, 0, 0, 1834, 1835, 5, 101, 0, 0, 1835, 1836, 5, 103, 0, 0, 1836, 1837, 5, 105, 0, 0, 1837, 1838, 5, 111, 0, 0, 1838, 1839, 5, 110, 0, 0, 1839, 1840, 5, 115, 0, 0, 1840, 204, 1, 0, 0, 0, 1841, 1842, 5, 109, 0, 0, 1842, 1843, 5, 97, 0, 0, 1843, 1844, 5, 105, 0, 0, 1844, 1845, 5, 110, 0, 0, 1845, 1846, 5, 71, 0, 0, 1846, 1847, 5, 114, 0, 0, 1847, 1848, 5, 111, 0, 0, 1848, 1849, 5, 117, 0, 0, 1849, 1850, 5, 112, 0, 0, 1850, 206, 1, 0, 0, 0, 1851, 1852, 5, 112, 0, 0, 1852, 1853, 5, 114, 0, 0, 1853, 1854, 5, 111, 0, 0, 1854, 1855, 5, 100, 0, 0, 1855, 1856, 5, 117, 0, 0, 1856, 1857, 5, 99, 0, 0, 1857, 1858, 5, 116, 0, 0, 1858, 1859, 5, 82, 0, 0, 1859, 1860, 5, 101, 0, 0, 1860, 1861, 5, 102, 0, 0, 1861, 1862, 5, 71, 0, 0, 1862, 1863, 5, 114, 0, 0, 1863, 1864, 5, 111, 0, 0, 1864, 1865, 5, 117, 0, 0, 1865, 1866, 5, 112, 0, 0, 1866, 208, 1, 0, 0, 0, 1867, 1868, 5, 112, 0, 0, 1868, 1869, 5, 97, 0, 0, 1869, 1870, 5, 99, 0, 0, 1870, 1871, 5, 107, 0, 0, 1871, 1872, 5, 97, 0, 0, 1872, 1873, 5, 103, 0, 0, 1873, 1874, 5, 101, 0, 0, 1874, 1875, 5, 82, 0, 0, 1875, 1876, 5, 101, 0, 0, 1876, 1877, 5, 102, 0, 0, 1877, 1878, 5, 101, 0, 0, 1878, 1879, 5, 114, 0, 0, 1879, 1880, 5, 101, 0, 0, 1880, 1881, 5, 110, 0, 0, 1881, 1882, 5, 99, 0, 0, 1882, 1883, 5, 101, 0, 0, 1883, 1884, 5, 115, 0, 0, 1884, 210, 1, 0, 0, 0, 1885, 1886, 5, 112, 0, 0, 1886, 1887, 5, 114, 0, 0, 1887, 1888, 5, 111, 0, 0, 1888, 1889, 5, 106, 0, 0, 1889, 1890, 5, 101, 0, 0, 1890, 1891, 5, 99, 0, 0, 1891, 1892, 5, 116, 0, 0, 1892, 1893, 5, 68, 0, 0, 1893, 1894, 5, 105, 0, 0, 1894, 1895, 5, 114, 0, 0, 1895, 1896, 5, 80, 0, 0, 1896, 1897, 5, 97, 0, 0, 1897, 1898, 5, 116, 0, 0, 1898, 1899, 5, 104, 0, 0, 1899, 212, 1, 0, 0, 0, 1900, 1901, 5, 112, 0, 0, 1901, 1902, 5, 114, 0, 0, 1902, 1903, 5, 111, 0, 0, 1903, 1904, 5, 106, 0, 0, 1904, 1905, 5, 101, 0, 0, 1905, 1906, 5, 99, 0, 0, 1906, 1907, 5, 116, 0, 0, 1907, 1908, 5, 82, 0, 0, 1908, 1909, 5, 101, 0, 0, 1909, 1910, 5, 102, 0, 0, 1910, 1911, 5, 101, 0, 0, 1911, 1912, 5, 114, 0, 0, 1912, 1913, 5, 101, 0, 0, 1913, 1914, 5, 110, 0, 0, 1914, 1915, 5, 99, 0, 0, 1915, 1916, 5, 101, 0, 0, 1916, 1917, 5, 115, 0, 0, 1917, 214, 1, 0, 0, 0, 1918, 1919, 5, 112, 0, 0, 1919, 1920, 5, 114, 0, 0, 1920, 1921, 5, 111, 0, 0, 1921, 1922, 5, 106, 0, 0, 1922, 1923, 5, 101, 0, 0, 1923, 1924, 5, 99, 0, 0, 1924, 1925, 5, 116, 0, 0, 1925, 1926, 5, 82, 0, 0, 1926, 1927, 5, 111, 0, 0, 1927, 1928, 5, 111, 0, 0, 1928, 1929, 5, 116, 0, 0, 1929, 216, 1, 0, 0, 0, 1930, 1931, 5, 116, 0, 0, 1931, 1932, 5, 97, 0, 0, 1932, 1933, 5, 114, 0, 0, 1933, 1934, 5, 103, 0, 0, 1934, 1935, 5, 101, 0, 0, 1935, 1936, 5, 116, 0, 0, 1936, 1937, 5, 115, 0, 0, 1937, 218, 1, 0, 0, 0, 1938, 1939, 5, 105, 0, 0, 1939, 1940, 5, 110, 0, 0, 1940, 1941, 5, 112, 0, 0, 1941, 1942, 5, 117, 0, 0, 1942, 1943, 5, 116, 0, 0, 1943, 1944, 5, 70, 0, 0, 1944, 1945, 5, 105, 0, 0, 1945, 1946, 5, 108, 0, 0, 1946, 1947, 5, 101, 0, 0, 1947, 1948, 5, 76, 0, 0, 1948, 1949, 5, 105, 0, 0, 1949, 1950, 5, 115, 0, 0, 1950, 1951, 5, 116, 0, 0, 1951, 1952, 5, 80, 0, 0, 1952, 1953, 5, 97, 0, 0, 1953, 1954, 5, 116, 0, 0, 1954, 1955, 5, 104, 0, 0, 1955, 1956, 5, 115, 0, 0, 1956, 220, 1, 0, 0, 0, 1957, 1958, 5, 105, 0, 0, 1958, 1959, 5, 110, 0, 0, 1959, 1960, 5, 112, 0, 0, 1960, 1961, 5, 117, 0, 0, 1961, 1962, 5, 116, 0, 0, 1962, 1963, 5, 80, 0, 0, 1963, 1964, 5, 97, 0, 0, 1964, 1965, 5, 116, 0, 0, 1965, 1966, 5, 104, 0, 0, 1966, 1967, 5, 115, 0, 0, 1967, 222, 1, 0, 0, 0, 1968, 1969, 5, 111, 0, 0, 1969, 1970, 5, 117, 0, 0, 1970, 1971, 5, 116, 0, 0, 1971, 1972, 5, 112, 0, 0, 1972, 1973, 5, 117, 0, 0, 1973, 1974, 5, 116, 0, 0, 1974, 1975, 5, 70, 0, 0, 1975, 1976, 5, 105, 0, 0, 1976, 1977, 5, 108, 0, 0, 1977, 1978, 5, 101, 0, 0, 1978, 1979, 5, 76, 0, 0, 1979, 1980, 5, 105, 0, 0, 1980, 1981, 5, 115, 0, 0, 1981, 1982, 5, 116, 0, 0, 1982, 1983, 5, 80, 0, 0, 1983, 1984, 5, 97, 0, 0, 1984, 1985, 5, 116, 0, 0, 1985, 1986, 5, 104, 0, 0, 1986, 1987, 5, 115, 0, 0, 1987, 224, 1, 0, 0, 0, 1988, 1989, 5, 111, 0, 0, 1989, 1990, 5, 117, 0, 0, 1990, 1991, 5, 116, 0, 0, 1991, 1992, 5, 112, 0, 0, 1992, 1993, 5, 117, 0, 0, 1993, 1994, 5, 116, 0, 0, 1994, 1995, 5, 80, 0, 0, 1995, 1996, 5, 97, 0, 0, 1996, 1997, 5, 116, 0, 0, 1997, 1998, 5, 104, 0, 0, 1998, 1999, 5, 115, 0, 0, 1999, 226, 1, 0, 0, 0, 2000, 2001, 5, 115, 0, 0, 2001, 2002, 5, 104, 0, 0, 2002, 2003, 5, 101, 0, 0, 2003, 2004, 5, 108, 0, 0, 2004, 2005, 5, 108, 0, 0, 2005, 2006, 5, 80, 0, 0, 2006, 2007, 5, 97, 0, 0, 2007, 2008, 5, 116, 0, 0, 2008, 2009, 5, 104, 0, 0, 2009, 228, 1, 0, 0, 0, 2010, 2011, 5, 115, 0, 0, 2011, 2012, 5, 104, 0, 0, 2012, 2013, 5, 101, 0, 0, 2013, 2014, 5, 108, 0, 0, 2014, 2015, 5, 108, 0, 0, 2015, 2016, 5, 83, 0, 0, 2016, 2017, 5, 99, 0, 0, 2017, 2018, 5, 114, 0, 0, 2018, 2019, 5, 105, 0, 0, 2019, 2020, 5, 112, 0, 0, 2020, 2021, 5, 116, 0, 0, 2021, 230, 1, 0, 0, 0, 2022, 2023, 5, 115, 0, 0, 2023, 2024, 5, 104, 0, 0, 2024, 2025, 5, 111, 0, 0, 2025, 2026, 5, 119, 0, 0, 2026, 2027, 5, 69, 0, 0, 2027, 2028, 5, 110, 0, 0, 2028, 2029, 5, 118, 0, 0, 2029, 2030, 5, 86, 0, 0, 2030, 2031, 5, 97, 0, 0, 2031, 2032, 5, 114, 0, 0, 2032, 2033, 5, 115, 0, 0, 2033, 2034, 5, 73, 0, 0, 2034, 2035, 5, 110, 0, 0, 2035, 2036, 5, 76, 0, 0, 2036, 2037, 5, 111, 0, 0, 2037, 2038, 5, 103, 0, 0, 2038, 232, 1, 0, 0, 0, 2039, 2040, 5, 116, 0, 0, 2040, 2041, 5, 97, 0, 0, 2041, 2042, 5, 114, 0, 0, 2042, 2043, 5, 103, 0, 0, 2043, 2044, 5, 101, 0, 0, 2044, 2045, 5, 116, 0, 0, 2045, 234, 1, 0, 0, 0, 2046, 2047, 5, 116, 0, 0, 2047, 2048, 5, 97, 0, 0, 2048, 2049, 5, 114, 0, 0, 2049, 2050, 5, 103, 0, 0, 2050, 2051, 5, 101, 0, 0, 2051, 2052, 5, 116, 0, 0, 2052, 2053, 5, 80, 0, 0, 2053, 2054, 5, 114, 0, 0, 2054, 2055, 5, 111, 0, 0, 2055, 2056, 5, 120, 0, 0, 2056, 2057, 5, 121, 0, 0, 2057, 236, 1, 0, 0, 0, 2058, 2059, 5, 102, 0, 0, 2059, 2060, 5, 105, 0, 0, 2060, 2061, 5, 108, 0, 0, 2061, 2062, 5, 101, 0, 0, 2062, 2063, 5, 84, 0, 0, 2063, 2064, 5, 121, 0, 0, 2064, 2065, 5, 112, 0, 0, 2065, 2066, 5, 101, 0, 0, 2066, 238, 1, 0, 0, 0, 2067, 2068, 5, 114, 0, 0, 2068, 2069, 5, 101, 0, 0, 2069, 2070, 5, 109, 0, 0, 2070, 2071, 5, 111, 0, 0, 2071, 2072, 5, 116, 0, 0, 2072, 2073, 5, 101, 0, 0, 2073, 2074, 5, 82, 0, 0, 2074, 2075, 5, 101, 0, 0, 2075, 2076, 5, 102, 0, 0, 2076, 240, 1, 0, 0, 0, 2077, 2078, 5, 98, 0, 0, 2078, 2079, 5, 97, 0, 0, 2079, 2080, 5, 115, 0, 0, 2080, 2081, 5, 101, 0, 0, 2081, 2082, 5, 67, 0, 0, 2082, 2083, 5, 111, 0, 0, 2083, 2084, 5, 110, 0, 0, 2084, 2085, 5, 102, 0, 0, 2085, 2086, 5, 105, 0, 0, 2086, 2087, 5, 103, 0, 0, 2087, 2088, 5, 117, 0, 0, 2088, 2089, 5, 114, 0, 0, 2089, 2090, 5, 97, 0, 0, 2090, 2091, 5, 116, 0, 0, 2091, 2092, 5, 105, 0, 0, 2092, 2093, 5, 111, 0, 0, 2093, 2094, 5, 110, 0, 0, 2094, 2095, 5, 82, 0, 0, 2095, 2096, 5, 101, 0, 0, 2096, 2097, 5, 102, 0, 0, 2097, 2098, 5, 101, 0, 0, 2098, 2099, 5, 114, 0, 0, 2099, 2100, 5, 101, 0, 0, 2100, 2101, 5, 110, 0, 0, 2101, 2102, 5, 99, 0, 0, 2102, 2103, 5, 101, 0, 0, 2103, 242, 1, 0, 0, 0, 2104, 2105, 5, 98, 0, 0, 2105, 2106, 5, 117, 0, 0, 2106, 2107, 5, 105, 0, 0, 2107, 2108, 5, 108, 0, 0, 2108, 2109, 5, 100, 0, 0, 2109, 2110, 5, 83, 0, 0, 2110, 2111, 5, 101, 0, 0, 2111, 2112, 5, 116, 0, 0, 2112, 2113, 5, 116, 0, 0, 2113, 2114, 5, 105, 0, 0, 2114, 2115, 5, 110, 0, 0, 2115, 2116, 5, 103, 0, 0, 2116, 2117, 5, 115, 0, 0, 2117, 244, 1, 0, 0, 0, 2118, 2119, 5, 100, 0, 0, 2119, 2120, 5, 115, 0, 0, 2120, 2121, 5, 116, 0, 0, 2121, 2122, 5, 80, 0, 0, 2122, 2123, 5, 97, 0, 0, 2123, 2124, 5, 116, 0, 0, 2124, 2125, 5, 104, 0, 0, 2125, 246, 1, 0, 0, 0, 2126, 2127, 5, 100, 0, 0, 2127, 2128, 5, 115, 0, 0, 2128, 2129, 5, 116, 0, 0, 2129, 2130, 5, 83, 0, 0, 2130, 2131, 5, 117, 0, 0, 2131, 2132, 5, 98, 0, 0, 2132, 2133, 5, 102, 0, 0, 2133, 2134, 5, 111, 0, 0, 2134, 2135, 5, 108, 0, 0, 2135, 2136, 5, 100, 0, 0, 2136, 2137, 5, 101, 0, 0, 2137, 2138, 5, 114, 0, 0, 2138, 2139, 5, 83, 0, 0, 2139, 2140, 5, 112, 0, 0, 2140, 2141, 5, 101, 0, 0, 2141, 2142, 5, 99, 0, 0, 2142, 248, 1, 0, 0, 0, 2143, 2144, 5, 80, 0, 0, 2144, 2145, 5, 114, 0, 0, 2145, 2146, 5, 111, 0, 0, 2146, 2147, 5, 100, 0, 0, 2147, 2148, 5, 117, 0, 0, 2148, 2149, 5, 99, 0, 0, 2149, 2150, 5, 116, 0, 0, 2150, 2151, 5, 71, 0, 0, 2151, 2152, 5, 114, 0, 0, 2152, 2153, 5, 111, 0, 0, 2153, 2154, 5, 117, 0, 0, 2154, 2155, 5, 112, 0, 0, 2155, 250, 1, 0, 0, 0, 2156, 2157, 5, 80, 0, 0, 2157, 2158, 5, 114, 0, 0, 2158, 2159, 5, 111, 0, 0, 2159, 2160, 5, 106, 0, 0, 2160, 2161, 5, 101, 0, 0, 2161, 2162, 5, 99, 0, 0, 2162, 2163, 5, 116, 0, 0, 2163, 2164, 5, 82, 0, 0, 2164, 2165, 5, 101, 0, 0, 2165, 2166, 5, 102, 0, 0, 2166, 252, 1, 0, 0, 0, 2167, 2168, 5, 98, 0, 0, 2168, 2169, 5, 117, 0, 0, 2169, 2170, 5, 105, 0, 0, 2170, 2171, 5, 108, 0, 0, 2171, 2172, 5, 100, 0, 0, 2172, 2173, 5, 67, 0, 0, 2173, 2174, 5, 111, 0, 0, 2174, 2175, 5, 110, 0, 0, 2175, 2176, 5, 102, 0, 0, 2176, 2177, 5, 105, 0, 0, 2177, 2178, 5, 103, 0, 0, 2178, 2179, 5, 117, 0, 0, 2179, 2180, 5, 114, 0, 0, 2180, 2181, 5, 97, 0, 0, 2181, 2182, 5, 116, 0, 0, 2182, 2183, 5, 105, 0, 0, 2183, 2184, 5, 111, 0, 0, 2184, 2185, 5, 110, 0, 0, 2185, 2186, 5, 115, 0, 0, 2186, 254, 1, 0, 0, 0, 2187, 2188, 5, 100, 0, 0, 2188, 2189, 5, 101, 0, 0, 2189, 2190, 5, 102, 0, 0, 2190, 2191, 5, 97, 0, 0, 2191, 2192, 5, 117, 0, 0, 2192, 2193, 5, 108, 0, 0, 2193, 2194, 5, 116, 0, 0, 2194, 2195, 5, 67, 0, 0, 2195, 2196, 5, 111, 0, 0, 2196, 2197, 5, 110, 0, 0, 2197, 2198, 5, 102, 0, 0, 2198, 2199, 5, 105, 0, 0, 2199, 2200, 5, 103, 0, 0, 2200, 2201, 5, 117, 0, 0, 2201, 2202, 5, 114, 0, 0, 2202, 2203, 5, 97, 0, 0, 2203, 2204, 5, 116, 0, 0, 2204, 2205, 5, 105, 0, 0, 2205, 2206, 5, 111, 0, 0, 2206, 2207, 5, 110, 0, 0, 2207, 2208, 5, 73, 0, 0, 2208, 2209, 5, 115, 0, 0, 2209, 2210, 5, 86, 0, 0, 2210, 2211, 5, 105, 0, 0, 2211, 2212, 5, 115, 0, 0, 2212, 2213, 5, 105, 0, 0, 2213, 2214, 5, 98, 0, 0, 2214, 2215, 5, 108, 0, 0, 2215, 2216, 5, 101, 0, 0, 2216, 256, 1, 0, 0, 0, 2217, 2218, 5, 100, 0, 0, 2218, 2219, 5, 101, 0, 0, 2219, 2220, 5, 102, 0, 0, 2220, 2221, 5, 97, 0, 0, 2221, 2222, 5, 117, 0, 0, 2222, 2223, 5, 108, 0, 0, 2223, 2224, 5, 116, 0, 0, 2224, 2225, 5, 67, 0, 0, 2225, 2226, 5, 111, 0, 0, 2226, 2227, 5, 110, 0, 0, 2227, 2228, 5, 102, 0, 0, 2228, 2229, 5, 105, 0, 0, 2229, 2230, 5, 103, 0, 0, 2230, 2231, 5, 117, 0, 0, 2231, 2232, 5, 114, 0, 0, 2232, 2233, 5, 97, 0, 0, 2233, 2234, 5, 116, 0, 0, 2234, 2235, 5, 105, 0, 0, 2235, 2236, 5, 111, 0, 0, 2236, 2237, 5, 110, 0, 0, 2237, 2238, 5, 78, 0, 0, 2238, 2239, 5, 97, 0, 0, 2239, 2240, 5, 109, 0, 0, 2240, 2241, 5, 101, 0, 0, 2241, 258, 1, 0, 0, 0, 2242, 2243, 5, 115, 0, 0, 2243, 2244, 5, 101, 0, 0, 2244, 2245, 5, 116, 0, 0, 2245, 2246, 5, 116, 0, 0, 2246, 2247, 5, 105, 0, 0, 2247, 2248, 5, 110, 0, 0, 2248, 2249, 5, 103, 0, 0, 2249, 2250, 5, 115, 0, 0, 2250, 260, 1, 0, 0, 0, 2251, 2252, 5, 83, 0, 0, 2252, 2253, 5, 121, 0, 0, 2253, 2254, 5, 115, 0, 0, 2254, 2255, 5, 116, 0, 0, 2255, 2256, 5, 101, 0, 0, 2256, 2257, 5, 109, 0, 0, 2257, 2258, 5, 67, 0, 0, 2258, 2259, 5, 97, 0, 0, 2259, 2260, 5, 112, 0, 0, 2260, 2261, 5, 97, 0, 0, 2261, 2262, 5, 98, 0, 0, 2262, 2263, 5, 105, 0, 0, 2263, 2264, 5, 108, 0, 0, 2264, 2265, 5, 105, 0, 0, 2265, 2266, 5, 116, 0, 0, 2266, 2267, 5, 105, 0, 0, 2267, 2268, 5, 101, 0, 0, 2268, 2269, 5, 115, 0, 0, 2269, 262, 1, 0, 0, 0, 2270, 2271, 5, 99, 0, 0, 2271, 2272, 5, 117, 0, 0, 2272, 2273, 5, 114, 0, 0, 2273, 2274, 5, 114, 0, 0, 2274, 2275, 5, 101, 0, 0, 2275, 2276, 5, 110, 0, 0, 2276, 2277, 5, 116, 0, 0, 2277, 2278, 5, 86, 0, 0, 2278, 2279, 5, 101, 0, 0, 2279, 2280, 5, 114, 0, 0, 2280, 2281, 5, 115, 0, 0, 2281, 2282, 5, 105, 0, 0, 2282, 2283, 5, 111, 0, 0, 2283, 2284, 5, 110, 0, 0, 2284, 264, 1, 0, 0, 0, 2285, 2286, 5, 118, 0, 0, 2286, 2287, 5, 101, 0, 0, 2287, 2288, 5, 114, 0, 0, 2288, 2289, 5, 115, 0, 0, 2289, 2290, 5, 105, 0, 0, 2290, 2291, 5, 111, 0, 0, 2291, 2292, 5, 110, 0, 0, 2292, 2293, 5, 71, 0, 0, 2293, 2294, 5, 114, 0, 0, 2294, 2295, 5, 111, 0, 0, 2295, 2296, 5, 117, 0, 0, 2296, 2297, 5, 112, 0, 0, 2297, 2298, 5, 84, 0, 0, 2298, 2299, 5, 121, 0, 0, 2299, 2300, 5, 112, 0, 0, 2300, 2301, 5, 101, 0, 0, 2301, 266, 1, 0, 0, 0, 2302, 2303, 5, 67, 0, 0, 2303, 2304, 5, 76, 0, 0, 2304, 2305, 5, 65, 0, 0, 2305, 2306, 5, 83, 0, 0, 2306, 2307, 5, 83, 0, 0, 2307, 2308, 5, 80, 0, 0, 2308, 2309, 5, 82, 0, 0, 2309, 2310, 5, 69, 0, 0, 2310, 2311, 5, 70, 0, 0, 2311, 2312, 5, 73, 0, 0, 2312, 2313, 5, 88, 0, 0, 2313, 268, 1, 0, 0, 0, 2314, 2315, 3, 281, 140, 0, 2315, 2316, 3, 281, 140, 0, 2316, 2317, 3, 281, 140, 0, 2317, 2318, 3, 281, 140, 0, 2318, 2319, 3, 281, 140, 0, 2319, 2320, 3, 281, 140, 0, 2320, 2321, 3, 281, 140, 0, 2321, 2322, 3, 281, 140, 0, 2322, 2323, 3, 281, 140, 0, 2323, 2324, 3, 281, 140, 0, 2324, 2325, 3, 281, 140, 0, 2325, 2326, 3, 281, 140, 0, 2326, 2327, 3, 281, 140, 0, 2327, 2328, 3, 281, 140, 0, 2328, 2329, 3, 281, 140, 0, 2329, 2330, 3, 281, 140, 0, 2330, 2331, 3, 281, 140, 0, 2331, 2332, 3, 281, 140, 0, 2332, 2333, 3, 281, 140, 0, 2333, 2334, 3, 281, 140, 0, 2334, 2335, 3, 281, 140, 0, 2335, 2336, 3, 281, 140, 0, 2336, 2337, 3, 281, 140, 0, 2337, 2339, 3, 281, 140, 0, 2338, 2340, 3, 281, 140, 0, 2339, 2338, 1, 0, 0, 0, 2339, 2340, 1, 0, 0, 0, 2340, 2342, 1, 0, 0, 0, 2341, 2343, 3, 281, 140, 0, 2342, 2341, 1, 0, 0, 0, 2342, 2343, 1, 0, 0, 0, 2343, 2345, 1, 0, 0, 0, 2344, 2346, 3, 281, 140, 0, 2345, 2344, 1, 0, 0, 0, 2345, 2346, 1, 0, 0, 0, 2346, 2348, 1, 0, 0, 0, 2347, 2349, 3, 281, 140, 0, 2348, 2347, 1, 0, 0, 0, 2348, 2349, 1, 0, 0, 0, 2349, 2351, 1, 0, 0, 0, 2350, 2352, 3, 281, 140, 0, 2351, 2350, 1, 0, 0, 0, 2351, 2352, 1, 0, 0, 0, 2352, 2354, 1, 0, 0, 0, 2353, 2355, 3, 281, 140, 0, 2354, 2353, 1, 0, 0, 0, 2354, 2355, 1, 0, 0, 0, 2355, 2357, 1, 0, 0, 0, 2356, 2358, 3, 281, 140, 0, 2357, 2356, 1, 0, 0, 0, 2357, 2358, 1, 0, 0, 0, 2358, 2360, 1, 0, 0, 0, 2359, 2361, 3, 281, 140, 0, 2360, 2359, 1, 0, 0, 0, 2360, 2361, 1, 0, 0, 0, 2361, 2400, 1, 0, 0, 0, 2362, 2363, 5, 70, 0, 0, 2363, 2364, 5, 82, 0, 0, 2364, 2368, 5, 95, 0, 0, 2365, 2366, 5, 71, 0, 0, 2366, 2368, 5, 95, 0, 0, 2367, 2362, 1, 0, 0, 0, 2367, 2365, 1, 0, 0, 0, 2368, 2370, 1, 0, 0, 0, 2369, 2371, 3, 281, 140, 0, 2370, 2369, 1, 0, 0, 0, 2371, 2372, 1, 0, 0, 0, 2372, 2370, 1, 0, 0, 0, 2372, 2373, 1, 0, 0, 0, 2373, 2400, 1, 0, 0, 0, 2374, 2375, 3, 279, 139, 0, 2375, 2376, 3, 279, 139, 0, 2376, 2377, 3, 279, 139, 0, 2377, 2378, 3, 279, 139, 0, 2378, 2379, 3, 279, 139, 0, 2379, 2380, 3, 279, 139, 0, 2380, 2381, 3, 279, 139, 0, 2381, 2382, 3, 279, 139, 0, 2382, 2383, 3, 279, 139, 0, 2383, 2384, 3, 279, 139, 0, 2384, 2385, 3, 279, 139, 0, 2385, 2386, 3, 279, 139, 0, 2386, 2387, 3, 279, 139, 0, 2387, 2388, 3, 279, 139, 0, 2388, 2389, 3, 279, 139, 0, 2389, 2390, 3, 279, 139, 0, 2390, 2391, 3, 279, 139, 0, 2391, 2392, 3, 279, 139, 0, 2392, 2393, 3, 279, 139, 0, 2393, 2394, 3, 279, 139, 0, 2394, 2395, 3, 279, 139, 0, 2395, 2396, 3, 279, 139, 0, 2396, 2397, 3, 279, 139, 0, 2397, 2398, 3, 279, 139, 0, 2398, 2400, 1, 0, 0, 0, 2399, 2314, 1, 0, 0, 0, 2399, 2367, 1, 0, 0, 0, 2399, 2374, 1, 0, 0, 0, 2400, 270, 1, 0, 0, 0, 2401, 2403, 5, 34, 0, 0, 2402, 2404, 3, 283, 141, 0, 2403, 2402, 1, 0, 0, 0, 2404, 2405, 1, 0, 0, 0, 2405, 2403, 1, 0, 0, 0, 2405, 2406, 1, 0, 0, 0, 2406, 2407, 1, 0, 0, 0, 2407, 2408, 5, 34, 0, 0, 2408, 2412, 1, 0, 0, 0, 2409, 2410, 5, 34, 0, 0, 2410, 2412, 5, 34, 0, 0, 2411, 2401, 1, 0, 0, 0, 2411, 2409, 1, 0, 0, 0, 2412, 272, 1, 0, 0, 0, 2413, 2419, 3, 277, 138, 0, 2414, 2419, 3, 35, 17, 0, 2415, 2419, 3, 19, 9, 0, 2416, 2419, 3, 33, 16, 0, 2417, 2419, 3, 21, 10, 0, 2418, 2413, 1, 0, 0, 0, 2418, 2414, 1, 0, 0, 0, 2418, 2415, 1, 0, 0, 0, 2418, 2416, 1, 0, 0, 0, 2418, 2417, 1, 0, 0, 0, 2419, 2420, 1, 0, 0, 0, 2420, 2418, 1, 0, 0, 0, 2420, 2421, 1, 0, 0, 0, 2421, 274, 1, 0, 0, 0, 2422, 2423, 5, 36, 0, 0, 2423, 2425, 3, 273, 136, 0, 2424, 2422, 1, 0, 0, 0, 2425, 2426, 1, 0, 0, 0, 2426, 2424, 1, 0, 0, 0, 2426, 2427, 1, 0, 0, 0, 2427, 2429, 1, 0, 0, 0, 2428, 2430, 3, 33, 16, 0, 2429, 2428, 1, 0, 0, 0, 2429, 2430, 1, 0, 0, 0, 2430, 276, 1, 0, 0, 0, 2431, 2432, 7, 1, 0, 0, 2432, 278, 1, 0, 0, 0, 2433, 2434, 7, 2, 0, 0, 2434, 280, 1, 0, 0, 0, 2435, 2436, 7, 3, 0, 0, 2436, 282, 1, 0, 0, 0, 2437, 2441, 8, 4, 0, 0, 2438, 2439, 5, 92, 0, 0, 2439, 2441, 5, 34, 0, 0, 2440, 2437, 1, 0, 0, 0, 2440, 2438, 1, 0, 0, 0, 2441, 284, 1, 0, 0, 0, 2442, 2444, 7, 5, 0, 0, 2443, 2442, 1, 0, 0, 0, 2444, 2445, 1, 0, 0, 0, 2445, 2443, 1, 0, 0, 0, 2445, 2446, 1, 0, 0, 0, 2446, 2447, 1, 0, 0, 0, 2447, 2448, 6, 142, 0, 0, 2448, 286, 1, 0, 0, 0, 2449, 2450, 5, 47, 0, 0, 2450, 2451, 5, 42, 0, 0, 2451, 2455, 1, 0, 0, 0, 2452, 2454, 9, 0, 0, 0, 2453, 2452, 1, 0, 0, 0, 2454, 2457, 1, 0, 0, 0, 2455, 2456, 1, 0, 0, 0, 2455, 2453, 1, 0, 0, 0, 2456, 2458, 1, 0, 0, 0, 2457, 2455, 1, 0, 0, 0, 2458, 2459, 5, 42, 0, 0, 2459, 2460, 5, 47, 0, 0, 2460, 2461, 1, 0, 0, 0, 2461, 2462, 6, 143, 0, 0, 2462, 288, 1, 0, 0, 0, 2463, 2464, 5, 47, 0, 0, 2464, 2465, 5, 47, 0, 0, 2465, 2469, 1, 0, 0, 0, 2466, 2468, 8, 6, 0, 0, 2467, 2466, 1, 0, 0, 0, 2468, 2471, 1, 0, 0, 0, 2469, 2467, 1, 0, 0, 0, 2469, 2470, 1, 0, 0, 0, 2470, 2472, 1, 0, 0, 0, 2471, 2469, 1, 0, 0, 0, 2472, 2473, 6, 144, 0, 0, 2473, 290, 1, 0, 0, 0, 23, 0, 339, 2339, 2342, 2345, 2348, 2351, 2354, 2357, 2360, 2367, 2372, 2399, 2405, 2411, 2418, 2420, 2426, 2429, 2440, 2445, 2455, 2469, 1, 6, 0, 0] \ No newline at end of file diff --git a/kin/grammar/PBXProjLexer.py b/kin/grammar/PBXProjLexer.py index aaa404f..9402f60 100644 --- a/kin/grammar/PBXProjLexer.py +++ b/kin/grammar/PBXProjLexer.py @@ -10,7 +10,7 @@ def serializedATN(): return [ - 4,0,142,2456,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7, + 4,0,143,2474,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7, 5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12, 2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19, 7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25, @@ -33,904 +33,912 @@ def serializedATN(): 7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130, 2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136, 7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141, - 2,142,7,142,2,143,7,143,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4, - 1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7, - 1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,10,1,10,1, - 11,1,11,1,11,1,11,1,12,4,12,336,8,12,11,12,12,12,337,1,13,1,13,1, - 13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1, - 14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1, - 15,1,15,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,18,1, - 18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1, - 18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1, - 19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1, - 20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1, - 21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1, - 21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1, - 22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1, - 23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1, - 23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1, - 24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1, - 25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1, - 25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1, - 26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1, - 27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1, - 28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1, - 29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1, - 30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1, - 30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1, - 31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1, - 31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1, - 32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1, - 32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1, - 33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1, - 34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1, - 35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1, - 36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1, - 37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1, - 37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1, - 37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1, - 38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1, - 38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1, - 39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1, - 40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1, - 41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1, - 42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1, - 43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1, - 44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1, - 45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1, - 46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1, - 47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1, - 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1, - 49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1, - 49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1, - 50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1, - 51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1, - 53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1, - 54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1, - 55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1, - 56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1, - 57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1, - 58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1, - 58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1, - 59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1, - 60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1, - 62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1, - 62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1, - 63,1,63,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1, - 65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1, - 66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1, - 67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1, - 68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1, - 68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1, - 69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1, - 69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1, - 70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1, - 71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1, - 72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1, - 73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1, - 74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1, - 74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1, - 75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1, - 75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1, - 75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1, - 76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1, - 78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1, - 78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1, - 79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1, - 80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1, - 81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1, - 81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1, - 82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1, - 82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1, - 82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1, - 83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1, - 84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1, - 85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1, - 85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1, - 85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1, - 86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1, - 87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1, - 87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1, - 87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1, - 88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1, - 88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1, - 89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1, - 90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1, - 90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1, - 91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1, - 92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1, - 92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1, - 93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1, - 94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1, - 95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1, - 96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1, - 96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1, - 97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1, - 98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1, - 98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1, - 99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1, - 100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100, - 1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101, - 1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102, - 1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103, + 2,142,7,142,2,143,7,143,2,144,7,144,1,0,1,0,1,1,1,1,1,2,1,2,1,3, + 1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7, + 1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9, + 1,10,1,10,1,11,1,11,1,11,1,11,1,12,4,12,338,8,12,11,12,12,12,339, + 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13, + 1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18, + 1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18, + 1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19, + 1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20, + 1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20, + 1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21, + 1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22, + 1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22, + 1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23, + 1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24, + 1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28, + 1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29, + 1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31, + 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31, + 1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32, + 1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32, + 1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33, + 1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34, + 1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34, + 1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35, + 1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36, + 1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36, + 1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37, + 1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37, + 1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38, + 1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38, + 1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39, + 1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39, + 1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40, + 1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42, + 1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43, + 1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43, + 1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45, + 1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45, + 1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46, + 1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47, + 1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49, + 1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49, + 1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50, + 1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51, + 1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52, + 1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53, + 1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54, + 1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56, + 1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56, + 1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57, + 1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58, + 1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59, + 1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60, + 1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61, + 1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62, + 1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63, + 1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63, + 1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,66, + 1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67, + 1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67, + 1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69, + 1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69, + 1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69, + 1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70, + 1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71, + 1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72, + 1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73, + 1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73, + 1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74, + 1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75, + 1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75, + 1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76, + 1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76, + 1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77, + 1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78, + 1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79, + 1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80, + 1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81, + 1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82, + 1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82, + 1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82, + 1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83, + 1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83, + 1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84, + 1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85, + 1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85, + 1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86, + 1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86, + 1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87, + 1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87, + 1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88, + 1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88, + 1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88, + 1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89, + 1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90, + 1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90, + 1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91, + 1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92, + 1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93, + 1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93, + 1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94, + 1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95, + 1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96, + 1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96, + 1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97, + 1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98, + 1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98, + 1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99, + 1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100, + 1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100, + 1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101, + 1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102, + 1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103, 1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103, - 1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104, - 1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105, + 1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104, + 1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105, 1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105, - 1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106, - 1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107, - 1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108, + 1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106, + 1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107, + 1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107, 1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109, - 1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110, - 1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110, - 1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111, - 1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112, - 1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113, - 1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114, - 1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114, - 1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116, - 1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117, - 1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118, - 1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119, - 1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119, - 1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119, - 1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120, - 1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121, - 1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122, - 1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123, - 1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124, - 1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125, - 1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125, - 1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126, - 1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126, + 1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109, + 1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110, + 1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111, + 1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111, + 1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112, + 1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113, + 1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114, + 1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115, + 1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116, + 1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117, + 1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118, + 1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119, + 1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120, + 1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120, + 1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121, + 1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121, + 1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123, + 1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123, + 1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124, + 1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125, + 1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126, 1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126, 1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127, 1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127, - 1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128, - 1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129, - 1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129, + 1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127, + 1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129, 1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130, - 1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131, + 1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131, 1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131, - 1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132, - 1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133, - 1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133, - 1,133,1,133,1,133,1,133,1,133,3,133,2322,8,133,1,133,3,133,2325, - 8,133,1,133,3,133,2328,8,133,1,133,3,133,2331,8,133,1,133,3,133, - 2334,8,133,1,133,3,133,2337,8,133,1,133,3,133,2340,8,133,1,133,3, - 133,2343,8,133,1,133,1,133,1,133,1,133,1,133,3,133,2350,8,133,1, - 133,4,133,2353,8,133,11,133,12,133,2354,1,133,1,133,1,133,1,133, - 1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133, - 1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,3,133, - 2382,8,133,1,134,1,134,4,134,2386,8,134,11,134,12,134,2387,1,134, - 1,134,1,134,1,134,3,134,2394,8,134,1,135,1,135,1,135,1,135,1,135, - 4,135,2401,8,135,11,135,12,135,2402,1,136,1,136,4,136,2407,8,136, - 11,136,12,136,2408,1,136,3,136,2412,8,136,1,137,1,137,1,138,1,138, - 1,139,1,139,1,140,1,140,1,140,3,140,2423,8,140,1,141,4,141,2426, - 8,141,11,141,12,141,2427,1,141,1,141,1,142,1,142,1,142,1,142,5,142, - 2436,8,142,10,142,12,142,2439,9,142,1,142,1,142,1,142,1,142,1,142, - 1,143,1,143,1,143,1,143,5,143,2450,8,143,10,143,12,143,2453,9,143, - 1,143,1,143,1,2437,0,144,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9, - 19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20, - 41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31, - 63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42, - 85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105, - 53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62, - 125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143, - 72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81, - 163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181, - 91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100, - 201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108, - 217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116, - 233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124, - 249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132, - 265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,0,281, - 0,283,140,285,141,287,142,1,0,7,1,0,48,57,3,0,48,57,65,90,97,122, - 2,0,48,57,65,90,3,0,48,57,65,70,97,102,1,0,34,34,3,0,9,10,12,13, - 32,32,2,0,10,10,13,13,2479,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0, - 7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17, - 1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27, - 1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37, - 1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47, - 1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57, - 1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67, - 1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77, - 1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87, - 1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97, - 1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0, - 107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0, - 0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125, - 1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0, - 0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1, - 0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0, - 153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0, - 0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171, - 1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0, - 0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1, - 0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0, - 199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0, - 0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217, - 1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0, - 0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1, - 0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0, - 245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0, - 0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263, - 1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0, - 0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,283,1,0,0,0,0,285,1, - 0,0,0,0,287,1,0,0,0,1,289,1,0,0,0,3,291,1,0,0,0,5,293,1,0,0,0,7, - 295,1,0,0,0,9,297,1,0,0,0,11,299,1,0,0,0,13,301,1,0,0,0,15,303,1, - 0,0,0,17,318,1,0,0,0,19,326,1,0,0,0,21,328,1,0,0,0,23,330,1,0,0, - 0,25,335,1,0,0,0,27,339,1,0,0,0,29,353,1,0,0,0,31,361,1,0,0,0,33, - 372,1,0,0,0,35,374,1,0,0,0,37,376,1,0,0,0,39,395,1,0,0,0,41,408, - 1,0,0,0,43,430,1,0,0,0,45,453,1,0,0,0,47,470,1,0,0,0,49,494,1,0, - 0,0,51,503,1,0,0,0,53,524,1,0,0,0,55,540,1,0,0,0,57,556,1,0,0,0, - 59,567,1,0,0,0,61,585,1,0,0,0,63,608,1,0,0,0,65,633,1,0,0,0,67,654, - 1,0,0,0,69,674,1,0,0,0,71,690,1,0,0,0,73,711,1,0,0,0,75,731,1,0, - 0,0,77,761,1,0,0,0,79,793,1,0,0,0,81,808,1,0,0,0,83,816,1,0,0,0, - 85,827,1,0,0,0,87,843,1,0,0,0,89,853,1,0,0,0,91,874,1,0,0,0,93,885, - 1,0,0,0,95,898,1,0,0,0,97,907,1,0,0,0,99,924,1,0,0,0,101,942,1,0, - 0,0,103,957,1,0,0,0,105,969,1,0,0,0,107,978,1,0,0,0,109,987,1,0, - 0,0,111,998,1,0,0,0,113,1013,1,0,0,0,115,1029,1,0,0,0,117,1038,1, - 0,0,0,119,1057,1,0,0,0,121,1071,1,0,0,0,123,1083,1,0,0,0,125,1091, - 1,0,0,0,127,1118,1,0,0,0,129,1123,1,0,0,0,131,1128,1,0,0,0,133,1139, - 1,0,0,0,135,1155,1,0,0,0,137,1161,1,0,0,0,139,1196,1,0,0,0,141,1219, - 1,0,0,0,143,1231,1,0,0,0,145,1242,1,0,0,0,147,1263,1,0,0,0,149,1277, - 1,0,0,0,151,1299,1,0,0,0,153,1330,1,0,0,0,155,1343,1,0,0,0,157,1355, - 1,0,0,0,159,1372,1,0,0,0,161,1384,1,0,0,0,163,1395,1,0,0,0,165,1429, - 1,0,0,0,167,1464,1,0,0,0,169,1475,1,0,0,0,171,1494,1,0,0,0,173,1529, - 1,0,0,0,175,1550,1,0,0,0,177,1584,1,0,0,0,179,1608,1,0,0,0,181,1625, - 1,0,0,0,183,1642,1,0,0,0,185,1659,1,0,0,0,187,1681,1,0,0,0,189,1694, - 1,0,0,0,191,1710,1,0,0,0,193,1730,1,0,0,0,195,1748,1,0,0,0,197,1769, - 1,0,0,0,199,1787,1,0,0,0,201,1810,1,0,0,0,203,1823,1,0,0,0,205,1833, - 1,0,0,0,207,1849,1,0,0,0,209,1867,1,0,0,0,211,1882,1,0,0,0,213,1900, - 1,0,0,0,215,1912,1,0,0,0,217,1920,1,0,0,0,219,1939,1,0,0,0,221,1950, - 1,0,0,0,223,1970,1,0,0,0,225,1982,1,0,0,0,227,1992,1,0,0,0,229,2004, - 1,0,0,0,231,2021,1,0,0,0,233,2028,1,0,0,0,235,2040,1,0,0,0,237,2049, - 1,0,0,0,239,2059,1,0,0,0,241,2086,1,0,0,0,243,2100,1,0,0,0,245,2108, - 1,0,0,0,247,2125,1,0,0,0,249,2138,1,0,0,0,251,2149,1,0,0,0,253,2169, - 1,0,0,0,255,2199,1,0,0,0,257,2224,1,0,0,0,259,2233,1,0,0,0,261,2252, - 1,0,0,0,263,2267,1,0,0,0,265,2284,1,0,0,0,267,2381,1,0,0,0,269,2393, - 1,0,0,0,271,2400,1,0,0,0,273,2406,1,0,0,0,275,2413,1,0,0,0,277,2415, - 1,0,0,0,279,2417,1,0,0,0,281,2422,1,0,0,0,283,2425,1,0,0,0,285,2431, - 1,0,0,0,287,2445,1,0,0,0,289,290,5,123,0,0,290,2,1,0,0,0,291,292, - 5,125,0,0,292,4,1,0,0,0,293,294,5,61,0,0,294,6,1,0,0,0,295,296,5, - 59,0,0,296,8,1,0,0,0,297,298,5,40,0,0,298,10,1,0,0,0,299,300,5,44, - 0,0,300,12,1,0,0,0,301,302,5,41,0,0,302,14,1,0,0,0,303,304,5,97, - 0,0,304,305,5,114,0,0,305,306,5,99,0,0,306,307,5,104,0,0,307,308, - 5,105,0,0,308,309,5,118,0,0,309,310,5,101,0,0,310,311,5,86,0,0,311, - 312,5,101,0,0,312,313,5,114,0,0,313,314,5,115,0,0,314,315,5,105, - 0,0,315,316,5,111,0,0,316,317,5,110,0,0,317,16,1,0,0,0,318,319,5, - 99,0,0,319,320,5,108,0,0,320,321,5,97,0,0,321,322,5,115,0,0,322, - 323,5,115,0,0,323,324,5,101,0,0,324,325,5,115,0,0,325,18,1,0,0,0, - 326,327,5,45,0,0,327,20,1,0,0,0,328,329,5,46,0,0,329,22,1,0,0,0, - 330,331,5,105,0,0,331,332,5,115,0,0,332,333,5,97,0,0,333,24,1,0, - 0,0,334,336,7,0,0,0,335,334,1,0,0,0,336,337,1,0,0,0,337,335,1,0, - 0,0,337,338,1,0,0,0,338,26,1,0,0,0,339,340,5,111,0,0,340,341,5,98, - 0,0,341,342,5,106,0,0,342,343,5,101,0,0,343,344,5,99,0,0,344,345, - 5,116,0,0,345,346,5,86,0,0,346,347,5,101,0,0,347,348,5,114,0,0,348, - 349,5,115,0,0,349,350,5,105,0,0,350,351,5,111,0,0,351,352,5,110, - 0,0,352,28,1,0,0,0,353,354,5,111,0,0,354,355,5,98,0,0,355,356,5, - 106,0,0,356,357,5,101,0,0,357,358,5,99,0,0,358,359,5,116,0,0,359, - 360,5,115,0,0,360,30,1,0,0,0,361,362,5,114,0,0,362,363,5,111,0,0, - 363,364,5,111,0,0,364,365,5,116,0,0,365,366,5,79,0,0,366,367,5,98, - 0,0,367,368,5,106,0,0,368,369,5,101,0,0,369,370,5,99,0,0,370,371, - 5,116,0,0,371,32,1,0,0,0,372,373,5,47,0,0,373,34,1,0,0,0,374,375, - 5,95,0,0,375,36,1,0,0,0,376,377,5,80,0,0,377,378,5,66,0,0,378,379, - 5,88,0,0,379,380,5,65,0,0,380,381,5,103,0,0,381,382,5,103,0,0,382, - 383,5,114,0,0,383,384,5,101,0,0,384,385,5,103,0,0,385,386,5,97,0, - 0,386,387,5,116,0,0,387,388,5,101,0,0,388,389,5,84,0,0,389,390,5, - 97,0,0,390,391,5,114,0,0,391,392,5,103,0,0,392,393,5,101,0,0,393, - 394,5,116,0,0,394,38,1,0,0,0,395,396,5,80,0,0,396,397,5,66,0,0,397, - 398,5,88,0,0,398,399,5,66,0,0,399,400,5,117,0,0,400,401,5,105,0, - 0,401,402,5,108,0,0,402,403,5,100,0,0,403,404,5,70,0,0,404,405,5, - 105,0,0,405,406,5,108,0,0,406,407,5,101,0,0,407,40,1,0,0,0,408,409, - 5,80,0,0,409,410,5,66,0,0,410,411,5,88,0,0,411,412,5,67,0,0,412, - 413,5,111,0,0,413,414,5,110,0,0,414,415,5,116,0,0,415,416,5,97,0, - 0,416,417,5,105,0,0,417,418,5,110,0,0,418,419,5,101,0,0,419,420, - 5,114,0,0,420,421,5,73,0,0,421,422,5,116,0,0,422,423,5,101,0,0,423, - 424,5,109,0,0,424,425,5,80,0,0,425,426,5,114,0,0,426,427,5,111,0, - 0,427,428,5,120,0,0,428,429,5,121,0,0,429,42,1,0,0,0,430,431,5,80, - 0,0,431,432,5,66,0,0,432,433,5,88,0,0,433,434,5,67,0,0,434,435,5, - 111,0,0,435,436,5,112,0,0,436,437,5,121,0,0,437,438,5,70,0,0,438, - 439,5,105,0,0,439,440,5,108,0,0,440,441,5,101,0,0,441,442,5,115, - 0,0,442,443,5,66,0,0,443,444,5,117,0,0,444,445,5,105,0,0,445,446, - 5,108,0,0,446,447,5,100,0,0,447,448,5,80,0,0,448,449,5,104,0,0,449, - 450,5,97,0,0,450,451,5,115,0,0,451,452,5,101,0,0,452,44,1,0,0,0, - 453,454,5,80,0,0,454,455,5,66,0,0,455,456,5,88,0,0,456,457,5,70, - 0,0,457,458,5,105,0,0,458,459,5,108,0,0,459,460,5,101,0,0,460,461, - 5,82,0,0,461,462,5,101,0,0,462,463,5,102,0,0,463,464,5,101,0,0,464, - 465,5,114,0,0,465,466,5,101,0,0,466,467,5,110,0,0,467,468,5,99,0, - 0,468,469,5,101,0,0,469,46,1,0,0,0,470,471,5,80,0,0,471,472,5,66, - 0,0,472,473,5,88,0,0,473,474,5,70,0,0,474,475,5,114,0,0,475,476, - 5,97,0,0,476,477,5,109,0,0,477,478,5,101,0,0,478,479,5,119,0,0,479, - 480,5,111,0,0,480,481,5,114,0,0,481,482,5,107,0,0,482,483,5,115, - 0,0,483,484,5,66,0,0,484,485,5,117,0,0,485,486,5,105,0,0,486,487, - 5,108,0,0,487,488,5,100,0,0,488,489,5,80,0,0,489,490,5,104,0,0,490, - 491,5,97,0,0,491,492,5,115,0,0,492,493,5,101,0,0,493,48,1,0,0,0, - 494,495,5,80,0,0,495,496,5,66,0,0,496,497,5,88,0,0,497,498,5,71, - 0,0,498,499,5,114,0,0,499,500,5,111,0,0,500,501,5,117,0,0,501,502, - 5,112,0,0,502,50,1,0,0,0,503,504,5,80,0,0,504,505,5,66,0,0,505,506, - 5,88,0,0,506,507,5,72,0,0,507,508,5,101,0,0,508,509,5,97,0,0,509, - 510,5,100,0,0,510,511,5,101,0,0,511,512,5,114,0,0,512,513,5,115, - 0,0,513,514,5,66,0,0,514,515,5,117,0,0,515,516,5,105,0,0,516,517, - 5,108,0,0,517,518,5,100,0,0,518,519,5,80,0,0,519,520,5,104,0,0,520, - 521,5,97,0,0,521,522,5,115,0,0,522,523,5,101,0,0,523,52,1,0,0,0, - 524,525,5,80,0,0,525,526,5,66,0,0,526,527,5,88,0,0,527,528,5,78, - 0,0,528,529,5,97,0,0,529,530,5,116,0,0,530,531,5,105,0,0,531,532, - 5,118,0,0,532,533,5,101,0,0,533,534,5,84,0,0,534,535,5,97,0,0,535, - 536,5,114,0,0,536,537,5,103,0,0,537,538,5,101,0,0,538,539,5,116, - 0,0,539,54,1,0,0,0,540,541,5,80,0,0,541,542,5,66,0,0,542,543,5,88, - 0,0,543,544,5,76,0,0,544,545,5,101,0,0,545,546,5,103,0,0,546,547, - 5,97,0,0,547,548,5,99,0,0,548,549,5,121,0,0,549,550,5,84,0,0,550, - 551,5,97,0,0,551,552,5,114,0,0,552,553,5,103,0,0,553,554,5,101,0, - 0,554,555,5,116,0,0,555,56,1,0,0,0,556,557,5,80,0,0,557,558,5,66, - 0,0,558,559,5,88,0,0,559,560,5,80,0,0,560,561,5,114,0,0,561,562, - 5,111,0,0,562,563,5,106,0,0,563,564,5,101,0,0,564,565,5,99,0,0,565, - 566,5,116,0,0,566,58,1,0,0,0,567,568,5,80,0,0,568,569,5,66,0,0,569, - 570,5,88,0,0,570,571,5,82,0,0,571,572,5,101,0,0,572,573,5,102,0, - 0,573,574,5,101,0,0,574,575,5,114,0,0,575,576,5,101,0,0,576,577, - 5,110,0,0,577,578,5,99,0,0,578,579,5,101,0,0,579,580,5,80,0,0,580, - 581,5,114,0,0,581,582,5,111,0,0,582,583,5,120,0,0,583,584,5,121, - 0,0,584,60,1,0,0,0,585,586,5,80,0,0,586,587,5,66,0,0,587,588,5,88, - 0,0,588,589,5,82,0,0,589,590,5,101,0,0,590,591,5,115,0,0,591,592, - 5,111,0,0,592,593,5,117,0,0,593,594,5,114,0,0,594,595,5,99,0,0,595, - 596,5,101,0,0,596,597,5,115,0,0,597,598,5,66,0,0,598,599,5,117,0, - 0,599,600,5,105,0,0,600,601,5,108,0,0,601,602,5,100,0,0,602,603, - 5,80,0,0,603,604,5,104,0,0,604,605,5,97,0,0,605,606,5,115,0,0,606, - 607,5,101,0,0,607,62,1,0,0,0,608,609,5,80,0,0,609,610,5,66,0,0,610, - 611,5,88,0,0,611,612,5,83,0,0,612,613,5,104,0,0,613,614,5,101,0, - 0,614,615,5,108,0,0,615,616,5,108,0,0,616,617,5,83,0,0,617,618,5, - 99,0,0,618,619,5,114,0,0,619,620,5,105,0,0,620,621,5,112,0,0,621, - 622,5,116,0,0,622,623,5,66,0,0,623,624,5,117,0,0,624,625,5,105,0, - 0,625,626,5,108,0,0,626,627,5,100,0,0,627,628,5,80,0,0,628,629,5, - 104,0,0,629,630,5,97,0,0,630,631,5,115,0,0,631,632,5,101,0,0,632, - 64,1,0,0,0,633,634,5,80,0,0,634,635,5,66,0,0,635,636,5,88,0,0,636, - 637,5,83,0,0,637,638,5,111,0,0,638,639,5,117,0,0,639,640,5,114,0, - 0,640,641,5,99,0,0,641,642,5,101,0,0,642,643,5,115,0,0,643,644,5, - 66,0,0,644,645,5,117,0,0,645,646,5,105,0,0,646,647,5,108,0,0,647, - 648,5,100,0,0,648,649,5,80,0,0,649,650,5,104,0,0,650,651,5,97,0, - 0,651,652,5,115,0,0,652,653,5,101,0,0,653,66,1,0,0,0,654,655,5,80, - 0,0,655,656,5,66,0,0,656,657,5,88,0,0,657,658,5,84,0,0,658,659,5, - 97,0,0,659,660,5,114,0,0,660,661,5,103,0,0,661,662,5,101,0,0,662, - 663,5,116,0,0,663,664,5,68,0,0,664,665,5,101,0,0,665,666,5,112,0, - 0,666,667,5,101,0,0,667,668,5,110,0,0,668,669,5,100,0,0,669,670, - 5,101,0,0,670,671,5,110,0,0,671,672,5,99,0,0,672,673,5,121,0,0,673, - 68,1,0,0,0,674,675,5,80,0,0,675,676,5,66,0,0,676,677,5,88,0,0,677, - 678,5,86,0,0,678,679,5,97,0,0,679,680,5,114,0,0,680,681,5,105,0, - 0,681,682,5,97,0,0,682,683,5,110,0,0,683,684,5,116,0,0,684,685,5, - 71,0,0,685,686,5,114,0,0,686,687,5,111,0,0,687,688,5,117,0,0,688, - 689,5,112,0,0,689,70,1,0,0,0,690,691,5,88,0,0,691,692,5,67,0,0,692, - 693,5,66,0,0,693,694,5,117,0,0,694,695,5,105,0,0,695,696,5,108,0, - 0,696,697,5,100,0,0,697,698,5,67,0,0,698,699,5,111,0,0,699,700,5, - 110,0,0,700,701,5,102,0,0,701,702,5,105,0,0,702,703,5,103,0,0,703, - 704,5,117,0,0,704,705,5,114,0,0,705,706,5,97,0,0,706,707,5,116,0, - 0,707,708,5,105,0,0,708,709,5,111,0,0,709,710,5,110,0,0,710,72,1, - 0,0,0,711,712,5,88,0,0,712,713,5,67,0,0,713,714,5,67,0,0,714,715, - 5,111,0,0,715,716,5,110,0,0,716,717,5,102,0,0,717,718,5,105,0,0, - 718,719,5,103,0,0,719,720,5,117,0,0,720,721,5,114,0,0,721,722,5, - 97,0,0,722,723,5,116,0,0,723,724,5,105,0,0,724,725,5,111,0,0,725, - 726,5,110,0,0,726,727,5,76,0,0,727,728,5,105,0,0,728,729,5,115,0, - 0,729,730,5,116,0,0,730,74,1,0,0,0,731,732,5,88,0,0,732,733,5,67, - 0,0,733,734,5,82,0,0,734,735,5,101,0,0,735,736,5,109,0,0,736,737, - 5,111,0,0,737,738,5,116,0,0,738,739,5,101,0,0,739,740,5,83,0,0,740, - 741,5,119,0,0,741,742,5,105,0,0,742,743,5,102,0,0,743,744,5,116, - 0,0,744,745,5,80,0,0,745,746,5,97,0,0,746,747,5,99,0,0,747,748,5, - 107,0,0,748,749,5,97,0,0,749,750,5,103,0,0,750,751,5,101,0,0,751, - 752,5,82,0,0,752,753,5,101,0,0,753,754,5,102,0,0,754,755,5,101,0, - 0,755,756,5,114,0,0,756,757,5,101,0,0,757,758,5,110,0,0,758,759, - 5,99,0,0,759,760,5,101,0,0,760,76,1,0,0,0,761,762,5,88,0,0,762,763, - 5,67,0,0,763,764,5,83,0,0,764,765,5,119,0,0,765,766,5,105,0,0,766, - 767,5,102,0,0,767,768,5,116,0,0,768,769,5,80,0,0,769,770,5,97,0, - 0,770,771,5,99,0,0,771,772,5,107,0,0,772,773,5,97,0,0,773,774,5, - 103,0,0,774,775,5,101,0,0,775,776,5,80,0,0,776,777,5,114,0,0,777, - 778,5,111,0,0,778,779,5,100,0,0,779,780,5,117,0,0,780,781,5,99,0, - 0,781,782,5,116,0,0,782,783,5,68,0,0,783,784,5,101,0,0,784,785,5, - 112,0,0,785,786,5,101,0,0,786,787,5,110,0,0,787,788,5,100,0,0,788, - 789,5,101,0,0,789,790,5,110,0,0,790,791,5,99,0,0,791,792,5,121,0, - 0,792,78,1,0,0,0,793,794,5,88,0,0,794,795,5,67,0,0,795,796,5,86, - 0,0,796,797,5,101,0,0,797,798,5,114,0,0,798,799,5,115,0,0,799,800, - 5,105,0,0,800,801,5,111,0,0,801,802,5,110,0,0,802,803,5,71,0,0,803, - 804,5,114,0,0,804,805,5,111,0,0,805,806,5,117,0,0,806,807,5,112, - 0,0,807,80,1,0,0,0,808,809,5,102,0,0,809,810,5,105,0,0,810,811,5, - 108,0,0,811,812,5,101,0,0,812,813,5,82,0,0,813,814,5,101,0,0,814, - 815,5,102,0,0,815,82,1,0,0,0,816,817,5,112,0,0,817,818,5,114,0,0, - 818,819,5,111,0,0,819,820,5,100,0,0,820,821,5,117,0,0,821,822,5, - 99,0,0,822,823,5,116,0,0,823,824,5,82,0,0,824,825,5,101,0,0,825, - 826,5,102,0,0,826,84,1,0,0,0,827,828,5,99,0,0,828,829,5,111,0,0, - 829,830,5,110,0,0,830,831,5,116,0,0,831,832,5,97,0,0,832,833,5,105, - 0,0,833,834,5,110,0,0,834,835,5,101,0,0,835,836,5,114,0,0,836,837, - 5,80,0,0,837,838,5,111,0,0,838,839,5,114,0,0,839,840,5,116,0,0,840, - 841,5,97,0,0,841,842,5,108,0,0,842,86,1,0,0,0,843,844,5,112,0,0, - 844,845,5,114,0,0,845,846,5,111,0,0,846,847,5,120,0,0,847,848,5, - 121,0,0,848,849,5,84,0,0,849,850,5,121,0,0,850,851,5,112,0,0,851, - 852,5,101,0,0,852,88,1,0,0,0,853,854,5,114,0,0,854,855,5,101,0,0, - 855,856,5,109,0,0,856,857,5,111,0,0,857,858,5,116,0,0,858,859,5, - 101,0,0,859,860,5,71,0,0,860,861,5,108,0,0,861,862,5,111,0,0,862, - 863,5,98,0,0,863,864,5,97,0,0,864,865,5,108,0,0,865,866,5,73,0,0, - 866,867,5,68,0,0,867,868,5,83,0,0,868,869,5,116,0,0,869,870,5,114, - 0,0,870,871,5,105,0,0,871,872,5,110,0,0,872,873,5,103,0,0,873,90, - 1,0,0,0,874,875,5,114,0,0,875,876,5,101,0,0,876,877,5,109,0,0,877, - 878,5,111,0,0,878,879,5,116,0,0,879,880,5,101,0,0,880,881,5,73,0, - 0,881,882,5,110,0,0,882,883,5,102,0,0,883,884,5,111,0,0,884,92,1, - 0,0,0,885,886,5,102,0,0,886,887,5,105,0,0,887,888,5,108,0,0,888, - 889,5,101,0,0,889,890,5,69,0,0,890,891,5,110,0,0,891,892,5,99,0, - 0,892,893,5,111,0,0,893,894,5,100,0,0,894,895,5,105,0,0,895,896, - 5,110,0,0,896,897,5,103,0,0,897,94,1,0,0,0,898,899,5,99,0,0,899, - 900,5,111,0,0,900,901,5,109,0,0,901,902,5,109,0,0,902,903,5,101, - 0,0,903,904,5,110,0,0,904,905,5,116,0,0,905,906,5,115,0,0,906,96, - 1,0,0,0,907,908,5,101,0,0,908,909,5,120,0,0,909,910,5,112,0,0,910, - 911,5,108,0,0,911,912,5,105,0,0,912,913,5,99,0,0,913,914,5,105,0, - 0,914,915,5,116,0,0,915,916,5,70,0,0,916,917,5,105,0,0,917,918,5, - 108,0,0,918,919,5,101,0,0,919,920,5,84,0,0,920,921,5,121,0,0,921, - 922,5,112,0,0,922,923,5,101,0,0,923,98,1,0,0,0,924,925,5,108,0,0, - 925,926,5,97,0,0,926,927,5,115,0,0,927,928,5,116,0,0,928,929,5,75, - 0,0,929,930,5,110,0,0,930,931,5,111,0,0,931,932,5,119,0,0,932,933, - 5,110,0,0,933,934,5,70,0,0,934,935,5,105,0,0,935,936,5,108,0,0,936, - 937,5,101,0,0,937,938,5,84,0,0,938,939,5,121,0,0,939,940,5,112,0, - 0,940,941,5,101,0,0,941,100,1,0,0,0,942,943,5,105,0,0,943,944,5, - 110,0,0,944,945,5,99,0,0,945,946,5,108,0,0,946,947,5,117,0,0,947, - 948,5,100,0,0,948,949,5,101,0,0,949,950,5,73,0,0,950,951,5,110,0, - 0,951,952,5,73,0,0,952,953,5,110,0,0,953,954,5,100,0,0,954,955,5, - 101,0,0,955,956,5,120,0,0,956,102,1,0,0,0,957,958,5,105,0,0,958, - 959,5,110,0,0,959,960,5,100,0,0,960,961,5,101,0,0,961,962,5,110, - 0,0,962,963,5,116,0,0,963,964,5,87,0,0,964,965,5,105,0,0,965,966, - 5,100,0,0,966,967,5,116,0,0,967,968,5,104,0,0,968,104,1,0,0,0,969, - 970,5,116,0,0,970,971,5,97,0,0,971,972,5,98,0,0,972,973,5,87,0,0, - 973,974,5,105,0,0,974,975,5,100,0,0,975,976,5,116,0,0,976,977,5, - 104,0,0,977,106,1,0,0,0,978,979,5,117,0,0,979,980,5,115,0,0,980, - 981,5,101,0,0,981,982,5,115,0,0,982,983,5,84,0,0,983,984,5,97,0, - 0,984,985,5,98,0,0,985,986,5,115,0,0,986,108,1,0,0,0,987,988,5,119, - 0,0,988,989,5,114,0,0,989,990,5,97,0,0,990,991,5,112,0,0,991,992, - 5,115,0,0,992,993,5,76,0,0,993,994,5,105,0,0,994,995,5,110,0,0,995, - 996,5,101,0,0,996,997,5,115,0,0,997,110,1,0,0,0,998,999,5,112,0, - 0,999,1000,5,108,0,0,1000,1001,5,97,0,0,1001,1002,5,116,0,0,1002, - 1003,5,102,0,0,1003,1004,5,111,0,0,1004,1005,5,114,0,0,1005,1006, - 5,109,0,0,1006,1007,5,70,0,0,1007,1008,5,105,0,0,1008,1009,5,108, - 0,0,1009,1010,5,116,0,0,1010,1011,5,101,0,0,1011,1012,5,114,0,0, - 1012,112,1,0,0,0,1013,1014,5,112,0,0,1014,1015,5,108,0,0,1015,1016, - 5,97,0,0,1016,1017,5,116,0,0,1017,1018,5,102,0,0,1018,1019,5,111, - 0,0,1019,1020,5,114,0,0,1020,1021,5,109,0,0,1021,1022,5,70,0,0,1022, - 1023,5,105,0,0,1023,1024,5,108,0,0,1024,1025,5,116,0,0,1025,1026, - 5,101,0,0,1026,1027,5,114,0,0,1027,1028,5,115,0,0,1028,114,1,0,0, - 0,1029,1030,5,99,0,0,1030,1031,5,104,0,0,1031,1032,5,105,0,0,1032, - 1033,5,108,0,0,1033,1034,5,100,0,0,1034,1035,5,114,0,0,1035,1036, - 5,101,0,0,1036,1037,5,110,0,0,1037,116,1,0,0,0,1038,1039,5,112,0, - 0,1039,1040,5,114,0,0,1040,1041,5,111,0,0,1041,1042,5,100,0,0,1042, - 1043,5,117,0,0,1043,1044,5,99,0,0,1044,1045,5,116,0,0,1045,1046, - 5,73,0,0,1046,1047,5,110,0,0,1047,1048,5,115,0,0,1048,1049,5,116, - 0,0,1049,1050,5,97,0,0,1050,1051,5,108,0,0,1051,1052,5,108,0,0,1052, - 1053,5,80,0,0,1053,1054,5,97,0,0,1054,1055,5,116,0,0,1055,1056,5, - 104,0,0,1056,118,1,0,0,0,1057,1058,5,114,0,0,1058,1059,5,101,0,0, - 1059,1060,5,112,0,0,1060,1061,5,111,0,0,1061,1062,5,115,0,0,1062, - 1063,5,105,0,0,1063,1064,5,116,0,0,1064,1065,5,111,0,0,1065,1066, - 5,114,0,0,1066,1067,5,121,0,0,1067,1068,5,85,0,0,1068,1069,5,82, - 0,0,1069,1070,5,76,0,0,1070,120,1,0,0,0,1071,1072,5,114,0,0,1072, - 1073,5,101,0,0,1073,1074,5,113,0,0,1074,1075,5,117,0,0,1075,1076, - 5,105,0,0,1076,1077,5,114,0,0,1077,1078,5,101,0,0,1078,1079,5,109, - 0,0,1079,1080,5,101,0,0,1080,1081,5,110,0,0,1081,1082,5,116,0,0, - 1082,122,1,0,0,0,1083,1084,5,112,0,0,1084,1085,5,97,0,0,1085,1086, - 5,99,0,0,1086,1087,5,107,0,0,1087,1088,5,97,0,0,1088,1089,5,103, - 0,0,1089,1090,5,101,0,0,1090,124,1,0,0,0,1091,1092,5,112,0,0,1092, - 1093,5,97,0,0,1093,1094,5,99,0,0,1094,1095,5,107,0,0,1095,1096,5, - 97,0,0,1096,1097,5,103,0,0,1097,1098,5,101,0,0,1098,1099,5,80,0, - 0,1099,1100,5,114,0,0,1100,1101,5,111,0,0,1101,1102,5,100,0,0,1102, - 1103,5,117,0,0,1103,1104,5,99,0,0,1104,1105,5,116,0,0,1105,1106, - 5,68,0,0,1106,1107,5,101,0,0,1107,1108,5,112,0,0,1108,1109,5,101, - 0,0,1109,1110,5,110,0,0,1110,1111,5,100,0,0,1111,1112,5,101,0,0, - 1112,1113,5,110,0,0,1113,1114,5,99,0,0,1114,1115,5,105,0,0,1115, - 1116,5,101,0,0,1116,1117,5,115,0,0,1117,126,1,0,0,0,1118,1119,5, - 110,0,0,1119,1120,5,97,0,0,1120,1121,5,109,0,0,1121,1122,5,101,0, - 0,1122,128,1,0,0,0,1123,1124,5,112,0,0,1124,1125,5,97,0,0,1125,1126, - 5,116,0,0,1126,1127,5,104,0,0,1127,130,1,0,0,0,1128,1129,5,115,0, - 0,1129,1130,5,111,0,0,1130,1131,5,117,0,0,1131,1132,5,114,0,0,1132, - 1133,5,99,0,0,1133,1134,5,101,0,0,1134,1135,5,84,0,0,1135,1136,5, - 114,0,0,1136,1137,5,101,0,0,1137,1138,5,101,0,0,1138,132,1,0,0,0, - 1139,1140,5,98,0,0,1140,1141,5,117,0,0,1141,1142,5,105,0,0,1142, - 1143,5,108,0,0,1143,1144,5,100,0,0,1144,1145,5,65,0,0,1145,1146, - 5,99,0,0,1146,1147,5,116,0,0,1147,1148,5,105,0,0,1148,1149,5,111, - 0,0,1149,1150,5,110,0,0,1150,1151,5,77,0,0,1151,1152,5,97,0,0,1152, - 1153,5,115,0,0,1153,1154,5,107,0,0,1154,134,1,0,0,0,1155,1156,5, - 102,0,0,1156,1157,5,105,0,0,1157,1158,5,108,0,0,1158,1159,5,101, - 0,0,1159,1160,5,115,0,0,1160,136,1,0,0,0,1161,1162,5,114,0,0,1162, - 1163,5,117,0,0,1163,1164,5,110,0,0,1164,1165,5,79,0,0,1165,1166, - 5,110,0,0,1166,1167,5,108,0,0,1167,1168,5,121,0,0,1168,1169,5,70, - 0,0,1169,1170,5,111,0,0,1170,1171,5,114,0,0,1171,1172,5,68,0,0,1172, - 1173,5,101,0,0,1173,1174,5,112,0,0,1174,1175,5,108,0,0,1175,1176, - 5,111,0,0,1176,1177,5,121,0,0,1177,1178,5,109,0,0,1178,1179,5,101, - 0,0,1179,1180,5,110,0,0,1180,1181,5,116,0,0,1181,1182,5,80,0,0,1182, - 1183,5,111,0,0,1183,1184,5,115,0,0,1184,1185,5,116,0,0,1185,1186, - 5,112,0,0,1186,1187,5,114,0,0,1187,1188,5,111,0,0,1188,1189,5,99, - 0,0,1189,1190,5,101,0,0,1190,1191,5,115,0,0,1191,1192,5,115,0,0, - 1192,1193,5,105,0,0,1193,1194,5,110,0,0,1194,1195,5,103,0,0,1195, - 138,1,0,0,0,1196,1197,5,98,0,0,1197,1198,5,117,0,0,1198,1199,5,105, - 0,0,1199,1200,5,108,0,0,1200,1201,5,100,0,0,1201,1202,5,67,0,0,1202, - 1203,5,111,0,0,1203,1204,5,110,0,0,1204,1205,5,102,0,0,1205,1206, - 5,105,0,0,1206,1207,5,103,0,0,1207,1208,5,117,0,0,1208,1209,5,114, - 0,0,1209,1210,5,97,0,0,1210,1211,5,116,0,0,1211,1212,5,105,0,0,1212, - 1213,5,111,0,0,1213,1214,5,110,0,0,1214,1215,5,76,0,0,1215,1216, - 5,105,0,0,1216,1217,5,115,0,0,1217,1218,5,116,0,0,1218,140,1,0,0, - 0,1219,1220,5,98,0,0,1220,1221,5,117,0,0,1221,1222,5,105,0,0,1222, - 1223,5,108,0,0,1223,1224,5,100,0,0,1224,1225,5,80,0,0,1225,1226, - 5,104,0,0,1226,1227,5,97,0,0,1227,1228,5,115,0,0,1228,1229,5,101, - 0,0,1229,1230,5,115,0,0,1230,142,1,0,0,0,1231,1232,5,98,0,0,1232, - 1233,5,117,0,0,1233,1234,5,105,0,0,1234,1235,5,108,0,0,1235,1236, - 5,100,0,0,1236,1237,5,82,0,0,1237,1238,5,117,0,0,1238,1239,5,108, - 0,0,1239,1240,5,101,0,0,1240,1241,5,115,0,0,1241,144,1,0,0,0,1242, - 1243,5,98,0,0,1243,1244,5,117,0,0,1244,1245,5,105,0,0,1245,1246, - 5,108,0,0,1246,1247,5,100,0,0,1247,1248,5,65,0,0,1248,1249,5,114, - 0,0,1249,1250,5,103,0,0,1250,1251,5,117,0,0,1251,1252,5,109,0,0, - 1252,1253,5,101,0,0,1253,1254,5,110,0,0,1254,1255,5,116,0,0,1255, - 1256,5,115,0,0,1256,1257,5,83,0,0,1257,1258,5,116,0,0,1258,1259, - 5,114,0,0,1259,1260,5,105,0,0,1260,1261,5,110,0,0,1261,1262,5,103, - 0,0,1262,146,1,0,0,0,1263,1264,5,98,0,0,1264,1265,5,117,0,0,1265, - 1266,5,105,0,0,1266,1267,5,108,0,0,1267,1268,5,100,0,0,1268,1269, - 5,84,0,0,1269,1270,5,111,0,0,1270,1271,5,111,0,0,1271,1272,5,108, - 0,0,1272,1273,5,80,0,0,1273,1274,5,97,0,0,1274,1275,5,116,0,0,1275, - 1276,5,104,0,0,1276,148,1,0,0,0,1277,1278,5,98,0,0,1278,1279,5,117, - 0,0,1279,1280,5,105,0,0,1280,1281,5,108,0,0,1281,1282,5,100,0,0, - 1282,1283,5,87,0,0,1283,1284,5,111,0,0,1284,1285,5,114,0,0,1285, - 1286,5,107,0,0,1286,1287,5,105,0,0,1287,1288,5,110,0,0,1288,1289, - 5,103,0,0,1289,1290,5,68,0,0,1290,1291,5,105,0,0,1291,1292,5,114, - 0,0,1292,1293,5,101,0,0,1293,1294,5,99,0,0,1294,1295,5,116,0,0,1295, - 1296,5,111,0,0,1296,1297,5,114,0,0,1297,1298,5,121,0,0,1298,150, - 1,0,0,0,1299,1300,5,112,0,0,1300,1301,5,97,0,0,1301,1302,5,115,0, - 0,1302,1303,5,115,0,0,1303,1304,5,66,0,0,1304,1305,5,117,0,0,1305, - 1306,5,105,0,0,1306,1307,5,108,0,0,1307,1308,5,100,0,0,1308,1309, - 5,83,0,0,1309,1310,5,101,0,0,1310,1311,5,116,0,0,1311,1312,5,116, - 0,0,1312,1313,5,105,0,0,1313,1314,5,110,0,0,1314,1315,5,103,0,0, - 1315,1316,5,115,0,0,1316,1317,5,73,0,0,1317,1318,5,110,0,0,1318, - 1319,5,69,0,0,1319,1320,5,110,0,0,1320,1321,5,118,0,0,1321,1322, - 5,105,0,0,1322,1323,5,114,0,0,1323,1324,5,111,0,0,1324,1325,5,110, - 0,0,1325,1326,5,109,0,0,1326,1327,5,101,0,0,1327,1328,5,110,0,0, - 1328,1329,5,116,0,0,1329,152,1,0,0,0,1330,1331,5,100,0,0,1331,1332, - 5,101,0,0,1332,1333,5,112,0,0,1333,1334,5,101,0,0,1334,1335,5,110, - 0,0,1335,1336,5,100,0,0,1336,1337,5,101,0,0,1337,1338,5,110,0,0, - 1338,1339,5,99,0,0,1339,1340,5,105,0,0,1340,1341,5,101,0,0,1341, - 1342,5,115,0,0,1342,154,1,0,0,0,1343,1344,5,112,0,0,1344,1345,5, - 114,0,0,1345,1346,5,111,0,0,1346,1347,5,100,0,0,1347,1348,5,117, - 0,0,1348,1349,5,99,0,0,1349,1350,5,116,0,0,1350,1351,5,78,0,0,1351, - 1352,5,97,0,0,1352,1353,5,109,0,0,1353,1354,5,101,0,0,1354,156,1, - 0,0,0,1355,1356,5,112,0,0,1356,1357,5,114,0,0,1357,1358,5,111,0, - 0,1358,1359,5,100,0,0,1359,1360,5,117,0,0,1360,1361,5,99,0,0,1361, - 1362,5,116,0,0,1362,1363,5,82,0,0,1363,1364,5,101,0,0,1364,1365, - 5,102,0,0,1365,1366,5,101,0,0,1366,1367,5,114,0,0,1367,1368,5,101, - 0,0,1368,1369,5,110,0,0,1369,1370,5,99,0,0,1370,1371,5,101,0,0,1371, - 158,1,0,0,0,1372,1373,5,112,0,0,1373,1374,5,114,0,0,1374,1375,5, - 111,0,0,1375,1376,5,100,0,0,1376,1377,5,117,0,0,1377,1378,5,99,0, - 0,1378,1379,5,116,0,0,1379,1380,5,84,0,0,1380,1381,5,121,0,0,1381, - 1382,5,112,0,0,1382,1383,5,101,0,0,1383,160,1,0,0,0,1384,1385,5, - 108,0,0,1385,1386,5,105,0,0,1386,1387,5,110,0,0,1387,1388,5,101, - 0,0,1388,1389,5,69,0,0,1389,1390,5,110,0,0,1390,1391,5,100,0,0,1391, - 1392,5,105,0,0,1392,1393,5,110,0,0,1393,1394,5,103,0,0,1394,162, - 1,0,0,0,1395,1396,5,120,0,0,1396,1397,5,99,0,0,1397,1398,5,76,0, - 0,1398,1399,5,97,0,0,1399,1400,5,110,0,0,1400,1401,5,103,0,0,1401, - 1402,5,117,0,0,1402,1403,5,97,0,0,1403,1404,5,103,0,0,1404,1405, - 5,101,0,0,1405,1406,5,83,0,0,1406,1407,5,112,0,0,1407,1408,5,101, - 0,0,1408,1409,5,99,0,0,1409,1410,5,105,0,0,1410,1411,5,102,0,0,1411, - 1412,5,105,0,0,1412,1413,5,99,0,0,1413,1414,5,97,0,0,1414,1415,5, - 116,0,0,1415,1416,5,105,0,0,1416,1417,5,111,0,0,1417,1418,5,110, - 0,0,1418,1419,5,73,0,0,1419,1420,5,100,0,0,1420,1421,5,101,0,0,1421, - 1422,5,110,0,0,1422,1423,5,116,0,0,1423,1424,5,105,0,0,1424,1425, - 5,102,0,0,1425,1426,5,105,0,0,1426,1427,5,101,0,0,1427,1428,5,114, - 0,0,1428,164,1,0,0,0,1429,1430,5,112,0,0,1430,1431,5,108,0,0,1431, - 1432,5,105,0,0,1432,1433,5,115,0,0,1433,1434,5,116,0,0,1434,1435, - 5,83,0,0,1435,1436,5,116,0,0,1436,1437,5,114,0,0,1437,1438,5,117, - 0,0,1438,1439,5,99,0,0,1439,1440,5,116,0,0,1440,1441,5,117,0,0,1441, - 1442,5,114,0,0,1442,1443,5,101,0,0,1443,1444,5,68,0,0,1444,1445, - 5,101,0,0,1445,1446,5,102,0,0,1446,1447,5,105,0,0,1447,1448,5,110, - 0,0,1448,1449,5,105,0,0,1449,1450,5,116,0,0,1450,1451,5,105,0,0, - 1451,1452,5,111,0,0,1452,1453,5,110,0,0,1453,1454,5,73,0,0,1454, - 1455,5,100,0,0,1455,1456,5,101,0,0,1456,1457,5,110,0,0,1457,1458, - 5,116,0,0,1458,1459,5,105,0,0,1459,1460,5,102,0,0,1460,1461,5,105, - 0,0,1461,1462,5,101,0,0,1462,1463,5,114,0,0,1463,166,1,0,0,0,1464, - 1465,5,97,0,0,1465,1466,5,116,0,0,1466,1467,5,116,0,0,1467,1468, - 5,114,0,0,1468,1469,5,105,0,0,1469,1470,5,98,0,0,1470,1471,5,117, - 0,0,1471,1472,5,116,0,0,1472,1473,5,101,0,0,1473,1474,5,115,0,0, - 1474,168,1,0,0,0,1475,1476,5,76,0,0,1476,1477,5,97,0,0,1477,1478, - 5,115,0,0,1478,1479,5,116,0,0,1479,1480,5,83,0,0,1480,1481,5,119, - 0,0,1481,1482,5,105,0,0,1482,1483,5,102,0,0,1483,1484,5,116,0,0, - 1484,1485,5,77,0,0,1485,1486,5,105,0,0,1486,1487,5,103,0,0,1487, - 1488,5,114,0,0,1488,1489,5,97,0,0,1489,1490,5,116,0,0,1490,1491, - 5,105,0,0,1491,1492,5,111,0,0,1492,1493,5,110,0,0,1493,170,1,0,0, - 0,1494,1495,5,68,0,0,1495,1496,5,101,0,0,1496,1497,5,102,0,0,1497, - 1498,5,97,0,0,1498,1499,5,117,0,0,1499,1500,5,108,0,0,1500,1501, - 5,116,0,0,1501,1502,5,66,0,0,1502,1503,5,117,0,0,1503,1504,5,105, - 0,0,1504,1505,5,108,0,0,1505,1506,5,100,0,0,1506,1507,5,83,0,0,1507, - 1508,5,121,0,0,1508,1509,5,115,0,0,1509,1510,5,116,0,0,1510,1511, - 5,101,0,0,1511,1512,5,109,0,0,1512,1513,5,84,0,0,1513,1514,5,121, - 0,0,1514,1515,5,112,0,0,1515,1516,5,101,0,0,1516,1517,5,70,0,0,1517, - 1518,5,111,0,0,1518,1519,5,114,0,0,1519,1520,5,87,0,0,1520,1521, - 5,111,0,0,1521,1522,5,114,0,0,1522,1523,5,107,0,0,1523,1524,5,115, - 0,0,1524,1525,5,112,0,0,1525,1526,5,97,0,0,1526,1527,5,99,0,0,1527, - 1528,5,101,0,0,1528,172,1,0,0,0,1529,1530,5,76,0,0,1530,1531,5,97, - 0,0,1531,1532,5,115,0,0,1532,1533,5,116,0,0,1533,1534,5,83,0,0,1534, - 1535,5,119,0,0,1535,1536,5,105,0,0,1536,1537,5,102,0,0,1537,1538, - 5,116,0,0,1538,1539,5,85,0,0,1539,1540,5,112,0,0,1540,1541,5,100, - 0,0,1541,1542,5,97,0,0,1542,1543,5,116,0,0,1543,1544,5,101,0,0,1544, - 1545,5,67,0,0,1545,1546,5,104,0,0,1546,1547,5,101,0,0,1547,1548, - 5,99,0,0,1548,1549,5,107,0,0,1549,174,1,0,0,0,1550,1551,5,66,0,0, - 1551,1552,5,117,0,0,1552,1553,5,105,0,0,1553,1554,5,108,0,0,1554, - 1555,5,100,0,0,1555,1556,5,73,0,0,1556,1557,5,110,0,0,1557,1558, - 5,100,0,0,1558,1559,5,101,0,0,1559,1560,5,112,0,0,1560,1561,5,101, - 0,0,1561,1562,5,110,0,0,1562,1563,5,100,0,0,1563,1564,5,101,0,0, - 1564,1565,5,110,0,0,1565,1566,5,116,0,0,1566,1567,5,84,0,0,1567, - 1568,5,97,0,0,1568,1569,5,114,0,0,1569,1570,5,103,0,0,1570,1571, - 5,101,0,0,1571,1572,5,116,0,0,1572,1573,5,115,0,0,1573,1574,5,73, - 0,0,1574,1575,5,110,0,0,1575,1576,5,80,0,0,1576,1577,5,97,0,0,1577, - 1578,5,114,0,0,1578,1579,5,97,0,0,1579,1580,5,108,0,0,1580,1581, - 5,108,0,0,1581,1582,5,101,0,0,1582,1583,5,108,0,0,1583,176,1,0,0, - 0,1584,1585,5,76,0,0,1585,1586,5,97,0,0,1586,1587,5,115,0,0,1587, - 1588,5,116,0,0,1588,1589,5,84,0,0,1589,1590,5,101,0,0,1590,1591, - 5,115,0,0,1591,1592,5,116,0,0,1592,1593,5,105,0,0,1593,1594,5,110, - 0,0,1594,1595,5,103,0,0,1595,1596,5,85,0,0,1596,1597,5,112,0,0,1597, - 1598,5,103,0,0,1598,1599,5,114,0,0,1599,1600,5,97,0,0,1600,1601, - 5,100,0,0,1601,1602,5,101,0,0,1602,1603,5,67,0,0,1603,1604,5,104, - 0,0,1604,1605,5,101,0,0,1605,1606,5,99,0,0,1606,1607,5,107,0,0,1607, - 178,1,0,0,0,1608,1609,5,76,0,0,1609,1610,5,97,0,0,1610,1611,5,115, - 0,0,1611,1612,5,116,0,0,1612,1613,5,85,0,0,1613,1614,5,112,0,0,1614, - 1615,5,103,0,0,1615,1616,5,114,0,0,1616,1617,5,97,0,0,1617,1618, - 5,100,0,0,1618,1619,5,101,0,0,1619,1620,5,67,0,0,1620,1621,5,104, - 0,0,1621,1622,5,101,0,0,1622,1623,5,99,0,0,1623,1624,5,107,0,0,1624, - 180,1,0,0,0,1625,1626,5,79,0,0,1626,1627,5,82,0,0,1627,1628,5,71, - 0,0,1628,1629,5,65,0,0,1629,1630,5,78,0,0,1630,1631,5,73,0,0,1631, - 1632,5,90,0,0,1632,1633,5,65,0,0,1633,1634,5,84,0,0,1634,1635,5, - 73,0,0,1635,1636,5,79,0,0,1636,1637,5,78,0,0,1637,1638,5,78,0,0, - 1638,1639,5,65,0,0,1639,1640,5,77,0,0,1640,1641,5,69,0,0,1641,182, - 1,0,0,0,1642,1643,5,84,0,0,1643,1644,5,97,0,0,1644,1645,5,114,0, - 0,1645,1646,5,103,0,0,1646,1647,5,101,0,0,1647,1648,5,116,0,0,1648, - 1649,5,65,0,0,1649,1650,5,116,0,0,1650,1651,5,116,0,0,1651,1652, - 5,114,0,0,1652,1653,5,105,0,0,1653,1654,5,98,0,0,1654,1655,5,117, - 0,0,1655,1656,5,116,0,0,1656,1657,5,101,0,0,1657,1658,5,115,0,0, - 1658,184,1,0,0,0,1659,1660,5,67,0,0,1660,1661,5,114,0,0,1661,1662, - 5,101,0,0,1662,1663,5,97,0,0,1663,1664,5,116,0,0,1664,1665,5,101, - 0,0,1665,1666,5,100,0,0,1666,1667,5,79,0,0,1667,1668,5,110,0,0,1668, - 1669,5,84,0,0,1669,1670,5,111,0,0,1670,1671,5,111,0,0,1671,1672, - 5,108,0,0,1672,1673,5,115,0,0,1673,1674,5,86,0,0,1674,1675,5,101, - 0,0,1675,1676,5,114,0,0,1676,1677,5,115,0,0,1677,1678,5,105,0,0, - 1678,1679,5,111,0,0,1679,1680,5,110,0,0,1680,186,1,0,0,0,1681,1682, - 5,84,0,0,1682,1683,5,101,0,0,1683,1684,5,115,0,0,1684,1685,5,116, - 0,0,1685,1686,5,84,0,0,1686,1687,5,97,0,0,1687,1688,5,114,0,0,1688, - 1689,5,103,0,0,1689,1690,5,101,0,0,1690,1691,5,116,0,0,1691,1692, - 5,73,0,0,1692,1693,5,68,0,0,1693,188,1,0,0,0,1694,1695,5,68,0,0, - 1695,1696,5,101,0,0,1696,1697,5,118,0,0,1697,1698,5,101,0,0,1698, - 1699,5,108,0,0,1699,1700,5,111,0,0,1700,1701,5,112,0,0,1701,1702, - 5,109,0,0,1702,1703,5,101,0,0,1703,1704,5,110,0,0,1704,1705,5,116, - 0,0,1705,1706,5,84,0,0,1706,1707,5,101,0,0,1707,1708,5,97,0,0,1708, - 1709,5,109,0,0,1709,190,1,0,0,0,1710,1711,5,68,0,0,1711,1712,5,101, - 0,0,1712,1713,5,118,0,0,1713,1714,5,101,0,0,1714,1715,5,108,0,0, - 1715,1716,5,111,0,0,1716,1717,5,112,0,0,1717,1718,5,109,0,0,1718, - 1719,5,101,0,0,1719,1720,5,110,0,0,1720,1721,5,116,0,0,1721,1722, - 5,84,0,0,1722,1723,5,101,0,0,1723,1724,5,97,0,0,1724,1725,5,109, - 0,0,1725,1726,5,78,0,0,1726,1727,5,97,0,0,1727,1728,5,109,0,0,1728, - 1729,5,101,0,0,1729,192,1,0,0,0,1730,1731,5,80,0,0,1731,1732,5,114, - 0,0,1732,1733,5,111,0,0,1733,1734,5,118,0,0,1734,1735,5,105,0,0, - 1735,1736,5,115,0,0,1736,1737,5,105,0,0,1737,1738,5,111,0,0,1738, - 1739,5,110,0,0,1739,1740,5,105,0,0,1740,1741,5,110,0,0,1741,1742, - 5,103,0,0,1742,1743,5,83,0,0,1743,1744,5,116,0,0,1744,1745,5,121, - 0,0,1745,1746,5,108,0,0,1746,1747,5,101,0,0,1747,194,1,0,0,0,1748, - 1749,5,99,0,0,1749,1750,5,111,0,0,1750,1751,5,109,0,0,1751,1752, - 5,112,0,0,1752,1753,5,97,0,0,1753,1754,5,116,0,0,1754,1755,5,105, - 0,0,1755,1756,5,98,0,0,1756,1757,5,105,0,0,1757,1758,5,108,0,0,1758, - 1759,5,105,0,0,1759,1760,5,116,0,0,1760,1761,5,121,0,0,1761,1762, - 5,86,0,0,1762,1763,5,101,0,0,1763,1764,5,114,0,0,1764,1765,5,115, - 0,0,1765,1766,5,105,0,0,1766,1767,5,111,0,0,1767,1768,5,110,0,0, - 1768,196,1,0,0,0,1769,1770,5,100,0,0,1770,1771,5,101,0,0,1771,1772, - 5,118,0,0,1772,1773,5,101,0,0,1773,1774,5,108,0,0,1774,1775,5,111, - 0,0,1775,1776,5,112,0,0,1776,1777,5,109,0,0,1777,1778,5,101,0,0, - 1778,1779,5,110,0,0,1779,1780,5,116,0,0,1780,1781,5,82,0,0,1781, - 1782,5,101,0,0,1782,1783,5,103,0,0,1783,1784,5,105,0,0,1784,1785, - 5,111,0,0,1785,1786,5,110,0,0,1786,198,1,0,0,0,1787,1788,5,104,0, - 0,1788,1789,5,97,0,0,1789,1790,5,115,0,0,1790,1791,5,83,0,0,1791, - 1792,5,99,0,0,1792,1793,5,97,0,0,1793,1794,5,110,0,0,1794,1795,5, - 110,0,0,1795,1796,5,101,0,0,1796,1797,5,100,0,0,1797,1798,5,70,0, - 0,1798,1799,5,111,0,0,1799,1800,5,114,0,0,1800,1801,5,69,0,0,1801, - 1802,5,110,0,0,1802,1803,5,99,0,0,1803,1804,5,111,0,0,1804,1805, - 5,100,0,0,1805,1806,5,105,0,0,1806,1807,5,110,0,0,1807,1808,5,103, - 0,0,1808,1809,5,115,0,0,1809,200,1,0,0,0,1810,1811,5,107,0,0,1811, - 1812,5,110,0,0,1812,1813,5,111,0,0,1813,1814,5,119,0,0,1814,1815, - 5,110,0,0,1815,1816,5,82,0,0,1816,1817,5,101,0,0,1817,1818,5,103, - 0,0,1818,1819,5,105,0,0,1819,1820,5,111,0,0,1820,1821,5,110,0,0, - 1821,1822,5,115,0,0,1822,202,1,0,0,0,1823,1824,5,109,0,0,1824,1825, - 5,97,0,0,1825,1826,5,105,0,0,1826,1827,5,110,0,0,1827,1828,5,71, - 0,0,1828,1829,5,114,0,0,1829,1830,5,111,0,0,1830,1831,5,117,0,0, - 1831,1832,5,112,0,0,1832,204,1,0,0,0,1833,1834,5,112,0,0,1834,1835, - 5,114,0,0,1835,1836,5,111,0,0,1836,1837,5,100,0,0,1837,1838,5,117, - 0,0,1838,1839,5,99,0,0,1839,1840,5,116,0,0,1840,1841,5,82,0,0,1841, - 1842,5,101,0,0,1842,1843,5,102,0,0,1843,1844,5,71,0,0,1844,1845, - 5,114,0,0,1845,1846,5,111,0,0,1846,1847,5,117,0,0,1847,1848,5,112, - 0,0,1848,206,1,0,0,0,1849,1850,5,112,0,0,1850,1851,5,97,0,0,1851, - 1852,5,99,0,0,1852,1853,5,107,0,0,1853,1854,5,97,0,0,1854,1855,5, - 103,0,0,1855,1856,5,101,0,0,1856,1857,5,82,0,0,1857,1858,5,101,0, - 0,1858,1859,5,102,0,0,1859,1860,5,101,0,0,1860,1861,5,114,0,0,1861, - 1862,5,101,0,0,1862,1863,5,110,0,0,1863,1864,5,99,0,0,1864,1865, - 5,101,0,0,1865,1866,5,115,0,0,1866,208,1,0,0,0,1867,1868,5,112,0, - 0,1868,1869,5,114,0,0,1869,1870,5,111,0,0,1870,1871,5,106,0,0,1871, - 1872,5,101,0,0,1872,1873,5,99,0,0,1873,1874,5,116,0,0,1874,1875, - 5,68,0,0,1875,1876,5,105,0,0,1876,1877,5,114,0,0,1877,1878,5,80, - 0,0,1878,1879,5,97,0,0,1879,1880,5,116,0,0,1880,1881,5,104,0,0,1881, - 210,1,0,0,0,1882,1883,5,112,0,0,1883,1884,5,114,0,0,1884,1885,5, - 111,0,0,1885,1886,5,106,0,0,1886,1887,5,101,0,0,1887,1888,5,99,0, - 0,1888,1889,5,116,0,0,1889,1890,5,82,0,0,1890,1891,5,101,0,0,1891, - 1892,5,102,0,0,1892,1893,5,101,0,0,1893,1894,5,114,0,0,1894,1895, - 5,101,0,0,1895,1896,5,110,0,0,1896,1897,5,99,0,0,1897,1898,5,101, - 0,0,1898,1899,5,115,0,0,1899,212,1,0,0,0,1900,1901,5,112,0,0,1901, - 1902,5,114,0,0,1902,1903,5,111,0,0,1903,1904,5,106,0,0,1904,1905, - 5,101,0,0,1905,1906,5,99,0,0,1906,1907,5,116,0,0,1907,1908,5,82, - 0,0,1908,1909,5,111,0,0,1909,1910,5,111,0,0,1910,1911,5,116,0,0, - 1911,214,1,0,0,0,1912,1913,5,116,0,0,1913,1914,5,97,0,0,1914,1915, - 5,114,0,0,1915,1916,5,103,0,0,1916,1917,5,101,0,0,1917,1918,5,116, - 0,0,1918,1919,5,115,0,0,1919,216,1,0,0,0,1920,1921,5,105,0,0,1921, - 1922,5,110,0,0,1922,1923,5,112,0,0,1923,1924,5,117,0,0,1924,1925, - 5,116,0,0,1925,1926,5,70,0,0,1926,1927,5,105,0,0,1927,1928,5,108, - 0,0,1928,1929,5,101,0,0,1929,1930,5,76,0,0,1930,1931,5,105,0,0,1931, - 1932,5,115,0,0,1932,1933,5,116,0,0,1933,1934,5,80,0,0,1934,1935, - 5,97,0,0,1935,1936,5,116,0,0,1936,1937,5,104,0,0,1937,1938,5,115, - 0,0,1938,218,1,0,0,0,1939,1940,5,105,0,0,1940,1941,5,110,0,0,1941, - 1942,5,112,0,0,1942,1943,5,117,0,0,1943,1944,5,116,0,0,1944,1945, - 5,80,0,0,1945,1946,5,97,0,0,1946,1947,5,116,0,0,1947,1948,5,104, - 0,0,1948,1949,5,115,0,0,1949,220,1,0,0,0,1950,1951,5,111,0,0,1951, - 1952,5,117,0,0,1952,1953,5,116,0,0,1953,1954,5,112,0,0,1954,1955, - 5,117,0,0,1955,1956,5,116,0,0,1956,1957,5,70,0,0,1957,1958,5,105, - 0,0,1958,1959,5,108,0,0,1959,1960,5,101,0,0,1960,1961,5,76,0,0,1961, - 1962,5,105,0,0,1962,1963,5,115,0,0,1963,1964,5,116,0,0,1964,1965, - 5,80,0,0,1965,1966,5,97,0,0,1966,1967,5,116,0,0,1967,1968,5,104, - 0,0,1968,1969,5,115,0,0,1969,222,1,0,0,0,1970,1971,5,111,0,0,1971, - 1972,5,117,0,0,1972,1973,5,116,0,0,1973,1974,5,112,0,0,1974,1975, - 5,117,0,0,1975,1976,5,116,0,0,1976,1977,5,80,0,0,1977,1978,5,97, - 0,0,1978,1979,5,116,0,0,1979,1980,5,104,0,0,1980,1981,5,115,0,0, - 1981,224,1,0,0,0,1982,1983,5,115,0,0,1983,1984,5,104,0,0,1984,1985, - 5,101,0,0,1985,1986,5,108,0,0,1986,1987,5,108,0,0,1987,1988,5,80, - 0,0,1988,1989,5,97,0,0,1989,1990,5,116,0,0,1990,1991,5,104,0,0,1991, - 226,1,0,0,0,1992,1993,5,115,0,0,1993,1994,5,104,0,0,1994,1995,5, - 101,0,0,1995,1996,5,108,0,0,1996,1997,5,108,0,0,1997,1998,5,83,0, - 0,1998,1999,5,99,0,0,1999,2000,5,114,0,0,2000,2001,5,105,0,0,2001, - 2002,5,112,0,0,2002,2003,5,116,0,0,2003,228,1,0,0,0,2004,2005,5, - 115,0,0,2005,2006,5,104,0,0,2006,2007,5,111,0,0,2007,2008,5,119, - 0,0,2008,2009,5,69,0,0,2009,2010,5,110,0,0,2010,2011,5,118,0,0,2011, - 2012,5,86,0,0,2012,2013,5,97,0,0,2013,2014,5,114,0,0,2014,2015,5, - 115,0,0,2015,2016,5,73,0,0,2016,2017,5,110,0,0,2017,2018,5,76,0, - 0,2018,2019,5,111,0,0,2019,2020,5,103,0,0,2020,230,1,0,0,0,2021, - 2022,5,116,0,0,2022,2023,5,97,0,0,2023,2024,5,114,0,0,2024,2025, - 5,103,0,0,2025,2026,5,101,0,0,2026,2027,5,116,0,0,2027,232,1,0,0, - 0,2028,2029,5,116,0,0,2029,2030,5,97,0,0,2030,2031,5,114,0,0,2031, - 2032,5,103,0,0,2032,2033,5,101,0,0,2033,2034,5,116,0,0,2034,2035, - 5,80,0,0,2035,2036,5,114,0,0,2036,2037,5,111,0,0,2037,2038,5,120, - 0,0,2038,2039,5,121,0,0,2039,234,1,0,0,0,2040,2041,5,102,0,0,2041, - 2042,5,105,0,0,2042,2043,5,108,0,0,2043,2044,5,101,0,0,2044,2045, - 5,84,0,0,2045,2046,5,121,0,0,2046,2047,5,112,0,0,2047,2048,5,101, - 0,0,2048,236,1,0,0,0,2049,2050,5,114,0,0,2050,2051,5,101,0,0,2051, - 2052,5,109,0,0,2052,2053,5,111,0,0,2053,2054,5,116,0,0,2054,2055, - 5,101,0,0,2055,2056,5,82,0,0,2056,2057,5,101,0,0,2057,2058,5,102, - 0,0,2058,238,1,0,0,0,2059,2060,5,98,0,0,2060,2061,5,97,0,0,2061, - 2062,5,115,0,0,2062,2063,5,101,0,0,2063,2064,5,67,0,0,2064,2065, - 5,111,0,0,2065,2066,5,110,0,0,2066,2067,5,102,0,0,2067,2068,5,105, - 0,0,2068,2069,5,103,0,0,2069,2070,5,117,0,0,2070,2071,5,114,0,0, - 2071,2072,5,97,0,0,2072,2073,5,116,0,0,2073,2074,5,105,0,0,2074, - 2075,5,111,0,0,2075,2076,5,110,0,0,2076,2077,5,82,0,0,2077,2078, - 5,101,0,0,2078,2079,5,102,0,0,2079,2080,5,101,0,0,2080,2081,5,114, - 0,0,2081,2082,5,101,0,0,2082,2083,5,110,0,0,2083,2084,5,99,0,0,2084, - 2085,5,101,0,0,2085,240,1,0,0,0,2086,2087,5,98,0,0,2087,2088,5,117, - 0,0,2088,2089,5,105,0,0,2089,2090,5,108,0,0,2090,2091,5,100,0,0, - 2091,2092,5,83,0,0,2092,2093,5,101,0,0,2093,2094,5,116,0,0,2094, - 2095,5,116,0,0,2095,2096,5,105,0,0,2096,2097,5,110,0,0,2097,2098, - 5,103,0,0,2098,2099,5,115,0,0,2099,242,1,0,0,0,2100,2101,5,100,0, - 0,2101,2102,5,115,0,0,2102,2103,5,116,0,0,2103,2104,5,80,0,0,2104, - 2105,5,97,0,0,2105,2106,5,116,0,0,2106,2107,5,104,0,0,2107,244,1, - 0,0,0,2108,2109,5,100,0,0,2109,2110,5,115,0,0,2110,2111,5,116,0, - 0,2111,2112,5,83,0,0,2112,2113,5,117,0,0,2113,2114,5,98,0,0,2114, - 2115,5,102,0,0,2115,2116,5,111,0,0,2116,2117,5,108,0,0,2117,2118, - 5,100,0,0,2118,2119,5,101,0,0,2119,2120,5,114,0,0,2120,2121,5,83, - 0,0,2121,2122,5,112,0,0,2122,2123,5,101,0,0,2123,2124,5,99,0,0,2124, - 246,1,0,0,0,2125,2126,5,80,0,0,2126,2127,5,114,0,0,2127,2128,5,111, - 0,0,2128,2129,5,100,0,0,2129,2130,5,117,0,0,2130,2131,5,99,0,0,2131, - 2132,5,116,0,0,2132,2133,5,71,0,0,2133,2134,5,114,0,0,2134,2135, - 5,111,0,0,2135,2136,5,117,0,0,2136,2137,5,112,0,0,2137,248,1,0,0, - 0,2138,2139,5,80,0,0,2139,2140,5,114,0,0,2140,2141,5,111,0,0,2141, - 2142,5,106,0,0,2142,2143,5,101,0,0,2143,2144,5,99,0,0,2144,2145, - 5,116,0,0,2145,2146,5,82,0,0,2146,2147,5,101,0,0,2147,2148,5,102, - 0,0,2148,250,1,0,0,0,2149,2150,5,98,0,0,2150,2151,5,117,0,0,2151, - 2152,5,105,0,0,2152,2153,5,108,0,0,2153,2154,5,100,0,0,2154,2155, - 5,67,0,0,2155,2156,5,111,0,0,2156,2157,5,110,0,0,2157,2158,5,102, - 0,0,2158,2159,5,105,0,0,2159,2160,5,103,0,0,2160,2161,5,117,0,0, - 2161,2162,5,114,0,0,2162,2163,5,97,0,0,2163,2164,5,116,0,0,2164, - 2165,5,105,0,0,2165,2166,5,111,0,0,2166,2167,5,110,0,0,2167,2168, - 5,115,0,0,2168,252,1,0,0,0,2169,2170,5,100,0,0,2170,2171,5,101,0, - 0,2171,2172,5,102,0,0,2172,2173,5,97,0,0,2173,2174,5,117,0,0,2174, - 2175,5,108,0,0,2175,2176,5,116,0,0,2176,2177,5,67,0,0,2177,2178, - 5,111,0,0,2178,2179,5,110,0,0,2179,2180,5,102,0,0,2180,2181,5,105, - 0,0,2181,2182,5,103,0,0,2182,2183,5,117,0,0,2183,2184,5,114,0,0, - 2184,2185,5,97,0,0,2185,2186,5,116,0,0,2186,2187,5,105,0,0,2187, - 2188,5,111,0,0,2188,2189,5,110,0,0,2189,2190,5,73,0,0,2190,2191, - 5,115,0,0,2191,2192,5,86,0,0,2192,2193,5,105,0,0,2193,2194,5,115, - 0,0,2194,2195,5,105,0,0,2195,2196,5,98,0,0,2196,2197,5,108,0,0,2197, - 2198,5,101,0,0,2198,254,1,0,0,0,2199,2200,5,100,0,0,2200,2201,5, - 101,0,0,2201,2202,5,102,0,0,2202,2203,5,97,0,0,2203,2204,5,117,0, - 0,2204,2205,5,108,0,0,2205,2206,5,116,0,0,2206,2207,5,67,0,0,2207, - 2208,5,111,0,0,2208,2209,5,110,0,0,2209,2210,5,102,0,0,2210,2211, - 5,105,0,0,2211,2212,5,103,0,0,2212,2213,5,117,0,0,2213,2214,5,114, - 0,0,2214,2215,5,97,0,0,2215,2216,5,116,0,0,2216,2217,5,105,0,0,2217, - 2218,5,111,0,0,2218,2219,5,110,0,0,2219,2220,5,78,0,0,2220,2221, - 5,97,0,0,2221,2222,5,109,0,0,2222,2223,5,101,0,0,2223,256,1,0,0, - 0,2224,2225,5,115,0,0,2225,2226,5,101,0,0,2226,2227,5,116,0,0,2227, - 2228,5,116,0,0,2228,2229,5,105,0,0,2229,2230,5,110,0,0,2230,2231, - 5,103,0,0,2231,2232,5,115,0,0,2232,258,1,0,0,0,2233,2234,5,83,0, - 0,2234,2235,5,121,0,0,2235,2236,5,115,0,0,2236,2237,5,116,0,0,2237, - 2238,5,101,0,0,2238,2239,5,109,0,0,2239,2240,5,67,0,0,2240,2241, - 5,97,0,0,2241,2242,5,112,0,0,2242,2243,5,97,0,0,2243,2244,5,98,0, - 0,2244,2245,5,105,0,0,2245,2246,5,108,0,0,2246,2247,5,105,0,0,2247, - 2248,5,116,0,0,2248,2249,5,105,0,0,2249,2250,5,101,0,0,2250,2251, - 5,115,0,0,2251,260,1,0,0,0,2252,2253,5,99,0,0,2253,2254,5,117,0, - 0,2254,2255,5,114,0,0,2255,2256,5,114,0,0,2256,2257,5,101,0,0,2257, - 2258,5,110,0,0,2258,2259,5,116,0,0,2259,2260,5,86,0,0,2260,2261, - 5,101,0,0,2261,2262,5,114,0,0,2262,2263,5,115,0,0,2263,2264,5,105, - 0,0,2264,2265,5,111,0,0,2265,2266,5,110,0,0,2266,262,1,0,0,0,2267, - 2268,5,118,0,0,2268,2269,5,101,0,0,2269,2270,5,114,0,0,2270,2271, - 5,115,0,0,2271,2272,5,105,0,0,2272,2273,5,111,0,0,2273,2274,5,110, - 0,0,2274,2275,5,71,0,0,2275,2276,5,114,0,0,2276,2277,5,111,0,0,2277, - 2278,5,117,0,0,2278,2279,5,112,0,0,2279,2280,5,84,0,0,2280,2281, - 5,121,0,0,2281,2282,5,112,0,0,2282,2283,5,101,0,0,2283,264,1,0,0, - 0,2284,2285,5,67,0,0,2285,2286,5,76,0,0,2286,2287,5,65,0,0,2287, - 2288,5,83,0,0,2288,2289,5,83,0,0,2289,2290,5,80,0,0,2290,2291,5, - 82,0,0,2291,2292,5,69,0,0,2292,2293,5,70,0,0,2293,2294,5,73,0,0, - 2294,2295,5,88,0,0,2295,266,1,0,0,0,2296,2297,3,279,139,0,2297,2298, - 3,279,139,0,2298,2299,3,279,139,0,2299,2300,3,279,139,0,2300,2301, - 3,279,139,0,2301,2302,3,279,139,0,2302,2303,3,279,139,0,2303,2304, - 3,279,139,0,2304,2305,3,279,139,0,2305,2306,3,279,139,0,2306,2307, - 3,279,139,0,2307,2308,3,279,139,0,2308,2309,3,279,139,0,2309,2310, - 3,279,139,0,2310,2311,3,279,139,0,2311,2312,3,279,139,0,2312,2313, - 3,279,139,0,2313,2314,3,279,139,0,2314,2315,3,279,139,0,2315,2316, - 3,279,139,0,2316,2317,3,279,139,0,2317,2318,3,279,139,0,2318,2319, - 3,279,139,0,2319,2321,3,279,139,0,2320,2322,3,279,139,0,2321,2320, - 1,0,0,0,2321,2322,1,0,0,0,2322,2324,1,0,0,0,2323,2325,3,279,139, - 0,2324,2323,1,0,0,0,2324,2325,1,0,0,0,2325,2327,1,0,0,0,2326,2328, - 3,279,139,0,2327,2326,1,0,0,0,2327,2328,1,0,0,0,2328,2330,1,0,0, - 0,2329,2331,3,279,139,0,2330,2329,1,0,0,0,2330,2331,1,0,0,0,2331, - 2333,1,0,0,0,2332,2334,3,279,139,0,2333,2332,1,0,0,0,2333,2334,1, - 0,0,0,2334,2336,1,0,0,0,2335,2337,3,279,139,0,2336,2335,1,0,0,0, - 2336,2337,1,0,0,0,2337,2339,1,0,0,0,2338,2340,3,279,139,0,2339,2338, - 1,0,0,0,2339,2340,1,0,0,0,2340,2342,1,0,0,0,2341,2343,3,279,139, - 0,2342,2341,1,0,0,0,2342,2343,1,0,0,0,2343,2382,1,0,0,0,2344,2345, - 5,70,0,0,2345,2346,5,82,0,0,2346,2350,5,95,0,0,2347,2348,5,71,0, - 0,2348,2350,5,95,0,0,2349,2344,1,0,0,0,2349,2347,1,0,0,0,2350,2352, - 1,0,0,0,2351,2353,3,279,139,0,2352,2351,1,0,0,0,2353,2354,1,0,0, - 0,2354,2352,1,0,0,0,2354,2355,1,0,0,0,2355,2382,1,0,0,0,2356,2357, - 3,277,138,0,2357,2358,3,277,138,0,2358,2359,3,277,138,0,2359,2360, - 3,277,138,0,2360,2361,3,277,138,0,2361,2362,3,277,138,0,2362,2363, - 3,277,138,0,2363,2364,3,277,138,0,2364,2365,3,277,138,0,2365,2366, - 3,277,138,0,2366,2367,3,277,138,0,2367,2368,3,277,138,0,2368,2369, - 3,277,138,0,2369,2370,3,277,138,0,2370,2371,3,277,138,0,2371,2372, - 3,277,138,0,2372,2373,3,277,138,0,2373,2374,3,277,138,0,2374,2375, - 3,277,138,0,2375,2376,3,277,138,0,2376,2377,3,277,138,0,2377,2378, - 3,277,138,0,2378,2379,3,277,138,0,2379,2380,3,277,138,0,2380,2382, - 1,0,0,0,2381,2296,1,0,0,0,2381,2349,1,0,0,0,2381,2356,1,0,0,0,2382, - 268,1,0,0,0,2383,2385,5,34,0,0,2384,2386,3,281,140,0,2385,2384,1, - 0,0,0,2386,2387,1,0,0,0,2387,2385,1,0,0,0,2387,2388,1,0,0,0,2388, - 2389,1,0,0,0,2389,2390,5,34,0,0,2390,2394,1,0,0,0,2391,2392,5,34, - 0,0,2392,2394,5,34,0,0,2393,2383,1,0,0,0,2393,2391,1,0,0,0,2394, - 270,1,0,0,0,2395,2401,3,275,137,0,2396,2401,3,35,17,0,2397,2401, - 3,19,9,0,2398,2401,3,33,16,0,2399,2401,3,21,10,0,2400,2395,1,0,0, - 0,2400,2396,1,0,0,0,2400,2397,1,0,0,0,2400,2398,1,0,0,0,2400,2399, - 1,0,0,0,2401,2402,1,0,0,0,2402,2400,1,0,0,0,2402,2403,1,0,0,0,2403, - 272,1,0,0,0,2404,2405,5,36,0,0,2405,2407,3,271,135,0,2406,2404,1, - 0,0,0,2407,2408,1,0,0,0,2408,2406,1,0,0,0,2408,2409,1,0,0,0,2409, - 2411,1,0,0,0,2410,2412,3,33,16,0,2411,2410,1,0,0,0,2411,2412,1,0, - 0,0,2412,274,1,0,0,0,2413,2414,7,1,0,0,2414,276,1,0,0,0,2415,2416, - 7,2,0,0,2416,278,1,0,0,0,2417,2418,7,3,0,0,2418,280,1,0,0,0,2419, - 2423,8,4,0,0,2420,2421,5,92,0,0,2421,2423,5,34,0,0,2422,2419,1,0, - 0,0,2422,2420,1,0,0,0,2423,282,1,0,0,0,2424,2426,7,5,0,0,2425,2424, - 1,0,0,0,2426,2427,1,0,0,0,2427,2425,1,0,0,0,2427,2428,1,0,0,0,2428, - 2429,1,0,0,0,2429,2430,6,141,0,0,2430,284,1,0,0,0,2431,2432,5,47, - 0,0,2432,2433,5,42,0,0,2433,2437,1,0,0,0,2434,2436,9,0,0,0,2435, - 2434,1,0,0,0,2436,2439,1,0,0,0,2437,2438,1,0,0,0,2437,2435,1,0,0, - 0,2438,2440,1,0,0,0,2439,2437,1,0,0,0,2440,2441,5,42,0,0,2441,2442, - 5,47,0,0,2442,2443,1,0,0,0,2443,2444,6,142,0,0,2444,286,1,0,0,0, - 2445,2446,5,47,0,0,2446,2447,5,47,0,0,2447,2451,1,0,0,0,2448,2450, - 8,6,0,0,2449,2448,1,0,0,0,2450,2453,1,0,0,0,2451,2449,1,0,0,0,2451, - 2452,1,0,0,0,2452,2454,1,0,0,0,2453,2451,1,0,0,0,2454,2455,6,143, - 0,0,2455,288,1,0,0,0,23,0,337,2321,2324,2327,2330,2333,2336,2339, - 2342,2349,2354,2381,2387,2393,2400,2402,2408,2411,2422,2427,2437, - 2451,1,6,0,0 + 1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132, + 1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133, + 1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134, + 1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134, + 1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134, + 1,134,1,134,3,134,2340,8,134,1,134,3,134,2343,8,134,1,134,3,134, + 2346,8,134,1,134,3,134,2349,8,134,1,134,3,134,2352,8,134,1,134,3, + 134,2355,8,134,1,134,3,134,2358,8,134,1,134,3,134,2361,8,134,1,134, + 1,134,1,134,1,134,1,134,3,134,2368,8,134,1,134,4,134,2371,8,134, + 11,134,12,134,2372,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134, + 1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134, + 1,134,1,134,1,134,1,134,1,134,1,134,3,134,2400,8,134,1,135,1,135, + 4,135,2404,8,135,11,135,12,135,2405,1,135,1,135,1,135,1,135,3,135, + 2412,8,135,1,136,1,136,1,136,1,136,1,136,4,136,2419,8,136,11,136, + 12,136,2420,1,137,1,137,4,137,2425,8,137,11,137,12,137,2426,1,137, + 3,137,2430,8,137,1,138,1,138,1,139,1,139,1,140,1,140,1,141,1,141, + 1,141,3,141,2441,8,141,1,142,4,142,2444,8,142,11,142,12,142,2445, + 1,142,1,142,1,143,1,143,1,143,1,143,5,143,2454,8,143,10,143,12,143, + 2457,9,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144, + 5,144,2468,8,144,10,144,12,144,2471,9,144,1,144,1,144,1,2455,0,145, + 1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13, + 27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24, + 49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35, + 71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46, + 93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56, + 113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131, + 66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75, + 151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169, + 85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94, + 189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103, + 207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111, + 223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119, + 239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127, + 255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135, + 271,136,273,137,275,138,277,139,279,140,281,0,283,0,285,141,287, + 142,289,143,1,0,7,1,0,48,57,3,0,48,57,65,90,97,122,2,0,48,57,65, + 90,3,0,48,57,65,70,97,102,1,0,34,34,3,0,9,10,12,13,32,32,2,0,10, + 10,13,13,2497,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0, + 9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0, + 19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0, + 29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0, + 39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0, + 49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0, + 59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0, + 69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0, + 79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0, + 89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0, + 99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0, + 0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117, + 1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0, + 0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1, + 0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0, + 145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0, + 0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163, + 1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0, + 0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1, + 0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0, + 191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0, + 0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209, + 1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0, + 0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1, + 0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0, + 237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0, + 0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255, + 1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0, + 0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1, + 0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,285,1,0,0,0,0, + 287,1,0,0,0,0,289,1,0,0,0,1,291,1,0,0,0,3,293,1,0,0,0,5,295,1,0, + 0,0,7,297,1,0,0,0,9,299,1,0,0,0,11,301,1,0,0,0,13,303,1,0,0,0,15, + 305,1,0,0,0,17,320,1,0,0,0,19,328,1,0,0,0,21,330,1,0,0,0,23,332, + 1,0,0,0,25,337,1,0,0,0,27,341,1,0,0,0,29,355,1,0,0,0,31,363,1,0, + 0,0,33,374,1,0,0,0,35,376,1,0,0,0,37,378,1,0,0,0,39,397,1,0,0,0, + 41,410,1,0,0,0,43,432,1,0,0,0,45,455,1,0,0,0,47,472,1,0,0,0,49,496, + 1,0,0,0,51,505,1,0,0,0,53,526,1,0,0,0,55,542,1,0,0,0,57,558,1,0, + 0,0,59,569,1,0,0,0,61,587,1,0,0,0,63,610,1,0,0,0,65,635,1,0,0,0, + 67,656,1,0,0,0,69,676,1,0,0,0,71,692,1,0,0,0,73,713,1,0,0,0,75,733, + 1,0,0,0,77,763,1,0,0,0,79,795,1,0,0,0,81,810,1,0,0,0,83,826,1,0, + 0,0,85,834,1,0,0,0,87,845,1,0,0,0,89,861,1,0,0,0,91,871,1,0,0,0, + 93,892,1,0,0,0,95,903,1,0,0,0,97,916,1,0,0,0,99,925,1,0,0,0,101, + 942,1,0,0,0,103,960,1,0,0,0,105,975,1,0,0,0,107,987,1,0,0,0,109, + 996,1,0,0,0,111,1005,1,0,0,0,113,1016,1,0,0,0,115,1031,1,0,0,0,117, + 1047,1,0,0,0,119,1056,1,0,0,0,121,1075,1,0,0,0,123,1089,1,0,0,0, + 125,1101,1,0,0,0,127,1109,1,0,0,0,129,1136,1,0,0,0,131,1141,1,0, + 0,0,133,1146,1,0,0,0,135,1157,1,0,0,0,137,1173,1,0,0,0,139,1179, + 1,0,0,0,141,1214,1,0,0,0,143,1237,1,0,0,0,145,1249,1,0,0,0,147,1260, + 1,0,0,0,149,1281,1,0,0,0,151,1295,1,0,0,0,153,1317,1,0,0,0,155,1348, + 1,0,0,0,157,1361,1,0,0,0,159,1373,1,0,0,0,161,1390,1,0,0,0,163,1402, + 1,0,0,0,165,1413,1,0,0,0,167,1447,1,0,0,0,169,1482,1,0,0,0,171,1493, + 1,0,0,0,173,1512,1,0,0,0,175,1547,1,0,0,0,177,1568,1,0,0,0,179,1602, + 1,0,0,0,181,1626,1,0,0,0,183,1643,1,0,0,0,185,1660,1,0,0,0,187,1677, + 1,0,0,0,189,1699,1,0,0,0,191,1712,1,0,0,0,193,1728,1,0,0,0,195,1748, + 1,0,0,0,197,1766,1,0,0,0,199,1787,1,0,0,0,201,1805,1,0,0,0,203,1828, + 1,0,0,0,205,1841,1,0,0,0,207,1851,1,0,0,0,209,1867,1,0,0,0,211,1885, + 1,0,0,0,213,1900,1,0,0,0,215,1918,1,0,0,0,217,1930,1,0,0,0,219,1938, + 1,0,0,0,221,1957,1,0,0,0,223,1968,1,0,0,0,225,1988,1,0,0,0,227,2000, + 1,0,0,0,229,2010,1,0,0,0,231,2022,1,0,0,0,233,2039,1,0,0,0,235,2046, + 1,0,0,0,237,2058,1,0,0,0,239,2067,1,0,0,0,241,2077,1,0,0,0,243,2104, + 1,0,0,0,245,2118,1,0,0,0,247,2126,1,0,0,0,249,2143,1,0,0,0,251,2156, + 1,0,0,0,253,2167,1,0,0,0,255,2187,1,0,0,0,257,2217,1,0,0,0,259,2242, + 1,0,0,0,261,2251,1,0,0,0,263,2270,1,0,0,0,265,2285,1,0,0,0,267,2302, + 1,0,0,0,269,2399,1,0,0,0,271,2411,1,0,0,0,273,2418,1,0,0,0,275,2424, + 1,0,0,0,277,2431,1,0,0,0,279,2433,1,0,0,0,281,2435,1,0,0,0,283,2440, + 1,0,0,0,285,2443,1,0,0,0,287,2449,1,0,0,0,289,2463,1,0,0,0,291,292, + 5,123,0,0,292,2,1,0,0,0,293,294,5,125,0,0,294,4,1,0,0,0,295,296, + 5,61,0,0,296,6,1,0,0,0,297,298,5,59,0,0,298,8,1,0,0,0,299,300,5, + 40,0,0,300,10,1,0,0,0,301,302,5,44,0,0,302,12,1,0,0,0,303,304,5, + 41,0,0,304,14,1,0,0,0,305,306,5,97,0,0,306,307,5,114,0,0,307,308, + 5,99,0,0,308,309,5,104,0,0,309,310,5,105,0,0,310,311,5,118,0,0,311, + 312,5,101,0,0,312,313,5,86,0,0,313,314,5,101,0,0,314,315,5,114,0, + 0,315,316,5,115,0,0,316,317,5,105,0,0,317,318,5,111,0,0,318,319, + 5,110,0,0,319,16,1,0,0,0,320,321,5,99,0,0,321,322,5,108,0,0,322, + 323,5,97,0,0,323,324,5,115,0,0,324,325,5,115,0,0,325,326,5,101,0, + 0,326,327,5,115,0,0,327,18,1,0,0,0,328,329,5,45,0,0,329,20,1,0,0, + 0,330,331,5,46,0,0,331,22,1,0,0,0,332,333,5,105,0,0,333,334,5,115, + 0,0,334,335,5,97,0,0,335,24,1,0,0,0,336,338,7,0,0,0,337,336,1,0, + 0,0,338,339,1,0,0,0,339,337,1,0,0,0,339,340,1,0,0,0,340,26,1,0,0, + 0,341,342,5,111,0,0,342,343,5,98,0,0,343,344,5,106,0,0,344,345,5, + 101,0,0,345,346,5,99,0,0,346,347,5,116,0,0,347,348,5,86,0,0,348, + 349,5,101,0,0,349,350,5,114,0,0,350,351,5,115,0,0,351,352,5,105, + 0,0,352,353,5,111,0,0,353,354,5,110,0,0,354,28,1,0,0,0,355,356,5, + 111,0,0,356,357,5,98,0,0,357,358,5,106,0,0,358,359,5,101,0,0,359, + 360,5,99,0,0,360,361,5,116,0,0,361,362,5,115,0,0,362,30,1,0,0,0, + 363,364,5,114,0,0,364,365,5,111,0,0,365,366,5,111,0,0,366,367,5, + 116,0,0,367,368,5,79,0,0,368,369,5,98,0,0,369,370,5,106,0,0,370, + 371,5,101,0,0,371,372,5,99,0,0,372,373,5,116,0,0,373,32,1,0,0,0, + 374,375,5,47,0,0,375,34,1,0,0,0,376,377,5,95,0,0,377,36,1,0,0,0, + 378,379,5,80,0,0,379,380,5,66,0,0,380,381,5,88,0,0,381,382,5,65, + 0,0,382,383,5,103,0,0,383,384,5,103,0,0,384,385,5,114,0,0,385,386, + 5,101,0,0,386,387,5,103,0,0,387,388,5,97,0,0,388,389,5,116,0,0,389, + 390,5,101,0,0,390,391,5,84,0,0,391,392,5,97,0,0,392,393,5,114,0, + 0,393,394,5,103,0,0,394,395,5,101,0,0,395,396,5,116,0,0,396,38,1, + 0,0,0,397,398,5,80,0,0,398,399,5,66,0,0,399,400,5,88,0,0,400,401, + 5,66,0,0,401,402,5,117,0,0,402,403,5,105,0,0,403,404,5,108,0,0,404, + 405,5,100,0,0,405,406,5,70,0,0,406,407,5,105,0,0,407,408,5,108,0, + 0,408,409,5,101,0,0,409,40,1,0,0,0,410,411,5,80,0,0,411,412,5,66, + 0,0,412,413,5,88,0,0,413,414,5,67,0,0,414,415,5,111,0,0,415,416, + 5,110,0,0,416,417,5,116,0,0,417,418,5,97,0,0,418,419,5,105,0,0,419, + 420,5,110,0,0,420,421,5,101,0,0,421,422,5,114,0,0,422,423,5,73,0, + 0,423,424,5,116,0,0,424,425,5,101,0,0,425,426,5,109,0,0,426,427, + 5,80,0,0,427,428,5,114,0,0,428,429,5,111,0,0,429,430,5,120,0,0,430, + 431,5,121,0,0,431,42,1,0,0,0,432,433,5,80,0,0,433,434,5,66,0,0,434, + 435,5,88,0,0,435,436,5,67,0,0,436,437,5,111,0,0,437,438,5,112,0, + 0,438,439,5,121,0,0,439,440,5,70,0,0,440,441,5,105,0,0,441,442,5, + 108,0,0,442,443,5,101,0,0,443,444,5,115,0,0,444,445,5,66,0,0,445, + 446,5,117,0,0,446,447,5,105,0,0,447,448,5,108,0,0,448,449,5,100, + 0,0,449,450,5,80,0,0,450,451,5,104,0,0,451,452,5,97,0,0,452,453, + 5,115,0,0,453,454,5,101,0,0,454,44,1,0,0,0,455,456,5,80,0,0,456, + 457,5,66,0,0,457,458,5,88,0,0,458,459,5,70,0,0,459,460,5,105,0,0, + 460,461,5,108,0,0,461,462,5,101,0,0,462,463,5,82,0,0,463,464,5,101, + 0,0,464,465,5,102,0,0,465,466,5,101,0,0,466,467,5,114,0,0,467,468, + 5,101,0,0,468,469,5,110,0,0,469,470,5,99,0,0,470,471,5,101,0,0,471, + 46,1,0,0,0,472,473,5,80,0,0,473,474,5,66,0,0,474,475,5,88,0,0,475, + 476,5,70,0,0,476,477,5,114,0,0,477,478,5,97,0,0,478,479,5,109,0, + 0,479,480,5,101,0,0,480,481,5,119,0,0,481,482,5,111,0,0,482,483, + 5,114,0,0,483,484,5,107,0,0,484,485,5,115,0,0,485,486,5,66,0,0,486, + 487,5,117,0,0,487,488,5,105,0,0,488,489,5,108,0,0,489,490,5,100, + 0,0,490,491,5,80,0,0,491,492,5,104,0,0,492,493,5,97,0,0,493,494, + 5,115,0,0,494,495,5,101,0,0,495,48,1,0,0,0,496,497,5,80,0,0,497, + 498,5,66,0,0,498,499,5,88,0,0,499,500,5,71,0,0,500,501,5,114,0,0, + 501,502,5,111,0,0,502,503,5,117,0,0,503,504,5,112,0,0,504,50,1,0, + 0,0,505,506,5,80,0,0,506,507,5,66,0,0,507,508,5,88,0,0,508,509,5, + 72,0,0,509,510,5,101,0,0,510,511,5,97,0,0,511,512,5,100,0,0,512, + 513,5,101,0,0,513,514,5,114,0,0,514,515,5,115,0,0,515,516,5,66,0, + 0,516,517,5,117,0,0,517,518,5,105,0,0,518,519,5,108,0,0,519,520, + 5,100,0,0,520,521,5,80,0,0,521,522,5,104,0,0,522,523,5,97,0,0,523, + 524,5,115,0,0,524,525,5,101,0,0,525,52,1,0,0,0,526,527,5,80,0,0, + 527,528,5,66,0,0,528,529,5,88,0,0,529,530,5,78,0,0,530,531,5,97, + 0,0,531,532,5,116,0,0,532,533,5,105,0,0,533,534,5,118,0,0,534,535, + 5,101,0,0,535,536,5,84,0,0,536,537,5,97,0,0,537,538,5,114,0,0,538, + 539,5,103,0,0,539,540,5,101,0,0,540,541,5,116,0,0,541,54,1,0,0,0, + 542,543,5,80,0,0,543,544,5,66,0,0,544,545,5,88,0,0,545,546,5,76, + 0,0,546,547,5,101,0,0,547,548,5,103,0,0,548,549,5,97,0,0,549,550, + 5,99,0,0,550,551,5,121,0,0,551,552,5,84,0,0,552,553,5,97,0,0,553, + 554,5,114,0,0,554,555,5,103,0,0,555,556,5,101,0,0,556,557,5,116, + 0,0,557,56,1,0,0,0,558,559,5,80,0,0,559,560,5,66,0,0,560,561,5,88, + 0,0,561,562,5,80,0,0,562,563,5,114,0,0,563,564,5,111,0,0,564,565, + 5,106,0,0,565,566,5,101,0,0,566,567,5,99,0,0,567,568,5,116,0,0,568, + 58,1,0,0,0,569,570,5,80,0,0,570,571,5,66,0,0,571,572,5,88,0,0,572, + 573,5,82,0,0,573,574,5,101,0,0,574,575,5,102,0,0,575,576,5,101,0, + 0,576,577,5,114,0,0,577,578,5,101,0,0,578,579,5,110,0,0,579,580, + 5,99,0,0,580,581,5,101,0,0,581,582,5,80,0,0,582,583,5,114,0,0,583, + 584,5,111,0,0,584,585,5,120,0,0,585,586,5,121,0,0,586,60,1,0,0,0, + 587,588,5,80,0,0,588,589,5,66,0,0,589,590,5,88,0,0,590,591,5,82, + 0,0,591,592,5,101,0,0,592,593,5,115,0,0,593,594,5,111,0,0,594,595, + 5,117,0,0,595,596,5,114,0,0,596,597,5,99,0,0,597,598,5,101,0,0,598, + 599,5,115,0,0,599,600,5,66,0,0,600,601,5,117,0,0,601,602,5,105,0, + 0,602,603,5,108,0,0,603,604,5,100,0,0,604,605,5,80,0,0,605,606,5, + 104,0,0,606,607,5,97,0,0,607,608,5,115,0,0,608,609,5,101,0,0,609, + 62,1,0,0,0,610,611,5,80,0,0,611,612,5,66,0,0,612,613,5,88,0,0,613, + 614,5,83,0,0,614,615,5,104,0,0,615,616,5,101,0,0,616,617,5,108,0, + 0,617,618,5,108,0,0,618,619,5,83,0,0,619,620,5,99,0,0,620,621,5, + 114,0,0,621,622,5,105,0,0,622,623,5,112,0,0,623,624,5,116,0,0,624, + 625,5,66,0,0,625,626,5,117,0,0,626,627,5,105,0,0,627,628,5,108,0, + 0,628,629,5,100,0,0,629,630,5,80,0,0,630,631,5,104,0,0,631,632,5, + 97,0,0,632,633,5,115,0,0,633,634,5,101,0,0,634,64,1,0,0,0,635,636, + 5,80,0,0,636,637,5,66,0,0,637,638,5,88,0,0,638,639,5,83,0,0,639, + 640,5,111,0,0,640,641,5,117,0,0,641,642,5,114,0,0,642,643,5,99,0, + 0,643,644,5,101,0,0,644,645,5,115,0,0,645,646,5,66,0,0,646,647,5, + 117,0,0,647,648,5,105,0,0,648,649,5,108,0,0,649,650,5,100,0,0,650, + 651,5,80,0,0,651,652,5,104,0,0,652,653,5,97,0,0,653,654,5,115,0, + 0,654,655,5,101,0,0,655,66,1,0,0,0,656,657,5,80,0,0,657,658,5,66, + 0,0,658,659,5,88,0,0,659,660,5,84,0,0,660,661,5,97,0,0,661,662,5, + 114,0,0,662,663,5,103,0,0,663,664,5,101,0,0,664,665,5,116,0,0,665, + 666,5,68,0,0,666,667,5,101,0,0,667,668,5,112,0,0,668,669,5,101,0, + 0,669,670,5,110,0,0,670,671,5,100,0,0,671,672,5,101,0,0,672,673, + 5,110,0,0,673,674,5,99,0,0,674,675,5,121,0,0,675,68,1,0,0,0,676, + 677,5,80,0,0,677,678,5,66,0,0,678,679,5,88,0,0,679,680,5,86,0,0, + 680,681,5,97,0,0,681,682,5,114,0,0,682,683,5,105,0,0,683,684,5,97, + 0,0,684,685,5,110,0,0,685,686,5,116,0,0,686,687,5,71,0,0,687,688, + 5,114,0,0,688,689,5,111,0,0,689,690,5,117,0,0,690,691,5,112,0,0, + 691,70,1,0,0,0,692,693,5,88,0,0,693,694,5,67,0,0,694,695,5,66,0, + 0,695,696,5,117,0,0,696,697,5,105,0,0,697,698,5,108,0,0,698,699, + 5,100,0,0,699,700,5,67,0,0,700,701,5,111,0,0,701,702,5,110,0,0,702, + 703,5,102,0,0,703,704,5,105,0,0,704,705,5,103,0,0,705,706,5,117, + 0,0,706,707,5,114,0,0,707,708,5,97,0,0,708,709,5,116,0,0,709,710, + 5,105,0,0,710,711,5,111,0,0,711,712,5,110,0,0,712,72,1,0,0,0,713, + 714,5,88,0,0,714,715,5,67,0,0,715,716,5,67,0,0,716,717,5,111,0,0, + 717,718,5,110,0,0,718,719,5,102,0,0,719,720,5,105,0,0,720,721,5, + 103,0,0,721,722,5,117,0,0,722,723,5,114,0,0,723,724,5,97,0,0,724, + 725,5,116,0,0,725,726,5,105,0,0,726,727,5,111,0,0,727,728,5,110, + 0,0,728,729,5,76,0,0,729,730,5,105,0,0,730,731,5,115,0,0,731,732, + 5,116,0,0,732,74,1,0,0,0,733,734,5,88,0,0,734,735,5,67,0,0,735,736, + 5,82,0,0,736,737,5,101,0,0,737,738,5,109,0,0,738,739,5,111,0,0,739, + 740,5,116,0,0,740,741,5,101,0,0,741,742,5,83,0,0,742,743,5,119,0, + 0,743,744,5,105,0,0,744,745,5,102,0,0,745,746,5,116,0,0,746,747, + 5,80,0,0,747,748,5,97,0,0,748,749,5,99,0,0,749,750,5,107,0,0,750, + 751,5,97,0,0,751,752,5,103,0,0,752,753,5,101,0,0,753,754,5,82,0, + 0,754,755,5,101,0,0,755,756,5,102,0,0,756,757,5,101,0,0,757,758, + 5,114,0,0,758,759,5,101,0,0,759,760,5,110,0,0,760,761,5,99,0,0,761, + 762,5,101,0,0,762,76,1,0,0,0,763,764,5,88,0,0,764,765,5,67,0,0,765, + 766,5,83,0,0,766,767,5,119,0,0,767,768,5,105,0,0,768,769,5,102,0, + 0,769,770,5,116,0,0,770,771,5,80,0,0,771,772,5,97,0,0,772,773,5, + 99,0,0,773,774,5,107,0,0,774,775,5,97,0,0,775,776,5,103,0,0,776, + 777,5,101,0,0,777,778,5,80,0,0,778,779,5,114,0,0,779,780,5,111,0, + 0,780,781,5,100,0,0,781,782,5,117,0,0,782,783,5,99,0,0,783,784,5, + 116,0,0,784,785,5,68,0,0,785,786,5,101,0,0,786,787,5,112,0,0,787, + 788,5,101,0,0,788,789,5,110,0,0,789,790,5,100,0,0,790,791,5,101, + 0,0,791,792,5,110,0,0,792,793,5,99,0,0,793,794,5,121,0,0,794,78, + 1,0,0,0,795,796,5,88,0,0,796,797,5,67,0,0,797,798,5,86,0,0,798,799, + 5,101,0,0,799,800,5,114,0,0,800,801,5,115,0,0,801,802,5,105,0,0, + 802,803,5,111,0,0,803,804,5,110,0,0,804,805,5,71,0,0,805,806,5,114, + 0,0,806,807,5,111,0,0,807,808,5,117,0,0,808,809,5,112,0,0,809,80, + 1,0,0,0,810,811,5,97,0,0,811,812,5,108,0,0,812,813,5,119,0,0,813, + 814,5,97,0,0,814,815,5,121,0,0,815,816,5,115,0,0,816,817,5,79,0, + 0,817,818,5,117,0,0,818,819,5,116,0,0,819,820,5,79,0,0,820,821,5, + 102,0,0,821,822,5,68,0,0,822,823,5,97,0,0,823,824,5,116,0,0,824, + 825,5,101,0,0,825,82,1,0,0,0,826,827,5,102,0,0,827,828,5,105,0,0, + 828,829,5,108,0,0,829,830,5,101,0,0,830,831,5,82,0,0,831,832,5,101, + 0,0,832,833,5,102,0,0,833,84,1,0,0,0,834,835,5,112,0,0,835,836,5, + 114,0,0,836,837,5,111,0,0,837,838,5,100,0,0,838,839,5,117,0,0,839, + 840,5,99,0,0,840,841,5,116,0,0,841,842,5,82,0,0,842,843,5,101,0, + 0,843,844,5,102,0,0,844,86,1,0,0,0,845,846,5,99,0,0,846,847,5,111, + 0,0,847,848,5,110,0,0,848,849,5,116,0,0,849,850,5,97,0,0,850,851, + 5,105,0,0,851,852,5,110,0,0,852,853,5,101,0,0,853,854,5,114,0,0, + 854,855,5,80,0,0,855,856,5,111,0,0,856,857,5,114,0,0,857,858,5,116, + 0,0,858,859,5,97,0,0,859,860,5,108,0,0,860,88,1,0,0,0,861,862,5, + 112,0,0,862,863,5,114,0,0,863,864,5,111,0,0,864,865,5,120,0,0,865, + 866,5,121,0,0,866,867,5,84,0,0,867,868,5,121,0,0,868,869,5,112,0, + 0,869,870,5,101,0,0,870,90,1,0,0,0,871,872,5,114,0,0,872,873,5,101, + 0,0,873,874,5,109,0,0,874,875,5,111,0,0,875,876,5,116,0,0,876,877, + 5,101,0,0,877,878,5,71,0,0,878,879,5,108,0,0,879,880,5,111,0,0,880, + 881,5,98,0,0,881,882,5,97,0,0,882,883,5,108,0,0,883,884,5,73,0,0, + 884,885,5,68,0,0,885,886,5,83,0,0,886,887,5,116,0,0,887,888,5,114, + 0,0,888,889,5,105,0,0,889,890,5,110,0,0,890,891,5,103,0,0,891,92, + 1,0,0,0,892,893,5,114,0,0,893,894,5,101,0,0,894,895,5,109,0,0,895, + 896,5,111,0,0,896,897,5,116,0,0,897,898,5,101,0,0,898,899,5,73,0, + 0,899,900,5,110,0,0,900,901,5,102,0,0,901,902,5,111,0,0,902,94,1, + 0,0,0,903,904,5,102,0,0,904,905,5,105,0,0,905,906,5,108,0,0,906, + 907,5,101,0,0,907,908,5,69,0,0,908,909,5,110,0,0,909,910,5,99,0, + 0,910,911,5,111,0,0,911,912,5,100,0,0,912,913,5,105,0,0,913,914, + 5,110,0,0,914,915,5,103,0,0,915,96,1,0,0,0,916,917,5,99,0,0,917, + 918,5,111,0,0,918,919,5,109,0,0,919,920,5,109,0,0,920,921,5,101, + 0,0,921,922,5,110,0,0,922,923,5,116,0,0,923,924,5,115,0,0,924,98, + 1,0,0,0,925,926,5,101,0,0,926,927,5,120,0,0,927,928,5,112,0,0,928, + 929,5,108,0,0,929,930,5,105,0,0,930,931,5,99,0,0,931,932,5,105,0, + 0,932,933,5,116,0,0,933,934,5,70,0,0,934,935,5,105,0,0,935,936,5, + 108,0,0,936,937,5,101,0,0,937,938,5,84,0,0,938,939,5,121,0,0,939, + 940,5,112,0,0,940,941,5,101,0,0,941,100,1,0,0,0,942,943,5,108,0, + 0,943,944,5,97,0,0,944,945,5,115,0,0,945,946,5,116,0,0,946,947,5, + 75,0,0,947,948,5,110,0,0,948,949,5,111,0,0,949,950,5,119,0,0,950, + 951,5,110,0,0,951,952,5,70,0,0,952,953,5,105,0,0,953,954,5,108,0, + 0,954,955,5,101,0,0,955,956,5,84,0,0,956,957,5,121,0,0,957,958,5, + 112,0,0,958,959,5,101,0,0,959,102,1,0,0,0,960,961,5,105,0,0,961, + 962,5,110,0,0,962,963,5,99,0,0,963,964,5,108,0,0,964,965,5,117,0, + 0,965,966,5,100,0,0,966,967,5,101,0,0,967,968,5,73,0,0,968,969,5, + 110,0,0,969,970,5,73,0,0,970,971,5,110,0,0,971,972,5,100,0,0,972, + 973,5,101,0,0,973,974,5,120,0,0,974,104,1,0,0,0,975,976,5,105,0, + 0,976,977,5,110,0,0,977,978,5,100,0,0,978,979,5,101,0,0,979,980, + 5,110,0,0,980,981,5,116,0,0,981,982,5,87,0,0,982,983,5,105,0,0,983, + 984,5,100,0,0,984,985,5,116,0,0,985,986,5,104,0,0,986,106,1,0,0, + 0,987,988,5,116,0,0,988,989,5,97,0,0,989,990,5,98,0,0,990,991,5, + 87,0,0,991,992,5,105,0,0,992,993,5,100,0,0,993,994,5,116,0,0,994, + 995,5,104,0,0,995,108,1,0,0,0,996,997,5,117,0,0,997,998,5,115,0, + 0,998,999,5,101,0,0,999,1000,5,115,0,0,1000,1001,5,84,0,0,1001,1002, + 5,97,0,0,1002,1003,5,98,0,0,1003,1004,5,115,0,0,1004,110,1,0,0,0, + 1005,1006,5,119,0,0,1006,1007,5,114,0,0,1007,1008,5,97,0,0,1008, + 1009,5,112,0,0,1009,1010,5,115,0,0,1010,1011,5,76,0,0,1011,1012, + 5,105,0,0,1012,1013,5,110,0,0,1013,1014,5,101,0,0,1014,1015,5,115, + 0,0,1015,112,1,0,0,0,1016,1017,5,112,0,0,1017,1018,5,108,0,0,1018, + 1019,5,97,0,0,1019,1020,5,116,0,0,1020,1021,5,102,0,0,1021,1022, + 5,111,0,0,1022,1023,5,114,0,0,1023,1024,5,109,0,0,1024,1025,5,70, + 0,0,1025,1026,5,105,0,0,1026,1027,5,108,0,0,1027,1028,5,116,0,0, + 1028,1029,5,101,0,0,1029,1030,5,114,0,0,1030,114,1,0,0,0,1031,1032, + 5,112,0,0,1032,1033,5,108,0,0,1033,1034,5,97,0,0,1034,1035,5,116, + 0,0,1035,1036,5,102,0,0,1036,1037,5,111,0,0,1037,1038,5,114,0,0, + 1038,1039,5,109,0,0,1039,1040,5,70,0,0,1040,1041,5,105,0,0,1041, + 1042,5,108,0,0,1042,1043,5,116,0,0,1043,1044,5,101,0,0,1044,1045, + 5,114,0,0,1045,1046,5,115,0,0,1046,116,1,0,0,0,1047,1048,5,99,0, + 0,1048,1049,5,104,0,0,1049,1050,5,105,0,0,1050,1051,5,108,0,0,1051, + 1052,5,100,0,0,1052,1053,5,114,0,0,1053,1054,5,101,0,0,1054,1055, + 5,110,0,0,1055,118,1,0,0,0,1056,1057,5,112,0,0,1057,1058,5,114,0, + 0,1058,1059,5,111,0,0,1059,1060,5,100,0,0,1060,1061,5,117,0,0,1061, + 1062,5,99,0,0,1062,1063,5,116,0,0,1063,1064,5,73,0,0,1064,1065,5, + 110,0,0,1065,1066,5,115,0,0,1066,1067,5,116,0,0,1067,1068,5,97,0, + 0,1068,1069,5,108,0,0,1069,1070,5,108,0,0,1070,1071,5,80,0,0,1071, + 1072,5,97,0,0,1072,1073,5,116,0,0,1073,1074,5,104,0,0,1074,120,1, + 0,0,0,1075,1076,5,114,0,0,1076,1077,5,101,0,0,1077,1078,5,112,0, + 0,1078,1079,5,111,0,0,1079,1080,5,115,0,0,1080,1081,5,105,0,0,1081, + 1082,5,116,0,0,1082,1083,5,111,0,0,1083,1084,5,114,0,0,1084,1085, + 5,121,0,0,1085,1086,5,85,0,0,1086,1087,5,82,0,0,1087,1088,5,76,0, + 0,1088,122,1,0,0,0,1089,1090,5,114,0,0,1090,1091,5,101,0,0,1091, + 1092,5,113,0,0,1092,1093,5,117,0,0,1093,1094,5,105,0,0,1094,1095, + 5,114,0,0,1095,1096,5,101,0,0,1096,1097,5,109,0,0,1097,1098,5,101, + 0,0,1098,1099,5,110,0,0,1099,1100,5,116,0,0,1100,124,1,0,0,0,1101, + 1102,5,112,0,0,1102,1103,5,97,0,0,1103,1104,5,99,0,0,1104,1105,5, + 107,0,0,1105,1106,5,97,0,0,1106,1107,5,103,0,0,1107,1108,5,101,0, + 0,1108,126,1,0,0,0,1109,1110,5,112,0,0,1110,1111,5,97,0,0,1111,1112, + 5,99,0,0,1112,1113,5,107,0,0,1113,1114,5,97,0,0,1114,1115,5,103, + 0,0,1115,1116,5,101,0,0,1116,1117,5,80,0,0,1117,1118,5,114,0,0,1118, + 1119,5,111,0,0,1119,1120,5,100,0,0,1120,1121,5,117,0,0,1121,1122, + 5,99,0,0,1122,1123,5,116,0,0,1123,1124,5,68,0,0,1124,1125,5,101, + 0,0,1125,1126,5,112,0,0,1126,1127,5,101,0,0,1127,1128,5,110,0,0, + 1128,1129,5,100,0,0,1129,1130,5,101,0,0,1130,1131,5,110,0,0,1131, + 1132,5,99,0,0,1132,1133,5,105,0,0,1133,1134,5,101,0,0,1134,1135, + 5,115,0,0,1135,128,1,0,0,0,1136,1137,5,110,0,0,1137,1138,5,97,0, + 0,1138,1139,5,109,0,0,1139,1140,5,101,0,0,1140,130,1,0,0,0,1141, + 1142,5,112,0,0,1142,1143,5,97,0,0,1143,1144,5,116,0,0,1144,1145, + 5,104,0,0,1145,132,1,0,0,0,1146,1147,5,115,0,0,1147,1148,5,111,0, + 0,1148,1149,5,117,0,0,1149,1150,5,114,0,0,1150,1151,5,99,0,0,1151, + 1152,5,101,0,0,1152,1153,5,84,0,0,1153,1154,5,114,0,0,1154,1155, + 5,101,0,0,1155,1156,5,101,0,0,1156,134,1,0,0,0,1157,1158,5,98,0, + 0,1158,1159,5,117,0,0,1159,1160,5,105,0,0,1160,1161,5,108,0,0,1161, + 1162,5,100,0,0,1162,1163,5,65,0,0,1163,1164,5,99,0,0,1164,1165,5, + 116,0,0,1165,1166,5,105,0,0,1166,1167,5,111,0,0,1167,1168,5,110, + 0,0,1168,1169,5,77,0,0,1169,1170,5,97,0,0,1170,1171,5,115,0,0,1171, + 1172,5,107,0,0,1172,136,1,0,0,0,1173,1174,5,102,0,0,1174,1175,5, + 105,0,0,1175,1176,5,108,0,0,1176,1177,5,101,0,0,1177,1178,5,115, + 0,0,1178,138,1,0,0,0,1179,1180,5,114,0,0,1180,1181,5,117,0,0,1181, + 1182,5,110,0,0,1182,1183,5,79,0,0,1183,1184,5,110,0,0,1184,1185, + 5,108,0,0,1185,1186,5,121,0,0,1186,1187,5,70,0,0,1187,1188,5,111, + 0,0,1188,1189,5,114,0,0,1189,1190,5,68,0,0,1190,1191,5,101,0,0,1191, + 1192,5,112,0,0,1192,1193,5,108,0,0,1193,1194,5,111,0,0,1194,1195, + 5,121,0,0,1195,1196,5,109,0,0,1196,1197,5,101,0,0,1197,1198,5,110, + 0,0,1198,1199,5,116,0,0,1199,1200,5,80,0,0,1200,1201,5,111,0,0,1201, + 1202,5,115,0,0,1202,1203,5,116,0,0,1203,1204,5,112,0,0,1204,1205, + 5,114,0,0,1205,1206,5,111,0,0,1206,1207,5,99,0,0,1207,1208,5,101, + 0,0,1208,1209,5,115,0,0,1209,1210,5,115,0,0,1210,1211,5,105,0,0, + 1211,1212,5,110,0,0,1212,1213,5,103,0,0,1213,140,1,0,0,0,1214,1215, + 5,98,0,0,1215,1216,5,117,0,0,1216,1217,5,105,0,0,1217,1218,5,108, + 0,0,1218,1219,5,100,0,0,1219,1220,5,67,0,0,1220,1221,5,111,0,0,1221, + 1222,5,110,0,0,1222,1223,5,102,0,0,1223,1224,5,105,0,0,1224,1225, + 5,103,0,0,1225,1226,5,117,0,0,1226,1227,5,114,0,0,1227,1228,5,97, + 0,0,1228,1229,5,116,0,0,1229,1230,5,105,0,0,1230,1231,5,111,0,0, + 1231,1232,5,110,0,0,1232,1233,5,76,0,0,1233,1234,5,105,0,0,1234, + 1235,5,115,0,0,1235,1236,5,116,0,0,1236,142,1,0,0,0,1237,1238,5, + 98,0,0,1238,1239,5,117,0,0,1239,1240,5,105,0,0,1240,1241,5,108,0, + 0,1241,1242,5,100,0,0,1242,1243,5,80,0,0,1243,1244,5,104,0,0,1244, + 1245,5,97,0,0,1245,1246,5,115,0,0,1246,1247,5,101,0,0,1247,1248, + 5,115,0,0,1248,144,1,0,0,0,1249,1250,5,98,0,0,1250,1251,5,117,0, + 0,1251,1252,5,105,0,0,1252,1253,5,108,0,0,1253,1254,5,100,0,0,1254, + 1255,5,82,0,0,1255,1256,5,117,0,0,1256,1257,5,108,0,0,1257,1258, + 5,101,0,0,1258,1259,5,115,0,0,1259,146,1,0,0,0,1260,1261,5,98,0, + 0,1261,1262,5,117,0,0,1262,1263,5,105,0,0,1263,1264,5,108,0,0,1264, + 1265,5,100,0,0,1265,1266,5,65,0,0,1266,1267,5,114,0,0,1267,1268, + 5,103,0,0,1268,1269,5,117,0,0,1269,1270,5,109,0,0,1270,1271,5,101, + 0,0,1271,1272,5,110,0,0,1272,1273,5,116,0,0,1273,1274,5,115,0,0, + 1274,1275,5,83,0,0,1275,1276,5,116,0,0,1276,1277,5,114,0,0,1277, + 1278,5,105,0,0,1278,1279,5,110,0,0,1279,1280,5,103,0,0,1280,148, + 1,0,0,0,1281,1282,5,98,0,0,1282,1283,5,117,0,0,1283,1284,5,105,0, + 0,1284,1285,5,108,0,0,1285,1286,5,100,0,0,1286,1287,5,84,0,0,1287, + 1288,5,111,0,0,1288,1289,5,111,0,0,1289,1290,5,108,0,0,1290,1291, + 5,80,0,0,1291,1292,5,97,0,0,1292,1293,5,116,0,0,1293,1294,5,104, + 0,0,1294,150,1,0,0,0,1295,1296,5,98,0,0,1296,1297,5,117,0,0,1297, + 1298,5,105,0,0,1298,1299,5,108,0,0,1299,1300,5,100,0,0,1300,1301, + 5,87,0,0,1301,1302,5,111,0,0,1302,1303,5,114,0,0,1303,1304,5,107, + 0,0,1304,1305,5,105,0,0,1305,1306,5,110,0,0,1306,1307,5,103,0,0, + 1307,1308,5,68,0,0,1308,1309,5,105,0,0,1309,1310,5,114,0,0,1310, + 1311,5,101,0,0,1311,1312,5,99,0,0,1312,1313,5,116,0,0,1313,1314, + 5,111,0,0,1314,1315,5,114,0,0,1315,1316,5,121,0,0,1316,152,1,0,0, + 0,1317,1318,5,112,0,0,1318,1319,5,97,0,0,1319,1320,5,115,0,0,1320, + 1321,5,115,0,0,1321,1322,5,66,0,0,1322,1323,5,117,0,0,1323,1324, + 5,105,0,0,1324,1325,5,108,0,0,1325,1326,5,100,0,0,1326,1327,5,83, + 0,0,1327,1328,5,101,0,0,1328,1329,5,116,0,0,1329,1330,5,116,0,0, + 1330,1331,5,105,0,0,1331,1332,5,110,0,0,1332,1333,5,103,0,0,1333, + 1334,5,115,0,0,1334,1335,5,73,0,0,1335,1336,5,110,0,0,1336,1337, + 5,69,0,0,1337,1338,5,110,0,0,1338,1339,5,118,0,0,1339,1340,5,105, + 0,0,1340,1341,5,114,0,0,1341,1342,5,111,0,0,1342,1343,5,110,0,0, + 1343,1344,5,109,0,0,1344,1345,5,101,0,0,1345,1346,5,110,0,0,1346, + 1347,5,116,0,0,1347,154,1,0,0,0,1348,1349,5,100,0,0,1349,1350,5, + 101,0,0,1350,1351,5,112,0,0,1351,1352,5,101,0,0,1352,1353,5,110, + 0,0,1353,1354,5,100,0,0,1354,1355,5,101,0,0,1355,1356,5,110,0,0, + 1356,1357,5,99,0,0,1357,1358,5,105,0,0,1358,1359,5,101,0,0,1359, + 1360,5,115,0,0,1360,156,1,0,0,0,1361,1362,5,112,0,0,1362,1363,5, + 114,0,0,1363,1364,5,111,0,0,1364,1365,5,100,0,0,1365,1366,5,117, + 0,0,1366,1367,5,99,0,0,1367,1368,5,116,0,0,1368,1369,5,78,0,0,1369, + 1370,5,97,0,0,1370,1371,5,109,0,0,1371,1372,5,101,0,0,1372,158,1, + 0,0,0,1373,1374,5,112,0,0,1374,1375,5,114,0,0,1375,1376,5,111,0, + 0,1376,1377,5,100,0,0,1377,1378,5,117,0,0,1378,1379,5,99,0,0,1379, + 1380,5,116,0,0,1380,1381,5,82,0,0,1381,1382,5,101,0,0,1382,1383, + 5,102,0,0,1383,1384,5,101,0,0,1384,1385,5,114,0,0,1385,1386,5,101, + 0,0,1386,1387,5,110,0,0,1387,1388,5,99,0,0,1388,1389,5,101,0,0,1389, + 160,1,0,0,0,1390,1391,5,112,0,0,1391,1392,5,114,0,0,1392,1393,5, + 111,0,0,1393,1394,5,100,0,0,1394,1395,5,117,0,0,1395,1396,5,99,0, + 0,1396,1397,5,116,0,0,1397,1398,5,84,0,0,1398,1399,5,121,0,0,1399, + 1400,5,112,0,0,1400,1401,5,101,0,0,1401,162,1,0,0,0,1402,1403,5, + 108,0,0,1403,1404,5,105,0,0,1404,1405,5,110,0,0,1405,1406,5,101, + 0,0,1406,1407,5,69,0,0,1407,1408,5,110,0,0,1408,1409,5,100,0,0,1409, + 1410,5,105,0,0,1410,1411,5,110,0,0,1411,1412,5,103,0,0,1412,164, + 1,0,0,0,1413,1414,5,120,0,0,1414,1415,5,99,0,0,1415,1416,5,76,0, + 0,1416,1417,5,97,0,0,1417,1418,5,110,0,0,1418,1419,5,103,0,0,1419, + 1420,5,117,0,0,1420,1421,5,97,0,0,1421,1422,5,103,0,0,1422,1423, + 5,101,0,0,1423,1424,5,83,0,0,1424,1425,5,112,0,0,1425,1426,5,101, + 0,0,1426,1427,5,99,0,0,1427,1428,5,105,0,0,1428,1429,5,102,0,0,1429, + 1430,5,105,0,0,1430,1431,5,99,0,0,1431,1432,5,97,0,0,1432,1433,5, + 116,0,0,1433,1434,5,105,0,0,1434,1435,5,111,0,0,1435,1436,5,110, + 0,0,1436,1437,5,73,0,0,1437,1438,5,100,0,0,1438,1439,5,101,0,0,1439, + 1440,5,110,0,0,1440,1441,5,116,0,0,1441,1442,5,105,0,0,1442,1443, + 5,102,0,0,1443,1444,5,105,0,0,1444,1445,5,101,0,0,1445,1446,5,114, + 0,0,1446,166,1,0,0,0,1447,1448,5,112,0,0,1448,1449,5,108,0,0,1449, + 1450,5,105,0,0,1450,1451,5,115,0,0,1451,1452,5,116,0,0,1452,1453, + 5,83,0,0,1453,1454,5,116,0,0,1454,1455,5,114,0,0,1455,1456,5,117, + 0,0,1456,1457,5,99,0,0,1457,1458,5,116,0,0,1458,1459,5,117,0,0,1459, + 1460,5,114,0,0,1460,1461,5,101,0,0,1461,1462,5,68,0,0,1462,1463, + 5,101,0,0,1463,1464,5,102,0,0,1464,1465,5,105,0,0,1465,1466,5,110, + 0,0,1466,1467,5,105,0,0,1467,1468,5,116,0,0,1468,1469,5,105,0,0, + 1469,1470,5,111,0,0,1470,1471,5,110,0,0,1471,1472,5,73,0,0,1472, + 1473,5,100,0,0,1473,1474,5,101,0,0,1474,1475,5,110,0,0,1475,1476, + 5,116,0,0,1476,1477,5,105,0,0,1477,1478,5,102,0,0,1478,1479,5,105, + 0,0,1479,1480,5,101,0,0,1480,1481,5,114,0,0,1481,168,1,0,0,0,1482, + 1483,5,97,0,0,1483,1484,5,116,0,0,1484,1485,5,116,0,0,1485,1486, + 5,114,0,0,1486,1487,5,105,0,0,1487,1488,5,98,0,0,1488,1489,5,117, + 0,0,1489,1490,5,116,0,0,1490,1491,5,101,0,0,1491,1492,5,115,0,0, + 1492,170,1,0,0,0,1493,1494,5,76,0,0,1494,1495,5,97,0,0,1495,1496, + 5,115,0,0,1496,1497,5,116,0,0,1497,1498,5,83,0,0,1498,1499,5,119, + 0,0,1499,1500,5,105,0,0,1500,1501,5,102,0,0,1501,1502,5,116,0,0, + 1502,1503,5,77,0,0,1503,1504,5,105,0,0,1504,1505,5,103,0,0,1505, + 1506,5,114,0,0,1506,1507,5,97,0,0,1507,1508,5,116,0,0,1508,1509, + 5,105,0,0,1509,1510,5,111,0,0,1510,1511,5,110,0,0,1511,172,1,0,0, + 0,1512,1513,5,68,0,0,1513,1514,5,101,0,0,1514,1515,5,102,0,0,1515, + 1516,5,97,0,0,1516,1517,5,117,0,0,1517,1518,5,108,0,0,1518,1519, + 5,116,0,0,1519,1520,5,66,0,0,1520,1521,5,117,0,0,1521,1522,5,105, + 0,0,1522,1523,5,108,0,0,1523,1524,5,100,0,0,1524,1525,5,83,0,0,1525, + 1526,5,121,0,0,1526,1527,5,115,0,0,1527,1528,5,116,0,0,1528,1529, + 5,101,0,0,1529,1530,5,109,0,0,1530,1531,5,84,0,0,1531,1532,5,121, + 0,0,1532,1533,5,112,0,0,1533,1534,5,101,0,0,1534,1535,5,70,0,0,1535, + 1536,5,111,0,0,1536,1537,5,114,0,0,1537,1538,5,87,0,0,1538,1539, + 5,111,0,0,1539,1540,5,114,0,0,1540,1541,5,107,0,0,1541,1542,5,115, + 0,0,1542,1543,5,112,0,0,1543,1544,5,97,0,0,1544,1545,5,99,0,0,1545, + 1546,5,101,0,0,1546,174,1,0,0,0,1547,1548,5,76,0,0,1548,1549,5,97, + 0,0,1549,1550,5,115,0,0,1550,1551,5,116,0,0,1551,1552,5,83,0,0,1552, + 1553,5,119,0,0,1553,1554,5,105,0,0,1554,1555,5,102,0,0,1555,1556, + 5,116,0,0,1556,1557,5,85,0,0,1557,1558,5,112,0,0,1558,1559,5,100, + 0,0,1559,1560,5,97,0,0,1560,1561,5,116,0,0,1561,1562,5,101,0,0,1562, + 1563,5,67,0,0,1563,1564,5,104,0,0,1564,1565,5,101,0,0,1565,1566, + 5,99,0,0,1566,1567,5,107,0,0,1567,176,1,0,0,0,1568,1569,5,66,0,0, + 1569,1570,5,117,0,0,1570,1571,5,105,0,0,1571,1572,5,108,0,0,1572, + 1573,5,100,0,0,1573,1574,5,73,0,0,1574,1575,5,110,0,0,1575,1576, + 5,100,0,0,1576,1577,5,101,0,0,1577,1578,5,112,0,0,1578,1579,5,101, + 0,0,1579,1580,5,110,0,0,1580,1581,5,100,0,0,1581,1582,5,101,0,0, + 1582,1583,5,110,0,0,1583,1584,5,116,0,0,1584,1585,5,84,0,0,1585, + 1586,5,97,0,0,1586,1587,5,114,0,0,1587,1588,5,103,0,0,1588,1589, + 5,101,0,0,1589,1590,5,116,0,0,1590,1591,5,115,0,0,1591,1592,5,73, + 0,0,1592,1593,5,110,0,0,1593,1594,5,80,0,0,1594,1595,5,97,0,0,1595, + 1596,5,114,0,0,1596,1597,5,97,0,0,1597,1598,5,108,0,0,1598,1599, + 5,108,0,0,1599,1600,5,101,0,0,1600,1601,5,108,0,0,1601,178,1,0,0, + 0,1602,1603,5,76,0,0,1603,1604,5,97,0,0,1604,1605,5,115,0,0,1605, + 1606,5,116,0,0,1606,1607,5,84,0,0,1607,1608,5,101,0,0,1608,1609, + 5,115,0,0,1609,1610,5,116,0,0,1610,1611,5,105,0,0,1611,1612,5,110, + 0,0,1612,1613,5,103,0,0,1613,1614,5,85,0,0,1614,1615,5,112,0,0,1615, + 1616,5,103,0,0,1616,1617,5,114,0,0,1617,1618,5,97,0,0,1618,1619, + 5,100,0,0,1619,1620,5,101,0,0,1620,1621,5,67,0,0,1621,1622,5,104, + 0,0,1622,1623,5,101,0,0,1623,1624,5,99,0,0,1624,1625,5,107,0,0,1625, + 180,1,0,0,0,1626,1627,5,76,0,0,1627,1628,5,97,0,0,1628,1629,5,115, + 0,0,1629,1630,5,116,0,0,1630,1631,5,85,0,0,1631,1632,5,112,0,0,1632, + 1633,5,103,0,0,1633,1634,5,114,0,0,1634,1635,5,97,0,0,1635,1636, + 5,100,0,0,1636,1637,5,101,0,0,1637,1638,5,67,0,0,1638,1639,5,104, + 0,0,1639,1640,5,101,0,0,1640,1641,5,99,0,0,1641,1642,5,107,0,0,1642, + 182,1,0,0,0,1643,1644,5,79,0,0,1644,1645,5,82,0,0,1645,1646,5,71, + 0,0,1646,1647,5,65,0,0,1647,1648,5,78,0,0,1648,1649,5,73,0,0,1649, + 1650,5,90,0,0,1650,1651,5,65,0,0,1651,1652,5,84,0,0,1652,1653,5, + 73,0,0,1653,1654,5,79,0,0,1654,1655,5,78,0,0,1655,1656,5,78,0,0, + 1656,1657,5,65,0,0,1657,1658,5,77,0,0,1658,1659,5,69,0,0,1659,184, + 1,0,0,0,1660,1661,5,84,0,0,1661,1662,5,97,0,0,1662,1663,5,114,0, + 0,1663,1664,5,103,0,0,1664,1665,5,101,0,0,1665,1666,5,116,0,0,1666, + 1667,5,65,0,0,1667,1668,5,116,0,0,1668,1669,5,116,0,0,1669,1670, + 5,114,0,0,1670,1671,5,105,0,0,1671,1672,5,98,0,0,1672,1673,5,117, + 0,0,1673,1674,5,116,0,0,1674,1675,5,101,0,0,1675,1676,5,115,0,0, + 1676,186,1,0,0,0,1677,1678,5,67,0,0,1678,1679,5,114,0,0,1679,1680, + 5,101,0,0,1680,1681,5,97,0,0,1681,1682,5,116,0,0,1682,1683,5,101, + 0,0,1683,1684,5,100,0,0,1684,1685,5,79,0,0,1685,1686,5,110,0,0,1686, + 1687,5,84,0,0,1687,1688,5,111,0,0,1688,1689,5,111,0,0,1689,1690, + 5,108,0,0,1690,1691,5,115,0,0,1691,1692,5,86,0,0,1692,1693,5,101, + 0,0,1693,1694,5,114,0,0,1694,1695,5,115,0,0,1695,1696,5,105,0,0, + 1696,1697,5,111,0,0,1697,1698,5,110,0,0,1698,188,1,0,0,0,1699,1700, + 5,84,0,0,1700,1701,5,101,0,0,1701,1702,5,115,0,0,1702,1703,5,116, + 0,0,1703,1704,5,84,0,0,1704,1705,5,97,0,0,1705,1706,5,114,0,0,1706, + 1707,5,103,0,0,1707,1708,5,101,0,0,1708,1709,5,116,0,0,1709,1710, + 5,73,0,0,1710,1711,5,68,0,0,1711,190,1,0,0,0,1712,1713,5,68,0,0, + 1713,1714,5,101,0,0,1714,1715,5,118,0,0,1715,1716,5,101,0,0,1716, + 1717,5,108,0,0,1717,1718,5,111,0,0,1718,1719,5,112,0,0,1719,1720, + 5,109,0,0,1720,1721,5,101,0,0,1721,1722,5,110,0,0,1722,1723,5,116, + 0,0,1723,1724,5,84,0,0,1724,1725,5,101,0,0,1725,1726,5,97,0,0,1726, + 1727,5,109,0,0,1727,192,1,0,0,0,1728,1729,5,68,0,0,1729,1730,5,101, + 0,0,1730,1731,5,118,0,0,1731,1732,5,101,0,0,1732,1733,5,108,0,0, + 1733,1734,5,111,0,0,1734,1735,5,112,0,0,1735,1736,5,109,0,0,1736, + 1737,5,101,0,0,1737,1738,5,110,0,0,1738,1739,5,116,0,0,1739,1740, + 5,84,0,0,1740,1741,5,101,0,0,1741,1742,5,97,0,0,1742,1743,5,109, + 0,0,1743,1744,5,78,0,0,1744,1745,5,97,0,0,1745,1746,5,109,0,0,1746, + 1747,5,101,0,0,1747,194,1,0,0,0,1748,1749,5,80,0,0,1749,1750,5,114, + 0,0,1750,1751,5,111,0,0,1751,1752,5,118,0,0,1752,1753,5,105,0,0, + 1753,1754,5,115,0,0,1754,1755,5,105,0,0,1755,1756,5,111,0,0,1756, + 1757,5,110,0,0,1757,1758,5,105,0,0,1758,1759,5,110,0,0,1759,1760, + 5,103,0,0,1760,1761,5,83,0,0,1761,1762,5,116,0,0,1762,1763,5,121, + 0,0,1763,1764,5,108,0,0,1764,1765,5,101,0,0,1765,196,1,0,0,0,1766, + 1767,5,99,0,0,1767,1768,5,111,0,0,1768,1769,5,109,0,0,1769,1770, + 5,112,0,0,1770,1771,5,97,0,0,1771,1772,5,116,0,0,1772,1773,5,105, + 0,0,1773,1774,5,98,0,0,1774,1775,5,105,0,0,1775,1776,5,108,0,0,1776, + 1777,5,105,0,0,1777,1778,5,116,0,0,1778,1779,5,121,0,0,1779,1780, + 5,86,0,0,1780,1781,5,101,0,0,1781,1782,5,114,0,0,1782,1783,5,115, + 0,0,1783,1784,5,105,0,0,1784,1785,5,111,0,0,1785,1786,5,110,0,0, + 1786,198,1,0,0,0,1787,1788,5,100,0,0,1788,1789,5,101,0,0,1789,1790, + 5,118,0,0,1790,1791,5,101,0,0,1791,1792,5,108,0,0,1792,1793,5,111, + 0,0,1793,1794,5,112,0,0,1794,1795,5,109,0,0,1795,1796,5,101,0,0, + 1796,1797,5,110,0,0,1797,1798,5,116,0,0,1798,1799,5,82,0,0,1799, + 1800,5,101,0,0,1800,1801,5,103,0,0,1801,1802,5,105,0,0,1802,1803, + 5,111,0,0,1803,1804,5,110,0,0,1804,200,1,0,0,0,1805,1806,5,104,0, + 0,1806,1807,5,97,0,0,1807,1808,5,115,0,0,1808,1809,5,83,0,0,1809, + 1810,5,99,0,0,1810,1811,5,97,0,0,1811,1812,5,110,0,0,1812,1813,5, + 110,0,0,1813,1814,5,101,0,0,1814,1815,5,100,0,0,1815,1816,5,70,0, + 0,1816,1817,5,111,0,0,1817,1818,5,114,0,0,1818,1819,5,69,0,0,1819, + 1820,5,110,0,0,1820,1821,5,99,0,0,1821,1822,5,111,0,0,1822,1823, + 5,100,0,0,1823,1824,5,105,0,0,1824,1825,5,110,0,0,1825,1826,5,103, + 0,0,1826,1827,5,115,0,0,1827,202,1,0,0,0,1828,1829,5,107,0,0,1829, + 1830,5,110,0,0,1830,1831,5,111,0,0,1831,1832,5,119,0,0,1832,1833, + 5,110,0,0,1833,1834,5,82,0,0,1834,1835,5,101,0,0,1835,1836,5,103, + 0,0,1836,1837,5,105,0,0,1837,1838,5,111,0,0,1838,1839,5,110,0,0, + 1839,1840,5,115,0,0,1840,204,1,0,0,0,1841,1842,5,109,0,0,1842,1843, + 5,97,0,0,1843,1844,5,105,0,0,1844,1845,5,110,0,0,1845,1846,5,71, + 0,0,1846,1847,5,114,0,0,1847,1848,5,111,0,0,1848,1849,5,117,0,0, + 1849,1850,5,112,0,0,1850,206,1,0,0,0,1851,1852,5,112,0,0,1852,1853, + 5,114,0,0,1853,1854,5,111,0,0,1854,1855,5,100,0,0,1855,1856,5,117, + 0,0,1856,1857,5,99,0,0,1857,1858,5,116,0,0,1858,1859,5,82,0,0,1859, + 1860,5,101,0,0,1860,1861,5,102,0,0,1861,1862,5,71,0,0,1862,1863, + 5,114,0,0,1863,1864,5,111,0,0,1864,1865,5,117,0,0,1865,1866,5,112, + 0,0,1866,208,1,0,0,0,1867,1868,5,112,0,0,1868,1869,5,97,0,0,1869, + 1870,5,99,0,0,1870,1871,5,107,0,0,1871,1872,5,97,0,0,1872,1873,5, + 103,0,0,1873,1874,5,101,0,0,1874,1875,5,82,0,0,1875,1876,5,101,0, + 0,1876,1877,5,102,0,0,1877,1878,5,101,0,0,1878,1879,5,114,0,0,1879, + 1880,5,101,0,0,1880,1881,5,110,0,0,1881,1882,5,99,0,0,1882,1883, + 5,101,0,0,1883,1884,5,115,0,0,1884,210,1,0,0,0,1885,1886,5,112,0, + 0,1886,1887,5,114,0,0,1887,1888,5,111,0,0,1888,1889,5,106,0,0,1889, + 1890,5,101,0,0,1890,1891,5,99,0,0,1891,1892,5,116,0,0,1892,1893, + 5,68,0,0,1893,1894,5,105,0,0,1894,1895,5,114,0,0,1895,1896,5,80, + 0,0,1896,1897,5,97,0,0,1897,1898,5,116,0,0,1898,1899,5,104,0,0,1899, + 212,1,0,0,0,1900,1901,5,112,0,0,1901,1902,5,114,0,0,1902,1903,5, + 111,0,0,1903,1904,5,106,0,0,1904,1905,5,101,0,0,1905,1906,5,99,0, + 0,1906,1907,5,116,0,0,1907,1908,5,82,0,0,1908,1909,5,101,0,0,1909, + 1910,5,102,0,0,1910,1911,5,101,0,0,1911,1912,5,114,0,0,1912,1913, + 5,101,0,0,1913,1914,5,110,0,0,1914,1915,5,99,0,0,1915,1916,5,101, + 0,0,1916,1917,5,115,0,0,1917,214,1,0,0,0,1918,1919,5,112,0,0,1919, + 1920,5,114,0,0,1920,1921,5,111,0,0,1921,1922,5,106,0,0,1922,1923, + 5,101,0,0,1923,1924,5,99,0,0,1924,1925,5,116,0,0,1925,1926,5,82, + 0,0,1926,1927,5,111,0,0,1927,1928,5,111,0,0,1928,1929,5,116,0,0, + 1929,216,1,0,0,0,1930,1931,5,116,0,0,1931,1932,5,97,0,0,1932,1933, + 5,114,0,0,1933,1934,5,103,0,0,1934,1935,5,101,0,0,1935,1936,5,116, + 0,0,1936,1937,5,115,0,0,1937,218,1,0,0,0,1938,1939,5,105,0,0,1939, + 1940,5,110,0,0,1940,1941,5,112,0,0,1941,1942,5,117,0,0,1942,1943, + 5,116,0,0,1943,1944,5,70,0,0,1944,1945,5,105,0,0,1945,1946,5,108, + 0,0,1946,1947,5,101,0,0,1947,1948,5,76,0,0,1948,1949,5,105,0,0,1949, + 1950,5,115,0,0,1950,1951,5,116,0,0,1951,1952,5,80,0,0,1952,1953, + 5,97,0,0,1953,1954,5,116,0,0,1954,1955,5,104,0,0,1955,1956,5,115, + 0,0,1956,220,1,0,0,0,1957,1958,5,105,0,0,1958,1959,5,110,0,0,1959, + 1960,5,112,0,0,1960,1961,5,117,0,0,1961,1962,5,116,0,0,1962,1963, + 5,80,0,0,1963,1964,5,97,0,0,1964,1965,5,116,0,0,1965,1966,5,104, + 0,0,1966,1967,5,115,0,0,1967,222,1,0,0,0,1968,1969,5,111,0,0,1969, + 1970,5,117,0,0,1970,1971,5,116,0,0,1971,1972,5,112,0,0,1972,1973, + 5,117,0,0,1973,1974,5,116,0,0,1974,1975,5,70,0,0,1975,1976,5,105, + 0,0,1976,1977,5,108,0,0,1977,1978,5,101,0,0,1978,1979,5,76,0,0,1979, + 1980,5,105,0,0,1980,1981,5,115,0,0,1981,1982,5,116,0,0,1982,1983, + 5,80,0,0,1983,1984,5,97,0,0,1984,1985,5,116,0,0,1985,1986,5,104, + 0,0,1986,1987,5,115,0,0,1987,224,1,0,0,0,1988,1989,5,111,0,0,1989, + 1990,5,117,0,0,1990,1991,5,116,0,0,1991,1992,5,112,0,0,1992,1993, + 5,117,0,0,1993,1994,5,116,0,0,1994,1995,5,80,0,0,1995,1996,5,97, + 0,0,1996,1997,5,116,0,0,1997,1998,5,104,0,0,1998,1999,5,115,0,0, + 1999,226,1,0,0,0,2000,2001,5,115,0,0,2001,2002,5,104,0,0,2002,2003, + 5,101,0,0,2003,2004,5,108,0,0,2004,2005,5,108,0,0,2005,2006,5,80, + 0,0,2006,2007,5,97,0,0,2007,2008,5,116,0,0,2008,2009,5,104,0,0,2009, + 228,1,0,0,0,2010,2011,5,115,0,0,2011,2012,5,104,0,0,2012,2013,5, + 101,0,0,2013,2014,5,108,0,0,2014,2015,5,108,0,0,2015,2016,5,83,0, + 0,2016,2017,5,99,0,0,2017,2018,5,114,0,0,2018,2019,5,105,0,0,2019, + 2020,5,112,0,0,2020,2021,5,116,0,0,2021,230,1,0,0,0,2022,2023,5, + 115,0,0,2023,2024,5,104,0,0,2024,2025,5,111,0,0,2025,2026,5,119, + 0,0,2026,2027,5,69,0,0,2027,2028,5,110,0,0,2028,2029,5,118,0,0,2029, + 2030,5,86,0,0,2030,2031,5,97,0,0,2031,2032,5,114,0,0,2032,2033,5, + 115,0,0,2033,2034,5,73,0,0,2034,2035,5,110,0,0,2035,2036,5,76,0, + 0,2036,2037,5,111,0,0,2037,2038,5,103,0,0,2038,232,1,0,0,0,2039, + 2040,5,116,0,0,2040,2041,5,97,0,0,2041,2042,5,114,0,0,2042,2043, + 5,103,0,0,2043,2044,5,101,0,0,2044,2045,5,116,0,0,2045,234,1,0,0, + 0,2046,2047,5,116,0,0,2047,2048,5,97,0,0,2048,2049,5,114,0,0,2049, + 2050,5,103,0,0,2050,2051,5,101,0,0,2051,2052,5,116,0,0,2052,2053, + 5,80,0,0,2053,2054,5,114,0,0,2054,2055,5,111,0,0,2055,2056,5,120, + 0,0,2056,2057,5,121,0,0,2057,236,1,0,0,0,2058,2059,5,102,0,0,2059, + 2060,5,105,0,0,2060,2061,5,108,0,0,2061,2062,5,101,0,0,2062,2063, + 5,84,0,0,2063,2064,5,121,0,0,2064,2065,5,112,0,0,2065,2066,5,101, + 0,0,2066,238,1,0,0,0,2067,2068,5,114,0,0,2068,2069,5,101,0,0,2069, + 2070,5,109,0,0,2070,2071,5,111,0,0,2071,2072,5,116,0,0,2072,2073, + 5,101,0,0,2073,2074,5,82,0,0,2074,2075,5,101,0,0,2075,2076,5,102, + 0,0,2076,240,1,0,0,0,2077,2078,5,98,0,0,2078,2079,5,97,0,0,2079, + 2080,5,115,0,0,2080,2081,5,101,0,0,2081,2082,5,67,0,0,2082,2083, + 5,111,0,0,2083,2084,5,110,0,0,2084,2085,5,102,0,0,2085,2086,5,105, + 0,0,2086,2087,5,103,0,0,2087,2088,5,117,0,0,2088,2089,5,114,0,0, + 2089,2090,5,97,0,0,2090,2091,5,116,0,0,2091,2092,5,105,0,0,2092, + 2093,5,111,0,0,2093,2094,5,110,0,0,2094,2095,5,82,0,0,2095,2096, + 5,101,0,0,2096,2097,5,102,0,0,2097,2098,5,101,0,0,2098,2099,5,114, + 0,0,2099,2100,5,101,0,0,2100,2101,5,110,0,0,2101,2102,5,99,0,0,2102, + 2103,5,101,0,0,2103,242,1,0,0,0,2104,2105,5,98,0,0,2105,2106,5,117, + 0,0,2106,2107,5,105,0,0,2107,2108,5,108,0,0,2108,2109,5,100,0,0, + 2109,2110,5,83,0,0,2110,2111,5,101,0,0,2111,2112,5,116,0,0,2112, + 2113,5,116,0,0,2113,2114,5,105,0,0,2114,2115,5,110,0,0,2115,2116, + 5,103,0,0,2116,2117,5,115,0,0,2117,244,1,0,0,0,2118,2119,5,100,0, + 0,2119,2120,5,115,0,0,2120,2121,5,116,0,0,2121,2122,5,80,0,0,2122, + 2123,5,97,0,0,2123,2124,5,116,0,0,2124,2125,5,104,0,0,2125,246,1, + 0,0,0,2126,2127,5,100,0,0,2127,2128,5,115,0,0,2128,2129,5,116,0, + 0,2129,2130,5,83,0,0,2130,2131,5,117,0,0,2131,2132,5,98,0,0,2132, + 2133,5,102,0,0,2133,2134,5,111,0,0,2134,2135,5,108,0,0,2135,2136, + 5,100,0,0,2136,2137,5,101,0,0,2137,2138,5,114,0,0,2138,2139,5,83, + 0,0,2139,2140,5,112,0,0,2140,2141,5,101,0,0,2141,2142,5,99,0,0,2142, + 248,1,0,0,0,2143,2144,5,80,0,0,2144,2145,5,114,0,0,2145,2146,5,111, + 0,0,2146,2147,5,100,0,0,2147,2148,5,117,0,0,2148,2149,5,99,0,0,2149, + 2150,5,116,0,0,2150,2151,5,71,0,0,2151,2152,5,114,0,0,2152,2153, + 5,111,0,0,2153,2154,5,117,0,0,2154,2155,5,112,0,0,2155,250,1,0,0, + 0,2156,2157,5,80,0,0,2157,2158,5,114,0,0,2158,2159,5,111,0,0,2159, + 2160,5,106,0,0,2160,2161,5,101,0,0,2161,2162,5,99,0,0,2162,2163, + 5,116,0,0,2163,2164,5,82,0,0,2164,2165,5,101,0,0,2165,2166,5,102, + 0,0,2166,252,1,0,0,0,2167,2168,5,98,0,0,2168,2169,5,117,0,0,2169, + 2170,5,105,0,0,2170,2171,5,108,0,0,2171,2172,5,100,0,0,2172,2173, + 5,67,0,0,2173,2174,5,111,0,0,2174,2175,5,110,0,0,2175,2176,5,102, + 0,0,2176,2177,5,105,0,0,2177,2178,5,103,0,0,2178,2179,5,117,0,0, + 2179,2180,5,114,0,0,2180,2181,5,97,0,0,2181,2182,5,116,0,0,2182, + 2183,5,105,0,0,2183,2184,5,111,0,0,2184,2185,5,110,0,0,2185,2186, + 5,115,0,0,2186,254,1,0,0,0,2187,2188,5,100,0,0,2188,2189,5,101,0, + 0,2189,2190,5,102,0,0,2190,2191,5,97,0,0,2191,2192,5,117,0,0,2192, + 2193,5,108,0,0,2193,2194,5,116,0,0,2194,2195,5,67,0,0,2195,2196, + 5,111,0,0,2196,2197,5,110,0,0,2197,2198,5,102,0,0,2198,2199,5,105, + 0,0,2199,2200,5,103,0,0,2200,2201,5,117,0,0,2201,2202,5,114,0,0, + 2202,2203,5,97,0,0,2203,2204,5,116,0,0,2204,2205,5,105,0,0,2205, + 2206,5,111,0,0,2206,2207,5,110,0,0,2207,2208,5,73,0,0,2208,2209, + 5,115,0,0,2209,2210,5,86,0,0,2210,2211,5,105,0,0,2211,2212,5,115, + 0,0,2212,2213,5,105,0,0,2213,2214,5,98,0,0,2214,2215,5,108,0,0,2215, + 2216,5,101,0,0,2216,256,1,0,0,0,2217,2218,5,100,0,0,2218,2219,5, + 101,0,0,2219,2220,5,102,0,0,2220,2221,5,97,0,0,2221,2222,5,117,0, + 0,2222,2223,5,108,0,0,2223,2224,5,116,0,0,2224,2225,5,67,0,0,2225, + 2226,5,111,0,0,2226,2227,5,110,0,0,2227,2228,5,102,0,0,2228,2229, + 5,105,0,0,2229,2230,5,103,0,0,2230,2231,5,117,0,0,2231,2232,5,114, + 0,0,2232,2233,5,97,0,0,2233,2234,5,116,0,0,2234,2235,5,105,0,0,2235, + 2236,5,111,0,0,2236,2237,5,110,0,0,2237,2238,5,78,0,0,2238,2239, + 5,97,0,0,2239,2240,5,109,0,0,2240,2241,5,101,0,0,2241,258,1,0,0, + 0,2242,2243,5,115,0,0,2243,2244,5,101,0,0,2244,2245,5,116,0,0,2245, + 2246,5,116,0,0,2246,2247,5,105,0,0,2247,2248,5,110,0,0,2248,2249, + 5,103,0,0,2249,2250,5,115,0,0,2250,260,1,0,0,0,2251,2252,5,83,0, + 0,2252,2253,5,121,0,0,2253,2254,5,115,0,0,2254,2255,5,116,0,0,2255, + 2256,5,101,0,0,2256,2257,5,109,0,0,2257,2258,5,67,0,0,2258,2259, + 5,97,0,0,2259,2260,5,112,0,0,2260,2261,5,97,0,0,2261,2262,5,98,0, + 0,2262,2263,5,105,0,0,2263,2264,5,108,0,0,2264,2265,5,105,0,0,2265, + 2266,5,116,0,0,2266,2267,5,105,0,0,2267,2268,5,101,0,0,2268,2269, + 5,115,0,0,2269,262,1,0,0,0,2270,2271,5,99,0,0,2271,2272,5,117,0, + 0,2272,2273,5,114,0,0,2273,2274,5,114,0,0,2274,2275,5,101,0,0,2275, + 2276,5,110,0,0,2276,2277,5,116,0,0,2277,2278,5,86,0,0,2278,2279, + 5,101,0,0,2279,2280,5,114,0,0,2280,2281,5,115,0,0,2281,2282,5,105, + 0,0,2282,2283,5,111,0,0,2283,2284,5,110,0,0,2284,264,1,0,0,0,2285, + 2286,5,118,0,0,2286,2287,5,101,0,0,2287,2288,5,114,0,0,2288,2289, + 5,115,0,0,2289,2290,5,105,0,0,2290,2291,5,111,0,0,2291,2292,5,110, + 0,0,2292,2293,5,71,0,0,2293,2294,5,114,0,0,2294,2295,5,111,0,0,2295, + 2296,5,117,0,0,2296,2297,5,112,0,0,2297,2298,5,84,0,0,2298,2299, + 5,121,0,0,2299,2300,5,112,0,0,2300,2301,5,101,0,0,2301,266,1,0,0, + 0,2302,2303,5,67,0,0,2303,2304,5,76,0,0,2304,2305,5,65,0,0,2305, + 2306,5,83,0,0,2306,2307,5,83,0,0,2307,2308,5,80,0,0,2308,2309,5, + 82,0,0,2309,2310,5,69,0,0,2310,2311,5,70,0,0,2311,2312,5,73,0,0, + 2312,2313,5,88,0,0,2313,268,1,0,0,0,2314,2315,3,281,140,0,2315,2316, + 3,281,140,0,2316,2317,3,281,140,0,2317,2318,3,281,140,0,2318,2319, + 3,281,140,0,2319,2320,3,281,140,0,2320,2321,3,281,140,0,2321,2322, + 3,281,140,0,2322,2323,3,281,140,0,2323,2324,3,281,140,0,2324,2325, + 3,281,140,0,2325,2326,3,281,140,0,2326,2327,3,281,140,0,2327,2328, + 3,281,140,0,2328,2329,3,281,140,0,2329,2330,3,281,140,0,2330,2331, + 3,281,140,0,2331,2332,3,281,140,0,2332,2333,3,281,140,0,2333,2334, + 3,281,140,0,2334,2335,3,281,140,0,2335,2336,3,281,140,0,2336,2337, + 3,281,140,0,2337,2339,3,281,140,0,2338,2340,3,281,140,0,2339,2338, + 1,0,0,0,2339,2340,1,0,0,0,2340,2342,1,0,0,0,2341,2343,3,281,140, + 0,2342,2341,1,0,0,0,2342,2343,1,0,0,0,2343,2345,1,0,0,0,2344,2346, + 3,281,140,0,2345,2344,1,0,0,0,2345,2346,1,0,0,0,2346,2348,1,0,0, + 0,2347,2349,3,281,140,0,2348,2347,1,0,0,0,2348,2349,1,0,0,0,2349, + 2351,1,0,0,0,2350,2352,3,281,140,0,2351,2350,1,0,0,0,2351,2352,1, + 0,0,0,2352,2354,1,0,0,0,2353,2355,3,281,140,0,2354,2353,1,0,0,0, + 2354,2355,1,0,0,0,2355,2357,1,0,0,0,2356,2358,3,281,140,0,2357,2356, + 1,0,0,0,2357,2358,1,0,0,0,2358,2360,1,0,0,0,2359,2361,3,281,140, + 0,2360,2359,1,0,0,0,2360,2361,1,0,0,0,2361,2400,1,0,0,0,2362,2363, + 5,70,0,0,2363,2364,5,82,0,0,2364,2368,5,95,0,0,2365,2366,5,71,0, + 0,2366,2368,5,95,0,0,2367,2362,1,0,0,0,2367,2365,1,0,0,0,2368,2370, + 1,0,0,0,2369,2371,3,281,140,0,2370,2369,1,0,0,0,2371,2372,1,0,0, + 0,2372,2370,1,0,0,0,2372,2373,1,0,0,0,2373,2400,1,0,0,0,2374,2375, + 3,279,139,0,2375,2376,3,279,139,0,2376,2377,3,279,139,0,2377,2378, + 3,279,139,0,2378,2379,3,279,139,0,2379,2380,3,279,139,0,2380,2381, + 3,279,139,0,2381,2382,3,279,139,0,2382,2383,3,279,139,0,2383,2384, + 3,279,139,0,2384,2385,3,279,139,0,2385,2386,3,279,139,0,2386,2387, + 3,279,139,0,2387,2388,3,279,139,0,2388,2389,3,279,139,0,2389,2390, + 3,279,139,0,2390,2391,3,279,139,0,2391,2392,3,279,139,0,2392,2393, + 3,279,139,0,2393,2394,3,279,139,0,2394,2395,3,279,139,0,2395,2396, + 3,279,139,0,2396,2397,3,279,139,0,2397,2398,3,279,139,0,2398,2400, + 1,0,0,0,2399,2314,1,0,0,0,2399,2367,1,0,0,0,2399,2374,1,0,0,0,2400, + 270,1,0,0,0,2401,2403,5,34,0,0,2402,2404,3,283,141,0,2403,2402,1, + 0,0,0,2404,2405,1,0,0,0,2405,2403,1,0,0,0,2405,2406,1,0,0,0,2406, + 2407,1,0,0,0,2407,2408,5,34,0,0,2408,2412,1,0,0,0,2409,2410,5,34, + 0,0,2410,2412,5,34,0,0,2411,2401,1,0,0,0,2411,2409,1,0,0,0,2412, + 272,1,0,0,0,2413,2419,3,277,138,0,2414,2419,3,35,17,0,2415,2419, + 3,19,9,0,2416,2419,3,33,16,0,2417,2419,3,21,10,0,2418,2413,1,0,0, + 0,2418,2414,1,0,0,0,2418,2415,1,0,0,0,2418,2416,1,0,0,0,2418,2417, + 1,0,0,0,2419,2420,1,0,0,0,2420,2418,1,0,0,0,2420,2421,1,0,0,0,2421, + 274,1,0,0,0,2422,2423,5,36,0,0,2423,2425,3,273,136,0,2424,2422,1, + 0,0,0,2425,2426,1,0,0,0,2426,2424,1,0,0,0,2426,2427,1,0,0,0,2427, + 2429,1,0,0,0,2428,2430,3,33,16,0,2429,2428,1,0,0,0,2429,2430,1,0, + 0,0,2430,276,1,0,0,0,2431,2432,7,1,0,0,2432,278,1,0,0,0,2433,2434, + 7,2,0,0,2434,280,1,0,0,0,2435,2436,7,3,0,0,2436,282,1,0,0,0,2437, + 2441,8,4,0,0,2438,2439,5,92,0,0,2439,2441,5,34,0,0,2440,2437,1,0, + 0,0,2440,2438,1,0,0,0,2441,284,1,0,0,0,2442,2444,7,5,0,0,2443,2442, + 1,0,0,0,2444,2445,1,0,0,0,2445,2443,1,0,0,0,2445,2446,1,0,0,0,2446, + 2447,1,0,0,0,2447,2448,6,142,0,0,2448,286,1,0,0,0,2449,2450,5,47, + 0,0,2450,2451,5,42,0,0,2451,2455,1,0,0,0,2452,2454,9,0,0,0,2453, + 2452,1,0,0,0,2454,2457,1,0,0,0,2455,2456,1,0,0,0,2455,2453,1,0,0, + 0,2456,2458,1,0,0,0,2457,2455,1,0,0,0,2458,2459,5,42,0,0,2459,2460, + 5,47,0,0,2460,2461,1,0,0,0,2461,2462,6,143,0,0,2462,288,1,0,0,0, + 2463,2464,5,47,0,0,2464,2465,5,47,0,0,2465,2469,1,0,0,0,2466,2468, + 8,6,0,0,2467,2466,1,0,0,0,2468,2471,1,0,0,0,2469,2467,1,0,0,0,2469, + 2470,1,0,0,0,2470,2472,1,0,0,0,2471,2469,1,0,0,0,2472,2473,6,144, + 0,0,2473,290,1,0,0,0,23,0,339,2339,2342,2345,2348,2351,2354,2357, + 2360,2367,2372,2399,2405,2411,2418,2420,2426,2429,2440,2445,2455, + 2469,1,6,0,0 ] class PBXProjLexer(Lexer): @@ -979,108 +987,109 @@ class PBXProjLexer(Lexer): XC_REMOTE_SWIFT_PACKAGE_REFERENCE = 38 XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY = 39 XC_VERSION_GROUP = 40 - FILE_REF = 41 - PRODUCT_REF = 42 - CONTAINER_PORTAL = 43 - PROXY_TYPE = 44 - REMOTE_GLOBAL_ID_STRING = 45 - REMOTE_INFO = 46 - FILE_ENCODING = 47 - COMMENTS = 48 - EXPLICIT_FILE_TYPE = 49 - LAST_KNOWN_FILE_TYPE = 50 - INCLUDE_IN_INDEX = 51 - INDENT_WIDTH = 52 - TAB_WIDTH = 53 - USES_TABS = 54 - WRAPS_LINES = 55 - PLATFORM_FILTER = 56 - PLATFORM_FILTERS = 57 - CHILDREN = 58 - PRODUCT_INSTALL_PATH = 59 - REPOSITORY_URL = 60 - REQUIREMENT = 61 - PACKAGE = 62 - PACKAGE_PRODUCT_DEPENDENCIES = 63 - NAME = 64 - PATH = 65 - SOURCE_TREE = 66 - BUILD_ACTION_MASK = 67 - FILES = 68 - RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING = 69 - BUILD_CONFIGURATION_LIST = 70 - BUILD_PHASES = 71 - BUILD_RULES = 72 - BUILD_ARGUMENTS_STRING = 73 - BUILD_TOOL_PATH = 74 - BUILD_WORKING_DIRECTORY = 75 - PASS_BUILD_SETTINGS_IN_ENVIRONMENT = 76 - DEPENDENCIES = 77 - PRODUCT_NAME = 78 - PRODUCT_REFERENCE = 79 - PRODUCT_TYPE = 80 - LINE_ENDING = 81 - XC_LANGUAGE_SPECIFICATION_IDENTIFIER = 82 - PLIST_STRUCTURE_DEFINITION_IDENTIFIER = 83 - ATTRIBUTES = 84 - LAST_SWIFT_MIGRATION = 85 - DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE = 86 - LAST_SWIFT_UPDATE_CHECK = 87 - BUILD_INDEPENDENT_TARGETS_IN_PARALLEL = 88 - LAST_TESTING_UPGRADE_CHECK = 89 - LAST_UPGRADE_CHECK = 90 - ORGANIZATION_NAME = 91 - TARGET_ATTRIBUTES = 92 - CREATED_ON_TOOLS_VERSION = 93 - TEST_TARGET_ID = 94 - DEVELOPMENT_TEAM = 95 - DEVELOPMENT_TEAM_NAME = 96 - PROVISIONING_STYLE = 97 - COMPATIBILITY_VERSION = 98 - DEVELOPMENT_REGION = 99 - HAS_SCANNED_FOR_ENCODINGS = 100 - KNOWN_REGIONS = 101 - MAIN_GROUP = 102 - PRODUCT_REF_GROUP = 103 - PACKAGE_REFERENCES = 104 - PRODUCT_DIR_PATH = 105 - PROJECT_REFERENCES = 106 - PROJECT_ROOT = 107 - TARGETS = 108 - INPUT_FILE_LIST_PATHS = 109 - INPUT_PATHS = 110 - OUTPUT_FILE_LIST_PATHS = 111 - OUTPUT_PATHS = 112 - SHELL_PATH = 113 - SHELL_SCRIPT = 114 - SHOW_ENV_VARS_IN_LOG = 115 - TARGET = 116 - TARGET_PROXY = 117 - FILE_TYPE = 118 - REMOTE_REF = 119 - BASE_CONFIGURATION_REFERENCE = 120 - BUILD_SETTINGS = 121 - DST_PATH = 122 - DST_SUBFOLDER_SPEC = 123 - PRODUCT_GROUP = 124 - PROJECT_REF = 125 - BUILD_CONFIGURATIONS = 126 - DEFAULT_CONFIGURATION_IS_VISIBLE = 127 - DEFAULT_CONFIGURATION_NAME = 128 - SETTINGS = 129 - SYSTEM_CAPABILITIES = 130 - CURRENT_VERSION = 131 - VERSION_GROUP_TYPE = 132 - CLASSPREFIX = 133 - REFERENCE = 134 - QUOTED_STRING = 135 - NON_QUOTED_STRING = 136 - VARIABLE = 137 - ALPHA_NUMERIC = 138 - ALPHA_NUMERIC_CAP = 139 - WS = 140 - COMMENT = 141 - LINE_COMMENT = 142 + ALWAYS_OUT_OF_DATE = 41 + FILE_REF = 42 + PRODUCT_REF = 43 + CONTAINER_PORTAL = 44 + PROXY_TYPE = 45 + REMOTE_GLOBAL_ID_STRING = 46 + REMOTE_INFO = 47 + FILE_ENCODING = 48 + COMMENTS = 49 + EXPLICIT_FILE_TYPE = 50 + LAST_KNOWN_FILE_TYPE = 51 + INCLUDE_IN_INDEX = 52 + INDENT_WIDTH = 53 + TAB_WIDTH = 54 + USES_TABS = 55 + WRAPS_LINES = 56 + PLATFORM_FILTER = 57 + PLATFORM_FILTERS = 58 + CHILDREN = 59 + PRODUCT_INSTALL_PATH = 60 + REPOSITORY_URL = 61 + REQUIREMENT = 62 + PACKAGE = 63 + PACKAGE_PRODUCT_DEPENDENCIES = 64 + NAME = 65 + PATH = 66 + SOURCE_TREE = 67 + BUILD_ACTION_MASK = 68 + FILES = 69 + RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING = 70 + BUILD_CONFIGURATION_LIST = 71 + BUILD_PHASES = 72 + BUILD_RULES = 73 + BUILD_ARGUMENTS_STRING = 74 + BUILD_TOOL_PATH = 75 + BUILD_WORKING_DIRECTORY = 76 + PASS_BUILD_SETTINGS_IN_ENVIRONMENT = 77 + DEPENDENCIES = 78 + PRODUCT_NAME = 79 + PRODUCT_REFERENCE = 80 + PRODUCT_TYPE = 81 + LINE_ENDING = 82 + XC_LANGUAGE_SPECIFICATION_IDENTIFIER = 83 + PLIST_STRUCTURE_DEFINITION_IDENTIFIER = 84 + ATTRIBUTES = 85 + LAST_SWIFT_MIGRATION = 86 + DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE = 87 + LAST_SWIFT_UPDATE_CHECK = 88 + BUILD_INDEPENDENT_TARGETS_IN_PARALLEL = 89 + LAST_TESTING_UPGRADE_CHECK = 90 + LAST_UPGRADE_CHECK = 91 + ORGANIZATION_NAME = 92 + TARGET_ATTRIBUTES = 93 + CREATED_ON_TOOLS_VERSION = 94 + TEST_TARGET_ID = 95 + DEVELOPMENT_TEAM = 96 + DEVELOPMENT_TEAM_NAME = 97 + PROVISIONING_STYLE = 98 + COMPATIBILITY_VERSION = 99 + DEVELOPMENT_REGION = 100 + HAS_SCANNED_FOR_ENCODINGS = 101 + KNOWN_REGIONS = 102 + MAIN_GROUP = 103 + PRODUCT_REF_GROUP = 104 + PACKAGE_REFERENCES = 105 + PRODUCT_DIR_PATH = 106 + PROJECT_REFERENCES = 107 + PROJECT_ROOT = 108 + TARGETS = 109 + INPUT_FILE_LIST_PATHS = 110 + INPUT_PATHS = 111 + OUTPUT_FILE_LIST_PATHS = 112 + OUTPUT_PATHS = 113 + SHELL_PATH = 114 + SHELL_SCRIPT = 115 + SHOW_ENV_VARS_IN_LOG = 116 + TARGET = 117 + TARGET_PROXY = 118 + FILE_TYPE = 119 + REMOTE_REF = 120 + BASE_CONFIGURATION_REFERENCE = 121 + BUILD_SETTINGS = 122 + DST_PATH = 123 + DST_SUBFOLDER_SPEC = 124 + PRODUCT_GROUP = 125 + PROJECT_REF = 126 + BUILD_CONFIGURATIONS = 127 + DEFAULT_CONFIGURATION_IS_VISIBLE = 128 + DEFAULT_CONFIGURATION_NAME = 129 + SETTINGS = 130 + SYSTEM_CAPABILITIES = 131 + CURRENT_VERSION = 132 + VERSION_GROUP_TYPE = 133 + CLASSPREFIX = 134 + REFERENCE = 135 + QUOTED_STRING = 136 + NON_QUOTED_STRING = 137 + VARIABLE = 138 + ALPHA_NUMERIC = 139 + ALPHA_NUMERIC_CAP = 140 + WS = 141 + COMMENT = 142 + LINE_COMMENT = 143 channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] @@ -1096,13 +1105,13 @@ class PBXProjLexer(Lexer): "'PBXResourcesBuildPhase'", "'PBXShellScriptBuildPhase'", "'PBXSourcesBuildPhase'", "'PBXTargetDependency'", "'PBXVariantGroup'", "'XCBuildConfiguration'", "'XCConfigurationList'", "'XCRemoteSwiftPackageReference'", - "'XCSwiftPackageProductDependency'", "'XCVersionGroup'", "'fileRef'", - "'productRef'", "'containerPortal'", "'proxyType'", "'remoteGlobalIDString'", - "'remoteInfo'", "'fileEncoding'", "'comments'", "'explicitFileType'", - "'lastKnownFileType'", "'includeInIndex'", "'indentWidth'", - "'tabWidth'", "'usesTabs'", "'wrapsLines'", "'platformFilter'", - "'platformFilters'", "'children'", "'productInstallPath'", "'repositoryURL'", - "'requirement'", "'package'", "'packageProductDependencies'", + "'XCSwiftPackageProductDependency'", "'XCVersionGroup'", "'alwaysOutOfDate'", + "'fileRef'", "'productRef'", "'containerPortal'", "'proxyType'", + "'remoteGlobalIDString'", "'remoteInfo'", "'fileEncoding'", + "'comments'", "'explicitFileType'", "'lastKnownFileType'", "'includeInIndex'", + "'indentWidth'", "'tabWidth'", "'usesTabs'", "'wrapsLines'", + "'platformFilter'", "'platformFilters'", "'children'", "'productInstallPath'", + "'repositoryURL'", "'requirement'", "'package'", "'packageProductDependencies'", "'name'", "'path'", "'sourceTree'", "'buildActionMask'", "'files'", "'runOnlyForDeploymentPostprocessing'", "'buildConfigurationList'", "'buildPhases'", "'buildRules'", "'buildArgumentsString'", "'buildToolPath'", @@ -1135,10 +1144,11 @@ class PBXProjLexer(Lexer): "PBX_SHELL_SCRIPT_BUILD_PHASE", "PBX_SOURCES_BUILD_PHASE", "PBX_TARGET_DEPENDENCY", "PBX_VARIANT_GROUP", "XC_BUILD_CONFIGURATION", "XC_CONFIGURATION_LIST", "XC_REMOTE_SWIFT_PACKAGE_REFERENCE", "XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY", - "XC_VERSION_GROUP", "FILE_REF", "PRODUCT_REF", "CONTAINER_PORTAL", - "PROXY_TYPE", "REMOTE_GLOBAL_ID_STRING", "REMOTE_INFO", "FILE_ENCODING", - "COMMENTS", "EXPLICIT_FILE_TYPE", "LAST_KNOWN_FILE_TYPE", "INCLUDE_IN_INDEX", - "INDENT_WIDTH", "TAB_WIDTH", "USES_TABS", "WRAPS_LINES", "PLATFORM_FILTER", + "XC_VERSION_GROUP", "ALWAYS_OUT_OF_DATE", "FILE_REF", "PRODUCT_REF", + "CONTAINER_PORTAL", "PROXY_TYPE", "REMOTE_GLOBAL_ID_STRING", + "REMOTE_INFO", "FILE_ENCODING", "COMMENTS", "EXPLICIT_FILE_TYPE", + "LAST_KNOWN_FILE_TYPE", "INCLUDE_IN_INDEX", "INDENT_WIDTH", + "TAB_WIDTH", "USES_TABS", "WRAPS_LINES", "PLATFORM_FILTER", "PLATFORM_FILTERS", "CHILDREN", "PRODUCT_INSTALL_PATH", "REPOSITORY_URL", "REQUIREMENT", "PACKAGE", "PACKAGE_PRODUCT_DEPENDENCIES", "NAME", "PATH", "SOURCE_TREE", "BUILD_ACTION_MASK", "FILES", "RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING", @@ -1175,9 +1185,9 @@ class PBXProjLexer(Lexer): "PBX_SOURCES_BUILD_PHASE", "PBX_TARGET_DEPENDENCY", "PBX_VARIANT_GROUP", "XC_BUILD_CONFIGURATION", "XC_CONFIGURATION_LIST", "XC_REMOTE_SWIFT_PACKAGE_REFERENCE", "XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY", "XC_VERSION_GROUP", - "FILE_REF", "PRODUCT_REF", "CONTAINER_PORTAL", "PROXY_TYPE", - "REMOTE_GLOBAL_ID_STRING", "REMOTE_INFO", "FILE_ENCODING", - "COMMENTS", "EXPLICIT_FILE_TYPE", "LAST_KNOWN_FILE_TYPE", + "ALWAYS_OUT_OF_DATE", "FILE_REF", "PRODUCT_REF", "CONTAINER_PORTAL", + "PROXY_TYPE", "REMOTE_GLOBAL_ID_STRING", "REMOTE_INFO", + "FILE_ENCODING", "COMMENTS", "EXPLICIT_FILE_TYPE", "LAST_KNOWN_FILE_TYPE", "INCLUDE_IN_INDEX", "INDENT_WIDTH", "TAB_WIDTH", "USES_TABS", "WRAPS_LINES", "PLATFORM_FILTER", "PLATFORM_FILTERS", "CHILDREN", "PRODUCT_INSTALL_PATH", "REPOSITORY_URL", diff --git a/kin/grammar/PBXProjLexer.tokens b/kin/grammar/PBXProjLexer.tokens index d7a1620..5486411 100644 --- a/kin/grammar/PBXProjLexer.tokens +++ b/kin/grammar/PBXProjLexer.tokens @@ -38,108 +38,109 @@ XC_CONFIGURATION_LIST=37 XC_REMOTE_SWIFT_PACKAGE_REFERENCE=38 XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY=39 XC_VERSION_GROUP=40 -FILE_REF=41 -PRODUCT_REF=42 -CONTAINER_PORTAL=43 -PROXY_TYPE=44 -REMOTE_GLOBAL_ID_STRING=45 -REMOTE_INFO=46 -FILE_ENCODING=47 -COMMENTS=48 -EXPLICIT_FILE_TYPE=49 -LAST_KNOWN_FILE_TYPE=50 -INCLUDE_IN_INDEX=51 -INDENT_WIDTH=52 -TAB_WIDTH=53 -USES_TABS=54 -WRAPS_LINES=55 -PLATFORM_FILTER=56 -PLATFORM_FILTERS=57 -CHILDREN=58 -PRODUCT_INSTALL_PATH=59 -REPOSITORY_URL=60 -REQUIREMENT=61 -PACKAGE=62 -PACKAGE_PRODUCT_DEPENDENCIES=63 -NAME=64 -PATH=65 -SOURCE_TREE=66 -BUILD_ACTION_MASK=67 -FILES=68 -RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING=69 -BUILD_CONFIGURATION_LIST=70 -BUILD_PHASES=71 -BUILD_RULES=72 -BUILD_ARGUMENTS_STRING=73 -BUILD_TOOL_PATH=74 -BUILD_WORKING_DIRECTORY=75 -PASS_BUILD_SETTINGS_IN_ENVIRONMENT=76 -DEPENDENCIES=77 -PRODUCT_NAME=78 -PRODUCT_REFERENCE=79 -PRODUCT_TYPE=80 -LINE_ENDING=81 -XC_LANGUAGE_SPECIFICATION_IDENTIFIER=82 -PLIST_STRUCTURE_DEFINITION_IDENTIFIER=83 -ATTRIBUTES=84 -LAST_SWIFT_MIGRATION=85 -DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE=86 -LAST_SWIFT_UPDATE_CHECK=87 -BUILD_INDEPENDENT_TARGETS_IN_PARALLEL=88 -LAST_TESTING_UPGRADE_CHECK=89 -LAST_UPGRADE_CHECK=90 -ORGANIZATION_NAME=91 -TARGET_ATTRIBUTES=92 -CREATED_ON_TOOLS_VERSION=93 -TEST_TARGET_ID=94 -DEVELOPMENT_TEAM=95 -DEVELOPMENT_TEAM_NAME=96 -PROVISIONING_STYLE=97 -COMPATIBILITY_VERSION=98 -DEVELOPMENT_REGION=99 -HAS_SCANNED_FOR_ENCODINGS=100 -KNOWN_REGIONS=101 -MAIN_GROUP=102 -PRODUCT_REF_GROUP=103 -PACKAGE_REFERENCES=104 -PRODUCT_DIR_PATH=105 -PROJECT_REFERENCES=106 -PROJECT_ROOT=107 -TARGETS=108 -INPUT_FILE_LIST_PATHS=109 -INPUT_PATHS=110 -OUTPUT_FILE_LIST_PATHS=111 -OUTPUT_PATHS=112 -SHELL_PATH=113 -SHELL_SCRIPT=114 -SHOW_ENV_VARS_IN_LOG=115 -TARGET=116 -TARGET_PROXY=117 -FILE_TYPE=118 -REMOTE_REF=119 -BASE_CONFIGURATION_REFERENCE=120 -BUILD_SETTINGS=121 -DST_PATH=122 -DST_SUBFOLDER_SPEC=123 -PRODUCT_GROUP=124 -PROJECT_REF=125 -BUILD_CONFIGURATIONS=126 -DEFAULT_CONFIGURATION_IS_VISIBLE=127 -DEFAULT_CONFIGURATION_NAME=128 -SETTINGS=129 -SYSTEM_CAPABILITIES=130 -CURRENT_VERSION=131 -VERSION_GROUP_TYPE=132 -CLASSPREFIX=133 -REFERENCE=134 -QUOTED_STRING=135 -NON_QUOTED_STRING=136 -VARIABLE=137 -ALPHA_NUMERIC=138 -ALPHA_NUMERIC_CAP=139 -WS=140 -COMMENT=141 -LINE_COMMENT=142 +ALWAYS_OUT_OF_DATE=41 +FILE_REF=42 +PRODUCT_REF=43 +CONTAINER_PORTAL=44 +PROXY_TYPE=45 +REMOTE_GLOBAL_ID_STRING=46 +REMOTE_INFO=47 +FILE_ENCODING=48 +COMMENTS=49 +EXPLICIT_FILE_TYPE=50 +LAST_KNOWN_FILE_TYPE=51 +INCLUDE_IN_INDEX=52 +INDENT_WIDTH=53 +TAB_WIDTH=54 +USES_TABS=55 +WRAPS_LINES=56 +PLATFORM_FILTER=57 +PLATFORM_FILTERS=58 +CHILDREN=59 +PRODUCT_INSTALL_PATH=60 +REPOSITORY_URL=61 +REQUIREMENT=62 +PACKAGE=63 +PACKAGE_PRODUCT_DEPENDENCIES=64 +NAME=65 +PATH=66 +SOURCE_TREE=67 +BUILD_ACTION_MASK=68 +FILES=69 +RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING=70 +BUILD_CONFIGURATION_LIST=71 +BUILD_PHASES=72 +BUILD_RULES=73 +BUILD_ARGUMENTS_STRING=74 +BUILD_TOOL_PATH=75 +BUILD_WORKING_DIRECTORY=76 +PASS_BUILD_SETTINGS_IN_ENVIRONMENT=77 +DEPENDENCIES=78 +PRODUCT_NAME=79 +PRODUCT_REFERENCE=80 +PRODUCT_TYPE=81 +LINE_ENDING=82 +XC_LANGUAGE_SPECIFICATION_IDENTIFIER=83 +PLIST_STRUCTURE_DEFINITION_IDENTIFIER=84 +ATTRIBUTES=85 +LAST_SWIFT_MIGRATION=86 +DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE=87 +LAST_SWIFT_UPDATE_CHECK=88 +BUILD_INDEPENDENT_TARGETS_IN_PARALLEL=89 +LAST_TESTING_UPGRADE_CHECK=90 +LAST_UPGRADE_CHECK=91 +ORGANIZATION_NAME=92 +TARGET_ATTRIBUTES=93 +CREATED_ON_TOOLS_VERSION=94 +TEST_TARGET_ID=95 +DEVELOPMENT_TEAM=96 +DEVELOPMENT_TEAM_NAME=97 +PROVISIONING_STYLE=98 +COMPATIBILITY_VERSION=99 +DEVELOPMENT_REGION=100 +HAS_SCANNED_FOR_ENCODINGS=101 +KNOWN_REGIONS=102 +MAIN_GROUP=103 +PRODUCT_REF_GROUP=104 +PACKAGE_REFERENCES=105 +PRODUCT_DIR_PATH=106 +PROJECT_REFERENCES=107 +PROJECT_ROOT=108 +TARGETS=109 +INPUT_FILE_LIST_PATHS=110 +INPUT_PATHS=111 +OUTPUT_FILE_LIST_PATHS=112 +OUTPUT_PATHS=113 +SHELL_PATH=114 +SHELL_SCRIPT=115 +SHOW_ENV_VARS_IN_LOG=116 +TARGET=117 +TARGET_PROXY=118 +FILE_TYPE=119 +REMOTE_REF=120 +BASE_CONFIGURATION_REFERENCE=121 +BUILD_SETTINGS=122 +DST_PATH=123 +DST_SUBFOLDER_SPEC=124 +PRODUCT_GROUP=125 +PROJECT_REF=126 +BUILD_CONFIGURATIONS=127 +DEFAULT_CONFIGURATION_IS_VISIBLE=128 +DEFAULT_CONFIGURATION_NAME=129 +SETTINGS=130 +SYSTEM_CAPABILITIES=131 +CURRENT_VERSION=132 +VERSION_GROUP_TYPE=133 +CLASSPREFIX=134 +REFERENCE=135 +QUOTED_STRING=136 +NON_QUOTED_STRING=137 +VARIABLE=138 +ALPHA_NUMERIC=139 +ALPHA_NUMERIC_CAP=140 +WS=141 +COMMENT=142 +LINE_COMMENT=143 '{'=1 '}'=2 '='=3 @@ -179,96 +180,97 @@ LINE_COMMENT=142 'XCRemoteSwiftPackageReference'=38 'XCSwiftPackageProductDependency'=39 'XCVersionGroup'=40 -'fileRef'=41 -'productRef'=42 -'containerPortal'=43 -'proxyType'=44 -'remoteGlobalIDString'=45 -'remoteInfo'=46 -'fileEncoding'=47 -'comments'=48 -'explicitFileType'=49 -'lastKnownFileType'=50 -'includeInIndex'=51 -'indentWidth'=52 -'tabWidth'=53 -'usesTabs'=54 -'wrapsLines'=55 -'platformFilter'=56 -'platformFilters'=57 -'children'=58 -'productInstallPath'=59 -'repositoryURL'=60 -'requirement'=61 -'package'=62 -'packageProductDependencies'=63 -'name'=64 -'path'=65 -'sourceTree'=66 -'buildActionMask'=67 -'files'=68 -'runOnlyForDeploymentPostprocessing'=69 -'buildConfigurationList'=70 -'buildPhases'=71 -'buildRules'=72 -'buildArgumentsString'=73 -'buildToolPath'=74 -'buildWorkingDirectory'=75 -'passBuildSettingsInEnvironment'=76 -'dependencies'=77 -'productName'=78 -'productReference'=79 -'productType'=80 -'lineEnding'=81 -'xcLanguageSpecificationIdentifier'=82 -'plistStructureDefinitionIdentifier'=83 -'attributes'=84 -'LastSwiftMigration'=85 -'DefaultBuildSystemTypeForWorkspace'=86 -'LastSwiftUpdateCheck'=87 -'BuildIndependentTargetsInParallel'=88 -'LastTestingUpgradeCheck'=89 -'LastUpgradeCheck'=90 -'ORGANIZATIONNAME'=91 -'TargetAttributes'=92 -'CreatedOnToolsVersion'=93 -'TestTargetID'=94 -'DevelopmentTeam'=95 -'DevelopmentTeamName'=96 -'ProvisioningStyle'=97 -'compatibilityVersion'=98 -'developmentRegion'=99 -'hasScannedForEncodings'=100 -'knownRegions'=101 -'mainGroup'=102 -'productRefGroup'=103 -'packageReferences'=104 -'projectDirPath'=105 -'projectReferences'=106 -'projectRoot'=107 -'targets'=108 -'inputFileListPaths'=109 -'inputPaths'=110 -'outputFileListPaths'=111 -'outputPaths'=112 -'shellPath'=113 -'shellScript'=114 -'showEnvVarsInLog'=115 -'target'=116 -'targetProxy'=117 -'fileType'=118 -'remoteRef'=119 -'baseConfigurationReference'=120 -'buildSettings'=121 -'dstPath'=122 -'dstSubfolderSpec'=123 -'ProductGroup'=124 -'ProjectRef'=125 -'buildConfigurations'=126 -'defaultConfigurationIsVisible'=127 -'defaultConfigurationName'=128 -'settings'=129 -'SystemCapabilities'=130 -'currentVersion'=131 -'versionGroupType'=132 -'CLASSPREFIX'=133 +'alwaysOutOfDate'=41 +'fileRef'=42 +'productRef'=43 +'containerPortal'=44 +'proxyType'=45 +'remoteGlobalIDString'=46 +'remoteInfo'=47 +'fileEncoding'=48 +'comments'=49 +'explicitFileType'=50 +'lastKnownFileType'=51 +'includeInIndex'=52 +'indentWidth'=53 +'tabWidth'=54 +'usesTabs'=55 +'wrapsLines'=56 +'platformFilter'=57 +'platformFilters'=58 +'children'=59 +'productInstallPath'=60 +'repositoryURL'=61 +'requirement'=62 +'package'=63 +'packageProductDependencies'=64 +'name'=65 +'path'=66 +'sourceTree'=67 +'buildActionMask'=68 +'files'=69 +'runOnlyForDeploymentPostprocessing'=70 +'buildConfigurationList'=71 +'buildPhases'=72 +'buildRules'=73 +'buildArgumentsString'=74 +'buildToolPath'=75 +'buildWorkingDirectory'=76 +'passBuildSettingsInEnvironment'=77 +'dependencies'=78 +'productName'=79 +'productReference'=80 +'productType'=81 +'lineEnding'=82 +'xcLanguageSpecificationIdentifier'=83 +'plistStructureDefinitionIdentifier'=84 +'attributes'=85 +'LastSwiftMigration'=86 +'DefaultBuildSystemTypeForWorkspace'=87 +'LastSwiftUpdateCheck'=88 +'BuildIndependentTargetsInParallel'=89 +'LastTestingUpgradeCheck'=90 +'LastUpgradeCheck'=91 +'ORGANIZATIONNAME'=92 +'TargetAttributes'=93 +'CreatedOnToolsVersion'=94 +'TestTargetID'=95 +'DevelopmentTeam'=96 +'DevelopmentTeamName'=97 +'ProvisioningStyle'=98 +'compatibilityVersion'=99 +'developmentRegion'=100 +'hasScannedForEncodings'=101 +'knownRegions'=102 +'mainGroup'=103 +'productRefGroup'=104 +'packageReferences'=105 +'projectDirPath'=106 +'projectReferences'=107 +'projectRoot'=108 +'targets'=109 +'inputFileListPaths'=110 +'inputPaths'=111 +'outputFileListPaths'=112 +'outputPaths'=113 +'shellPath'=114 +'shellScript'=115 +'showEnvVarsInLog'=116 +'target'=117 +'targetProxy'=118 +'fileType'=119 +'remoteRef'=120 +'baseConfigurationReference'=121 +'buildSettings'=122 +'dstPath'=123 +'dstSubfolderSpec'=124 +'ProductGroup'=125 +'ProjectRef'=126 +'buildConfigurations'=127 +'defaultConfigurationIsVisible'=128 +'defaultConfigurationName'=129 +'settings'=130 +'SystemCapabilities'=131 +'currentVersion'=132 +'versionGroupType'=133 +'CLASSPREFIX'=134 diff --git a/kin/grammar/PBXProjListener.py b/kin/grammar/PBXProjListener.py index 659f7f2..d81da61 100644 --- a/kin/grammar/PBXProjListener.py +++ b/kin/grammar/PBXProjListener.py @@ -665,6 +665,15 @@ def exitIsa_xc_version_group(self, ctx:PBXProjParser.Isa_xc_version_groupContext pass + # Enter a parse tree produced by PBXProjParser#always_out_of_date. + def enterAlways_out_of_date(self, ctx:PBXProjParser.Always_out_of_dateContext): + pass + + # Exit a parse tree produced by PBXProjParser#always_out_of_date. + def exitAlways_out_of_date(self, ctx:PBXProjParser.Always_out_of_dateContext): + pass + + # Enter a parse tree produced by PBXProjParser#file_ref. def enterFile_ref(self, ctx:PBXProjParser.File_refContext): pass diff --git a/kin/grammar/PBXProjParser.py b/kin/grammar/PBXProjParser.py index ec18507..db8c245 100644 --- a/kin/grammar/PBXProjParser.py +++ b/kin/grammar/PBXProjParser.py @@ -10,7 +10,7 @@ def serializedATN(): return [ - 4,1,142,1707,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6, + 4,1,143,1717,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6, 7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7, 13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2, 20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7, @@ -38,594 +38,598 @@ def serializedATN(): 7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158, 2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164, 7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169, - 2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,1,0,1,0,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3, - 1,3,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,3,5,379,8,5,1,5,3,5,382, - 8,5,1,5,3,5,385,8,5,1,5,3,5,388,8,5,1,5,1,5,3,5,392,8,5,1,5,1,5, - 3,5,396,8,5,1,5,3,5,399,8,5,1,5,3,5,402,8,5,1,5,1,5,3,5,406,8,5, - 1,5,3,5,409,8,5,1,5,3,5,412,8,5,1,5,3,5,415,8,5,1,5,3,5,418,8,5, - 1,5,3,5,421,8,5,1,5,1,5,1,5,3,5,426,8,5,1,5,3,5,429,8,5,1,5,3,5, - 432,8,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,4,7,443,8,7,11,7,12, - 7,444,1,8,4,8,448,8,8,11,8,12,8,449,1,9,4,9,453,8,9,11,9,12,9,454, - 1,10,4,10,458,8,10,11,10,12,10,459,1,11,4,11,463,8,11,11,11,12,11, - 464,1,12,4,12,468,8,12,11,12,12,12,469,1,13,4,13,473,8,13,11,13, - 12,13,474,1,14,4,14,478,8,14,11,14,12,14,479,1,15,4,15,483,8,15, - 11,15,12,15,484,1,16,4,16,488,8,16,11,16,12,16,489,1,17,4,17,493, - 8,17,11,17,12,17,494,1,18,4,18,498,8,18,11,18,12,18,499,1,19,4,19, - 503,8,19,11,19,12,19,504,1,20,4,20,508,8,20,11,20,12,20,509,1,21, - 4,21,513,8,21,11,21,12,21,514,1,22,4,22,518,8,22,11,22,12,22,519, - 1,23,4,23,523,8,23,11,23,12,23,524,1,24,4,24,528,8,24,11,24,12,24, - 529,1,25,4,25,533,8,25,11,25,12,25,534,1,26,4,26,538,8,26,11,26, - 12,26,539,1,27,4,27,543,8,27,11,27,12,27,544,1,28,4,28,548,8,28, - 11,28,12,28,549,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,3,29, - 561,8,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,3,30,571,8,30,1, - 30,3,30,574,8,30,1,30,3,30,577,8,30,1,30,3,30,580,8,30,1,30,3,30, - 583,8,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31, - 1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32, - 608,8,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,3,33,619,8, - 33,1,33,3,33,622,8,33,1,33,3,33,625,8,33,1,33,3,33,628,8,33,1,33, - 3,33,631,8,33,1,33,3,33,634,8,33,1,33,3,33,637,8,33,1,33,3,33,640, - 8,33,1,33,3,33,643,8,33,1,33,3,33,646,8,33,1,33,3,33,649,8,33,1, - 33,3,33,652,8,33,1,33,3,33,655,8,33,1,33,3,33,658,8,33,1,33,1,33, - 1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35, - 1,35,1,35,1,35,1,35,3,35,679,8,35,1,35,3,35,682,8,35,1,35,3,35,685, - 8,35,1,35,3,35,688,8,35,1,35,1,35,3,35,692,8,35,1,35,3,35,695,8, - 35,1,35,3,35,698,8,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1, - 36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1, - 37,1,37,3,37,723,8,37,1,37,3,37,726,8,37,1,37,1,37,1,37,1,37,1,37, - 1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38, - 1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,3,39,755,8,39,1,39, - 1,39,1,39,3,39,760,8,39,1,39,1,39,3,39,764,8,39,1,39,1,39,3,39,768, - 8,39,1,39,3,39,771,8,39,1,39,1,39,3,39,775,8,39,1,39,1,39,1,39,1, - 39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,3,40,788,8,40,1,40,1,40,1, - 40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1, - 41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,813,8,42,1,42,3,42,816, - 8,42,1,42,3,42,819,8,42,1,42,3,42,822,8,42,1,42,3,42,825,8,42,1, - 42,1,42,1,42,1,42,3,42,831,8,42,1,42,1,42,1,42,1,43,1,43,1,43,1, - 43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,3,44,851, - 8,44,1,44,3,44,854,8,44,1,44,3,44,857,8,44,1,44,3,44,860,8,44,1, - 44,3,44,863,8,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1, - 45,1,45,3,45,876,8,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1, - 46,3,46,887,8,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1, - 47,1,47,1,47,3,47,901,8,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1, - 48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,3,49,920,8,49,1, - 49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,3,50,933,8, - 50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1, - 52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1, - 54,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1, - 57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1, - 60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1, - 62,1,62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,65,1, - 65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1, - 67,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1, - 70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1, - 73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1, - 75,1,75,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,78,1, - 78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1, - 80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1, - 83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1, - 86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1, - 88,1,88,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1, - 91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,5, - 93,1155,8,93,10,93,12,93,1158,9,93,1,93,1,93,1,93,1,94,1,94,1,94, - 1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97, - 1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99, - 1,99,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101, - 1,102,1,102,1,102,5,102,1206,8,102,10,102,12,102,1209,9,102,1,102, - 1,102,1,103,1,103,1,103,1,103,5,103,1217,8,103,10,103,12,103,1220, - 9,103,1,103,1,103,1,104,1,104,1,104,5,104,1227,8,104,10,104,12,104, - 1230,9,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106, - 1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108, - 1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110, - 1,110,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112, - 1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,115, - 1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117, - 1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119, - 1,119,3,119,1308,8,119,1,119,3,119,1311,8,119,1,119,3,119,1314,8, - 119,1,119,3,119,1317,8,119,1,119,3,119,1320,8,119,1,119,3,119,1323, - 8,119,1,119,3,119,1326,8,119,1,119,3,119,1329,8,119,1,119,3,119, - 1332,8,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,121, - 1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123, - 1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125, - 1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127, - 5,127,1376,8,127,10,127,12,127,1379,9,127,1,127,1,127,1,127,1,128, - 1,128,1,128,1,128,3,128,1388,8,128,1,128,3,128,1391,8,128,1,128, - 3,128,1394,8,128,1,128,3,128,1397,8,128,1,128,3,128,1400,8,128,1, - 128,3,128,1403,8,128,1,128,3,128,1406,8,128,1,128,3,128,1409,8,128, - 1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130, - 1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132, - 1,132,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134, - 1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,137, - 1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,139,1,139, - 1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141, - 1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142, - 1,142,1,142,1,142,3,142,1491,8,142,1,143,1,143,1,143,1,143,1,143, - 1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,146, - 1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,148,1,148, - 1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150, - 1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152, - 1,152,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154, - 1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157, - 1,157,1,157,1,157,5,157,1567,8,157,10,157,12,157,1570,9,157,1,157, - 1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159, - 1,159,1,160,5,160,1586,8,160,10,160,12,160,1589,9,160,1,161,1,161, - 1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162, + 2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,1,0, + 1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3, + 1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,3,5,381,8,5, + 1,5,3,5,384,8,5,1,5,3,5,387,8,5,1,5,3,5,390,8,5,1,5,1,5,3,5,394, + 8,5,1,5,1,5,3,5,398,8,5,1,5,3,5,401,8,5,1,5,3,5,404,8,5,1,5,1,5, + 3,5,408,8,5,1,5,3,5,411,8,5,1,5,3,5,414,8,5,1,5,3,5,417,8,5,1,5, + 3,5,420,8,5,1,5,3,5,423,8,5,1,5,1,5,1,5,3,5,428,8,5,1,5,3,5,431, + 8,5,1,5,3,5,434,8,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,4,7,445, + 8,7,11,7,12,7,446,1,8,4,8,450,8,8,11,8,12,8,451,1,9,4,9,455,8,9, + 11,9,12,9,456,1,10,4,10,460,8,10,11,10,12,10,461,1,11,4,11,465,8, + 11,11,11,12,11,466,1,12,4,12,470,8,12,11,12,12,12,471,1,13,4,13, + 475,8,13,11,13,12,13,476,1,14,4,14,480,8,14,11,14,12,14,481,1,15, + 4,15,485,8,15,11,15,12,15,486,1,16,4,16,490,8,16,11,16,12,16,491, + 1,17,4,17,495,8,17,11,17,12,17,496,1,18,4,18,500,8,18,11,18,12,18, + 501,1,19,4,19,505,8,19,11,19,12,19,506,1,20,4,20,510,8,20,11,20, + 12,20,511,1,21,4,21,515,8,21,11,21,12,21,516,1,22,4,22,520,8,22, + 11,22,12,22,521,1,23,4,23,525,8,23,11,23,12,23,526,1,24,4,24,530, + 8,24,11,24,12,24,531,1,25,4,25,535,8,25,11,25,12,25,536,1,26,4,26, + 540,8,26,11,26,12,26,541,1,27,4,27,545,8,27,11,27,12,27,546,1,28, + 4,28,550,8,28,11,28,12,28,551,1,29,1,29,1,29,1,29,1,29,1,29,1,29, + 1,29,1,29,3,29,563,8,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30, + 3,30,573,8,30,1,30,3,30,576,8,30,1,30,3,30,579,8,30,1,30,3,30,582, + 8,30,1,30,3,30,585,8,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31, + 1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32, + 1,32,1,32,3,32,610,8,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33, + 1,33,3,33,621,8,33,1,33,3,33,624,8,33,1,33,3,33,627,8,33,1,33,3, + 33,630,8,33,1,33,3,33,633,8,33,1,33,3,33,636,8,33,1,33,3,33,639, + 8,33,1,33,3,33,642,8,33,1,33,3,33,645,8,33,1,33,3,33,648,8,33,1, + 33,3,33,651,8,33,1,33,3,33,654,8,33,1,33,3,33,657,8,33,1,33,3,33, + 660,8,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34, + 1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,3,35,681,8,35,1,35,3,35, + 684,8,35,1,35,3,35,687,8,35,1,35,3,35,690,8,35,1,35,1,35,3,35,694, + 8,35,1,35,3,35,697,8,35,1,35,3,35,700,8,35,1,35,1,35,1,35,1,36,1, + 36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1, + 37,1,37,1,37,1,37,1,37,1,37,3,37,725,8,37,1,37,3,37,728,8,37,1,37, + 1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38, + 1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39, + 3,39,757,8,39,1,39,1,39,1,39,3,39,762,8,39,1,39,1,39,3,39,766,8, + 39,1,39,1,39,3,39,770,8,39,1,39,3,39,773,8,39,1,39,1,39,3,39,777, + 8,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,3,40, + 790,8,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41, + 1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,3,42,813,8,42, + 1,42,1,42,1,42,3,42,818,8,42,1,42,3,42,821,8,42,1,42,3,42,824,8, + 42,1,42,3,42,827,8,42,1,42,3,42,830,8,42,1,42,1,42,1,42,1,42,3,42, + 836,8,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43, + 1,43,1,43,1,44,1,44,1,44,1,44,1,44,3,44,856,8,44,1,44,3,44,859,8, + 44,1,44,3,44,862,8,44,1,44,3,44,865,8,44,1,44,3,44,868,8,44,1,44, + 1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,3,45,881,8,45, + 1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,3,46,892,8,46,1,46, + 1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,3,47,906, + 8,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48, + 1,49,1,49,1,49,1,49,1,49,3,49,925,8,49,1,49,1,49,1,49,1,49,1,50, + 1,50,1,50,1,50,1,50,1,50,1,50,3,50,938,8,50,1,50,1,50,1,50,1,50, + 1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,53, + 1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55, + 1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58, + 1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60, + 1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63, + 1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,66, + 1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68, + 1,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71, + 1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73, + 1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76, + 1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,79, + 1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81, + 1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,84,1,84, + 1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86, + 1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89, + 1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92, + 1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94, + 5,94,1165,8,94,10,94,12,94,1168,9,94,1,94,1,94,1,94,1,95,1,95,1, + 95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1, + 98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100, + 1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102, + 1,102,1,103,1,103,1,103,5,103,1216,8,103,10,103,12,103,1219,9,103, + 1,103,1,103,1,104,1,104,1,104,1,104,5,104,1227,8,104,10,104,12,104, + 1230,9,104,1,104,1,104,1,105,1,105,1,105,5,105,1237,8,105,10,105, + 12,105,1240,9,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,107, + 1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,109,1,109, + 1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111, + 1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113, + 1,113,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115, + 1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118, + 1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,120,1,120, + 1,120,1,120,3,120,1318,8,120,1,120,3,120,1321,8,120,1,120,3,120, + 1324,8,120,1,120,3,120,1327,8,120,1,120,3,120,1330,8,120,1,120,3, + 120,1333,8,120,1,120,3,120,1336,8,120,1,120,3,120,1339,8,120,1,120, + 3,120,1342,8,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121, + 1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,124, + 1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,126,1,126, + 1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128, + 1,128,5,128,1386,8,128,10,128,12,128,1389,9,128,1,128,1,128,1,128, + 1,129,1,129,1,129,1,129,3,129,1398,8,129,1,129,3,129,1401,8,129, + 1,129,3,129,1404,8,129,1,129,3,129,1407,8,129,1,129,3,129,1410,8, + 129,1,129,3,129,1413,8,129,1,129,3,129,1416,8,129,1,129,3,129,1419, + 8,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,131,1,131, + 1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133, + 1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135, + 1,135,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137, + 1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,140, + 1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,142,1,142, + 1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143, + 1,143,1,143,1,143,1,143,3,143,1501,8,143,1,144,1,144,1,144,1,144, + 1,144,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146, + 1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,149, + 1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,151,1,151, + 1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153, + 1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155, + 1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157, + 1,158,1,158,1,158,1,158,5,158,1577,8,158,10,158,12,158,1580,9,158, + 1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160, + 1,160,1,160,1,161,5,161,1596,8,161,10,161,12,161,1599,9,161,1,162, 1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162, - 1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162, - 1,162,1,162,1,162,1,162,1,162,5,162,1631,8,162,10,162,12,162,1634, - 9,162,1,162,1,162,1,162,3,162,1639,8,162,1,163,1,163,1,163,1,163, - 1,163,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165, - 1,166,1,166,1,166,1,166,5,166,1660,8,166,10,166,12,166,1663,9,166, - 1,166,1,166,1,166,1,167,1,167,1,167,1,167,5,167,1672,8,167,10,167, - 12,167,1675,9,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168, - 1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171, - 1,171,1,171,3,171,1698,8,171,1,172,1,172,1,172,3,172,1703,8,172, - 1,173,1,173,1,173,0,0,174,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28, - 30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72, - 74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112, - 114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144, - 146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176, - 178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208, - 210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240, - 242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272, - 274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304, - 306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336, - 338,340,342,344,346,0,2,2,0,13,13,136,136,5,0,8,9,12,12,14,16,19, - 24,27,133,1660,0,348,1,0,0,0,2,350,1,0,0,0,4,358,1,0,0,0,6,363,1, - 0,0,0,8,369,1,0,0,0,10,374,1,0,0,0,12,436,1,0,0,0,14,442,1,0,0,0, - 16,447,1,0,0,0,18,452,1,0,0,0,20,457,1,0,0,0,22,462,1,0,0,0,24,467, - 1,0,0,0,26,472,1,0,0,0,28,477,1,0,0,0,30,482,1,0,0,0,32,487,1,0, - 0,0,34,492,1,0,0,0,36,497,1,0,0,0,38,502,1,0,0,0,40,507,1,0,0,0, - 42,512,1,0,0,0,44,517,1,0,0,0,46,522,1,0,0,0,48,527,1,0,0,0,50,532, - 1,0,0,0,52,537,1,0,0,0,54,542,1,0,0,0,56,547,1,0,0,0,58,551,1,0, - 0,0,60,565,1,0,0,0,62,587,1,0,0,0,64,598,1,0,0,0,66,613,1,0,0,0, - 68,662,1,0,0,0,70,672,1,0,0,0,72,702,1,0,0,0,74,712,1,0,0,0,76,733, - 1,0,0,0,78,749,1,0,0,0,80,781,1,0,0,0,82,795,1,0,0,0,84,805,1,0, - 0,0,86,835,1,0,0,0,88,845,1,0,0,0,90,868,1,0,0,0,92,881,1,0,0,0, - 94,893,1,0,0,0,96,905,1,0,0,0,98,914,1,0,0,0,100,925,1,0,0,0,102, - 940,1,0,0,0,104,945,1,0,0,0,106,950,1,0,0,0,108,955,1,0,0,0,110, - 960,1,0,0,0,112,965,1,0,0,0,114,970,1,0,0,0,116,975,1,0,0,0,118, - 980,1,0,0,0,120,985,1,0,0,0,122,990,1,0,0,0,124,995,1,0,0,0,126, - 1000,1,0,0,0,128,1005,1,0,0,0,130,1010,1,0,0,0,132,1015,1,0,0,0, - 134,1020,1,0,0,0,136,1025,1,0,0,0,138,1030,1,0,0,0,140,1035,1,0, - 0,0,142,1040,1,0,0,0,144,1045,1,0,0,0,146,1050,1,0,0,0,148,1055, - 1,0,0,0,150,1060,1,0,0,0,152,1065,1,0,0,0,154,1070,1,0,0,0,156,1075, - 1,0,0,0,158,1080,1,0,0,0,160,1085,1,0,0,0,162,1090,1,0,0,0,164,1095, - 1,0,0,0,166,1100,1,0,0,0,168,1105,1,0,0,0,170,1110,1,0,0,0,172,1115, - 1,0,0,0,174,1120,1,0,0,0,176,1125,1,0,0,0,178,1130,1,0,0,0,180,1135, - 1,0,0,0,182,1140,1,0,0,0,184,1145,1,0,0,0,186,1150,1,0,0,0,188,1162, - 1,0,0,0,190,1167,1,0,0,0,192,1172,1,0,0,0,194,1177,1,0,0,0,196,1182, - 1,0,0,0,198,1187,1,0,0,0,200,1192,1,0,0,0,202,1197,1,0,0,0,204,1202, - 1,0,0,0,206,1212,1,0,0,0,208,1223,1,0,0,0,210,1233,1,0,0,0,212,1238, - 1,0,0,0,214,1243,1,0,0,0,216,1248,1,0,0,0,218,1253,1,0,0,0,220,1258, - 1,0,0,0,222,1263,1,0,0,0,224,1268,1,0,0,0,226,1273,1,0,0,0,228,1278, - 1,0,0,0,230,1283,1,0,0,0,232,1288,1,0,0,0,234,1293,1,0,0,0,236,1298, - 1,0,0,0,238,1303,1,0,0,0,240,1336,1,0,0,0,242,1341,1,0,0,0,244,1346, - 1,0,0,0,246,1351,1,0,0,0,248,1356,1,0,0,0,250,1361,1,0,0,0,252,1366, - 1,0,0,0,254,1371,1,0,0,0,256,1383,1,0,0,0,258,1413,1,0,0,0,260,1418, - 1,0,0,0,262,1423,1,0,0,0,264,1428,1,0,0,0,266,1433,1,0,0,0,268,1438, - 1,0,0,0,270,1443,1,0,0,0,272,1448,1,0,0,0,274,1453,1,0,0,0,276,1458, - 1,0,0,0,278,1463,1,0,0,0,280,1468,1,0,0,0,282,1473,1,0,0,0,284,1490, - 1,0,0,0,286,1492,1,0,0,0,288,1497,1,0,0,0,290,1502,1,0,0,0,292,1507, - 1,0,0,0,294,1512,1,0,0,0,296,1517,1,0,0,0,298,1522,1,0,0,0,300,1527, - 1,0,0,0,302,1532,1,0,0,0,304,1537,1,0,0,0,306,1542,1,0,0,0,308,1547, - 1,0,0,0,310,1552,1,0,0,0,312,1557,1,0,0,0,314,1562,1,0,0,0,316,1574, - 1,0,0,0,318,1579,1,0,0,0,320,1587,1,0,0,0,322,1590,1,0,0,0,324,1638, - 1,0,0,0,326,1640,1,0,0,0,328,1645,1,0,0,0,330,1650,1,0,0,0,332,1655, - 1,0,0,0,334,1667,1,0,0,0,336,1679,1,0,0,0,338,1684,1,0,0,0,340,1689, - 1,0,0,0,342,1697,1,0,0,0,344,1702,1,0,0,0,346,1704,1,0,0,0,348,349, - 3,2,1,0,349,1,1,0,0,0,350,351,5,1,0,0,351,352,3,4,2,0,352,353,3, - 6,3,0,353,354,3,8,4,0,354,355,3,10,5,0,355,356,3,12,6,0,356,357, - 5,2,0,0,357,3,1,0,0,0,358,359,5,8,0,0,359,360,5,3,0,0,360,361,5, - 13,0,0,361,362,5,4,0,0,362,5,1,0,0,0,363,364,5,9,0,0,364,365,5,3, - 0,0,365,366,5,1,0,0,366,367,5,2,0,0,367,368,5,4,0,0,368,7,1,0,0, - 0,369,370,5,14,0,0,370,371,5,3,0,0,371,372,5,13,0,0,372,373,5,4, - 0,0,373,9,1,0,0,0,374,375,5,15,0,0,375,376,5,3,0,0,376,378,5,1,0, - 0,377,379,3,14,7,0,378,377,1,0,0,0,378,379,1,0,0,0,379,381,1,0,0, - 0,380,382,3,16,8,0,381,380,1,0,0,0,381,382,1,0,0,0,382,384,1,0,0, - 0,383,385,3,18,9,0,384,383,1,0,0,0,384,385,1,0,0,0,385,387,1,0,0, - 0,386,388,3,20,10,0,387,386,1,0,0,0,387,388,1,0,0,0,388,389,1,0, - 0,0,389,391,3,22,11,0,390,392,3,24,12,0,391,390,1,0,0,0,391,392, - 1,0,0,0,392,393,1,0,0,0,393,395,3,26,13,0,394,396,3,28,14,0,395, - 394,1,0,0,0,395,396,1,0,0,0,396,398,1,0,0,0,397,399,3,32,16,0,398, - 397,1,0,0,0,398,399,1,0,0,0,399,401,1,0,0,0,400,402,3,30,15,0,401, - 400,1,0,0,0,401,402,1,0,0,0,402,403,1,0,0,0,403,405,3,34,17,0,404, - 406,3,36,18,0,405,404,1,0,0,0,405,406,1,0,0,0,406,408,1,0,0,0,407, - 409,3,38,19,0,408,407,1,0,0,0,408,409,1,0,0,0,409,411,1,0,0,0,410, - 412,3,40,20,0,411,410,1,0,0,0,411,412,1,0,0,0,412,414,1,0,0,0,413, - 415,3,42,21,0,414,413,1,0,0,0,414,415,1,0,0,0,415,417,1,0,0,0,416, - 418,3,44,22,0,417,416,1,0,0,0,417,418,1,0,0,0,418,420,1,0,0,0,419, - 421,3,46,23,0,420,419,1,0,0,0,420,421,1,0,0,0,421,422,1,0,0,0,422, - 423,3,48,24,0,423,425,3,50,25,0,424,426,3,52,26,0,425,424,1,0,0, - 0,425,426,1,0,0,0,426,428,1,0,0,0,427,429,3,54,27,0,428,427,1,0, - 0,0,428,429,1,0,0,0,429,431,1,0,0,0,430,432,3,56,28,0,431,430,1, - 0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,434,5,2,0,0,434,435,5, - 4,0,0,435,11,1,0,0,0,436,437,5,16,0,0,437,438,5,3,0,0,438,439,5, - 134,0,0,439,440,5,4,0,0,440,13,1,0,0,0,441,443,3,58,29,0,442,441, - 1,0,0,0,443,444,1,0,0,0,444,442,1,0,0,0,444,445,1,0,0,0,445,15,1, - 0,0,0,446,448,3,60,30,0,447,446,1,0,0,0,448,449,1,0,0,0,449,447, - 1,0,0,0,449,450,1,0,0,0,450,17,1,0,0,0,451,453,3,62,31,0,452,451, - 1,0,0,0,453,454,1,0,0,0,454,452,1,0,0,0,454,455,1,0,0,0,455,19,1, - 0,0,0,456,458,3,64,32,0,457,456,1,0,0,0,458,459,1,0,0,0,459,457, - 1,0,0,0,459,460,1,0,0,0,460,21,1,0,0,0,461,463,3,66,33,0,462,461, - 1,0,0,0,463,464,1,0,0,0,464,462,1,0,0,0,464,465,1,0,0,0,465,23,1, - 0,0,0,466,468,3,68,34,0,467,466,1,0,0,0,468,469,1,0,0,0,469,467, - 1,0,0,0,469,470,1,0,0,0,470,25,1,0,0,0,471,473,3,70,35,0,472,471, - 1,0,0,0,473,474,1,0,0,0,474,472,1,0,0,0,474,475,1,0,0,0,475,27,1, - 0,0,0,476,478,3,72,36,0,477,476,1,0,0,0,478,479,1,0,0,0,479,477, - 1,0,0,0,479,480,1,0,0,0,480,29,1,0,0,0,481,483,3,74,37,0,482,481, - 1,0,0,0,483,484,1,0,0,0,484,482,1,0,0,0,484,485,1,0,0,0,485,31,1, - 0,0,0,486,488,3,76,38,0,487,486,1,0,0,0,488,489,1,0,0,0,489,487, - 1,0,0,0,489,490,1,0,0,0,490,33,1,0,0,0,491,493,3,78,39,0,492,491, - 1,0,0,0,493,494,1,0,0,0,494,492,1,0,0,0,494,495,1,0,0,0,495,35,1, - 0,0,0,496,498,3,80,40,0,497,496,1,0,0,0,498,499,1,0,0,0,499,497, - 1,0,0,0,499,500,1,0,0,0,500,37,1,0,0,0,501,503,3,82,41,0,502,501, - 1,0,0,0,503,504,1,0,0,0,504,502,1,0,0,0,504,505,1,0,0,0,505,39,1, - 0,0,0,506,508,3,84,42,0,507,506,1,0,0,0,508,509,1,0,0,0,509,507, - 1,0,0,0,509,510,1,0,0,0,510,41,1,0,0,0,511,513,3,86,43,0,512,511, - 1,0,0,0,513,514,1,0,0,0,514,512,1,0,0,0,514,515,1,0,0,0,515,43,1, - 0,0,0,516,518,3,88,44,0,517,516,1,0,0,0,518,519,1,0,0,0,519,517, - 1,0,0,0,519,520,1,0,0,0,520,45,1,0,0,0,521,523,3,90,45,0,522,521, - 1,0,0,0,523,524,1,0,0,0,524,522,1,0,0,0,524,525,1,0,0,0,525,47,1, - 0,0,0,526,528,3,92,46,0,527,526,1,0,0,0,528,529,1,0,0,0,529,527, - 1,0,0,0,529,530,1,0,0,0,530,49,1,0,0,0,531,533,3,94,47,0,532,531, - 1,0,0,0,533,534,1,0,0,0,534,532,1,0,0,0,534,535,1,0,0,0,535,51,1, - 0,0,0,536,538,3,96,48,0,537,536,1,0,0,0,538,539,1,0,0,0,539,537, - 1,0,0,0,539,540,1,0,0,0,540,53,1,0,0,0,541,543,3,98,49,0,542,541, - 1,0,0,0,543,544,1,0,0,0,544,542,1,0,0,0,544,545,1,0,0,0,545,55,1, - 0,0,0,546,548,3,100,50,0,547,546,1,0,0,0,548,549,1,0,0,0,549,547, - 1,0,0,0,549,550,1,0,0,0,550,57,1,0,0,0,551,552,5,134,0,0,552,553, - 5,3,0,0,553,554,5,1,0,0,554,555,3,102,51,0,555,556,3,210,105,0,556, - 557,3,212,106,0,557,558,3,224,112,0,558,560,3,192,96,0,559,561,3, - 226,113,0,560,559,1,0,0,0,560,561,1,0,0,0,561,562,1,0,0,0,562,563, - 5,2,0,0,563,564,5,4,0,0,564,59,1,0,0,0,565,566,5,134,0,0,566,567, - 5,3,0,0,567,568,5,1,0,0,568,570,3,104,52,0,569,571,3,146,73,0,570, - 569,1,0,0,0,570,571,1,0,0,0,571,573,1,0,0,0,572,574,3,176,88,0,573, - 572,1,0,0,0,573,574,1,0,0,0,574,576,1,0,0,0,575,577,3,178,89,0,576, - 575,1,0,0,0,576,577,1,0,0,0,577,579,1,0,0,0,578,580,3,148,74,0,579, - 578,1,0,0,0,579,580,1,0,0,0,580,582,1,0,0,0,581,583,3,332,166,0, - 582,581,1,0,0,0,582,583,1,0,0,0,583,584,1,0,0,0,584,585,5,2,0,0, - 585,586,5,4,0,0,586,61,1,0,0,0,587,588,5,134,0,0,588,589,5,3,0,0, - 589,590,5,1,0,0,590,591,3,106,53,0,591,592,3,150,75,0,592,593,3, - 152,76,0,593,594,3,154,77,0,594,595,3,156,78,0,595,596,5,2,0,0,596, - 597,5,4,0,0,597,63,1,0,0,0,598,599,5,134,0,0,599,600,5,3,0,0,600, - 601,5,1,0,0,601,602,3,108,54,0,602,603,3,198,99,0,603,604,3,316, - 158,0,604,605,3,318,159,0,605,607,3,200,100,0,606,608,3,192,96,0, - 607,606,1,0,0,0,607,608,1,0,0,0,608,609,1,0,0,0,609,610,3,202,101, - 0,610,611,5,2,0,0,611,612,5,4,0,0,612,65,1,0,0,0,613,614,5,134,0, - 0,614,615,5,3,0,0,615,616,5,1,0,0,616,618,3,110,55,0,617,619,3,160, - 80,0,618,617,1,0,0,0,618,619,1,0,0,0,619,621,1,0,0,0,620,622,3,162, - 81,0,621,620,1,0,0,0,621,622,1,0,0,0,622,624,1,0,0,0,623,625,3,158, - 79,0,624,623,1,0,0,0,624,625,1,0,0,0,625,627,1,0,0,0,626,628,3,166, - 83,0,627,626,1,0,0,0,627,628,1,0,0,0,628,630,1,0,0,0,629,631,3,168, - 84,0,630,629,1,0,0,0,630,631,1,0,0,0,631,633,1,0,0,0,632,634,3,164, - 82,0,633,632,1,0,0,0,633,634,1,0,0,0,634,636,1,0,0,0,635,637,3,232, - 116,0,636,635,1,0,0,0,636,637,1,0,0,0,637,639,1,0,0,0,638,640,3, - 192,96,0,639,638,1,0,0,0,639,640,1,0,0,0,640,642,1,0,0,0,641,643, - 3,194,97,0,642,641,1,0,0,0,642,643,1,0,0,0,643,645,1,0,0,0,644,646, - 3,236,118,0,645,644,1,0,0,0,645,646,1,0,0,0,646,648,1,0,0,0,647, - 649,3,196,98,0,648,647,1,0,0,0,648,649,1,0,0,0,649,651,1,0,0,0,650, - 652,3,170,85,0,651,650,1,0,0,0,651,652,1,0,0,0,652,654,1,0,0,0,653, - 655,3,234,117,0,654,653,1,0,0,0,654,655,1,0,0,0,655,657,1,0,0,0, - 656,658,3,172,86,0,657,656,1,0,0,0,657,658,1,0,0,0,658,659,1,0,0, - 0,659,660,5,2,0,0,660,661,5,4,0,0,661,67,1,0,0,0,662,663,5,134,0, - 0,663,664,5,3,0,0,664,665,5,1,0,0,665,666,3,112,56,0,666,667,3,198, - 99,0,667,668,3,200,100,0,668,669,3,202,101,0,669,670,5,2,0,0,670, - 671,5,4,0,0,671,69,1,0,0,0,672,673,5,134,0,0,673,674,5,3,0,0,674, - 675,5,1,0,0,675,676,3,114,57,0,676,678,3,180,90,0,677,679,3,168, - 84,0,678,677,1,0,0,0,678,679,1,0,0,0,679,681,1,0,0,0,680,682,3,166, - 83,0,681,680,1,0,0,0,681,682,1,0,0,0,682,684,1,0,0,0,683,685,3,192, - 96,0,684,683,1,0,0,0,684,685,1,0,0,0,685,687,1,0,0,0,686,688,3,194, - 97,0,687,686,1,0,0,0,687,688,1,0,0,0,688,689,1,0,0,0,689,691,3,196, - 98,0,690,692,3,170,85,0,691,690,1,0,0,0,691,692,1,0,0,0,692,694, - 1,0,0,0,693,695,3,172,86,0,694,693,1,0,0,0,694,695,1,0,0,0,695,697, - 1,0,0,0,696,698,3,174,87,0,697,696,1,0,0,0,697,698,1,0,0,0,698,699, - 1,0,0,0,699,700,5,2,0,0,700,701,5,4,0,0,701,71,1,0,0,0,702,703,5, - 134,0,0,703,704,5,3,0,0,704,705,5,1,0,0,705,706,3,116,58,0,706,707, - 3,198,99,0,707,708,3,200,100,0,708,709,3,202,101,0,709,710,5,2,0, - 0,710,711,5,4,0,0,711,73,1,0,0,0,712,713,5,134,0,0,713,714,5,3,0, - 0,714,715,5,1,0,0,715,716,3,118,59,0,716,717,3,210,105,0,717,718, - 3,212,106,0,718,719,3,214,107,0,719,720,3,224,112,0,720,722,3,192, - 96,0,721,723,3,182,91,0,722,721,1,0,0,0,722,723,1,0,0,0,723,725, - 1,0,0,0,724,726,3,190,95,0,725,724,1,0,0,0,725,726,1,0,0,0,726,727, - 1,0,0,0,727,728,3,226,113,0,728,729,3,228,114,0,729,730,3,230,115, - 0,730,731,5,2,0,0,731,732,5,4,0,0,732,75,1,0,0,0,733,734,5,134,0, - 0,734,735,5,3,0,0,735,736,5,1,0,0,736,737,3,120,60,0,737,738,3,216, - 108,0,738,739,3,210,105,0,739,740,3,212,106,0,740,741,3,218,109, - 0,741,742,3,220,110,0,742,743,3,224,112,0,743,744,3,192,96,0,744, - 745,3,222,111,0,745,746,3,226,113,0,746,747,5,2,0,0,747,748,5,4, - 0,0,748,77,1,0,0,0,749,750,5,134,0,0,750,751,5,3,0,0,751,752,5,1, - 0,0,752,754,3,122,61,0,753,755,3,238,119,0,754,753,1,0,0,0,754,755, - 1,0,0,0,755,756,1,0,0,0,756,757,3,210,105,0,757,759,3,268,134,0, - 758,760,3,270,135,0,759,758,1,0,0,0,759,760,1,0,0,0,760,761,1,0, - 0,0,761,763,3,272,136,0,762,764,3,274,137,0,763,762,1,0,0,0,763, - 764,1,0,0,0,764,765,1,0,0,0,765,767,3,276,138,0,766,768,3,280,140, - 0,767,766,1,0,0,0,767,768,1,0,0,0,768,770,1,0,0,0,769,771,3,278, - 139,0,770,769,1,0,0,0,770,771,1,0,0,0,771,772,1,0,0,0,772,774,3, - 282,141,0,773,775,3,284,142,0,774,773,1,0,0,0,774,775,1,0,0,0,775, - 776,1,0,0,0,776,777,3,286,143,0,777,778,3,288,144,0,778,779,5,2, - 0,0,779,780,5,4,0,0,780,79,1,0,0,0,781,782,5,134,0,0,782,783,5,3, - 0,0,783,784,5,1,0,0,784,785,3,124,62,0,785,787,3,308,154,0,786,788, - 3,192,96,0,787,786,1,0,0,0,787,788,1,0,0,0,788,789,1,0,0,0,789,790, - 3,194,97,0,790,791,3,310,155,0,791,792,3,196,98,0,792,793,5,2,0, - 0,793,794,5,4,0,0,794,81,1,0,0,0,795,796,5,134,0,0,796,797,5,3,0, - 0,797,798,5,1,0,0,798,799,3,126,63,0,799,800,3,198,99,0,800,801, - 3,200,100,0,801,802,3,202,101,0,802,803,5,2,0,0,803,804,5,4,0,0, - 804,83,1,0,0,0,805,806,5,134,0,0,806,807,5,3,0,0,807,808,5,1,0,0, - 808,809,3,128,64,0,809,810,3,198,99,0,810,812,3,200,100,0,811,813, - 3,290,145,0,812,811,1,0,0,0,812,813,1,0,0,0,813,815,1,0,0,0,814, - 816,3,292,146,0,815,814,1,0,0,0,815,816,1,0,0,0,816,818,1,0,0,0, - 817,819,3,192,96,0,818,817,1,0,0,0,818,819,1,0,0,0,819,821,1,0,0, - 0,820,822,3,294,147,0,821,820,1,0,0,0,821,822,1,0,0,0,822,824,1, - 0,0,0,823,825,3,296,148,0,824,823,1,0,0,0,824,825,1,0,0,0,825,826, - 1,0,0,0,826,827,3,202,101,0,827,828,3,298,149,0,828,830,3,300,150, - 0,829,831,3,302,151,0,830,829,1,0,0,0,830,831,1,0,0,0,831,832,1, - 0,0,0,832,833,5,2,0,0,833,834,5,4,0,0,834,85,1,0,0,0,835,836,5,134, - 0,0,836,837,5,3,0,0,837,838,5,1,0,0,838,839,3,130,65,0,839,840,3, - 198,99,0,840,841,3,200,100,0,841,842,3,202,101,0,842,843,5,2,0,0, - 843,844,5,4,0,0,844,87,1,0,0,0,845,846,5,134,0,0,846,847,5,3,0,0, - 847,848,5,1,0,0,848,850,3,132,66,0,849,851,3,192,96,0,850,849,1, - 0,0,0,850,851,1,0,0,0,851,853,1,0,0,0,852,854,3,176,88,0,853,852, - 1,0,0,0,853,854,1,0,0,0,854,856,1,0,0,0,855,857,3,178,89,0,856,855, - 1,0,0,0,856,857,1,0,0,0,857,859,1,0,0,0,858,860,3,148,74,0,859,858, - 1,0,0,0,859,860,1,0,0,0,860,862,1,0,0,0,861,863,3,304,152,0,862, - 861,1,0,0,0,862,863,1,0,0,0,863,864,1,0,0,0,864,865,3,306,153,0, - 865,866,5,2,0,0,866,867,5,4,0,0,867,89,1,0,0,0,868,869,5,134,0,0, - 869,870,5,3,0,0,870,871,5,1,0,0,871,872,3,134,67,0,872,873,3,180, - 90,0,873,875,3,192,96,0,874,876,3,194,97,0,875,874,1,0,0,0,875,876, - 1,0,0,0,876,877,1,0,0,0,877,878,3,196,98,0,878,879,5,2,0,0,879,880, - 5,4,0,0,880,91,1,0,0,0,881,882,5,134,0,0,882,883,5,3,0,0,883,884, - 5,1,0,0,884,886,3,136,68,0,885,887,3,312,156,0,886,885,1,0,0,0,886, - 887,1,0,0,0,887,888,1,0,0,0,888,889,3,314,157,0,889,890,3,192,96, - 0,890,891,5,2,0,0,891,892,5,4,0,0,892,93,1,0,0,0,893,894,5,134,0, - 0,894,895,5,3,0,0,895,896,5,1,0,0,896,897,3,138,69,0,897,898,3,326, - 163,0,898,900,3,328,164,0,899,901,3,330,165,0,900,899,1,0,0,0,900, - 901,1,0,0,0,901,902,1,0,0,0,902,903,5,2,0,0,903,904,5,4,0,0,904, - 95,1,0,0,0,905,906,5,134,0,0,906,907,5,3,0,0,907,908,5,1,0,0,908, - 909,3,140,70,0,909,910,3,184,92,0,910,911,3,186,93,0,911,912,5,2, - 0,0,912,913,5,4,0,0,913,97,1,0,0,0,914,915,5,134,0,0,915,916,5,3, - 0,0,916,917,5,1,0,0,917,919,3,142,71,0,918,920,3,188,94,0,919,918, - 1,0,0,0,919,920,1,0,0,0,920,921,1,0,0,0,921,922,3,226,113,0,922, - 923,5,2,0,0,923,924,5,4,0,0,924,99,1,0,0,0,925,926,5,134,0,0,926, - 927,5,3,0,0,927,928,5,1,0,0,928,929,3,144,72,0,929,930,3,180,90, - 0,930,932,3,336,168,0,931,933,3,192,96,0,932,931,1,0,0,0,932,933, - 1,0,0,0,933,934,1,0,0,0,934,935,3,194,97,0,935,936,3,196,98,0,936, - 937,3,338,169,0,937,938,5,2,0,0,938,939,5,4,0,0,939,101,1,0,0,0, - 940,941,5,12,0,0,941,942,5,3,0,0,942,943,5,19,0,0,943,944,5,4,0, - 0,944,103,1,0,0,0,945,946,5,12,0,0,946,947,5,3,0,0,947,948,5,20, - 0,0,948,949,5,4,0,0,949,105,1,0,0,0,950,951,5,12,0,0,951,952,5,3, - 0,0,952,953,5,21,0,0,953,954,5,4,0,0,954,107,1,0,0,0,955,956,5,12, - 0,0,956,957,5,3,0,0,957,958,5,22,0,0,958,959,5,4,0,0,959,109,1,0, - 0,0,960,961,5,12,0,0,961,962,5,3,0,0,962,963,5,23,0,0,963,964,5, - 4,0,0,964,111,1,0,0,0,965,966,5,12,0,0,966,967,5,3,0,0,967,968,5, - 24,0,0,968,969,5,4,0,0,969,113,1,0,0,0,970,971,5,12,0,0,971,972, - 5,3,0,0,972,973,5,25,0,0,973,974,5,4,0,0,974,115,1,0,0,0,975,976, - 5,12,0,0,976,977,5,3,0,0,977,978,5,26,0,0,978,979,5,4,0,0,979,117, - 1,0,0,0,980,981,5,12,0,0,981,982,5,3,0,0,982,983,5,27,0,0,983,984, - 5,4,0,0,984,119,1,0,0,0,985,986,5,12,0,0,986,987,5,3,0,0,987,988, - 5,28,0,0,988,989,5,4,0,0,989,121,1,0,0,0,990,991,5,12,0,0,991,992, - 5,3,0,0,992,993,5,29,0,0,993,994,5,4,0,0,994,123,1,0,0,0,995,996, - 5,12,0,0,996,997,5,3,0,0,997,998,5,30,0,0,998,999,5,4,0,0,999,125, - 1,0,0,0,1000,1001,5,12,0,0,1001,1002,5,3,0,0,1002,1003,5,31,0,0, - 1003,1004,5,4,0,0,1004,127,1,0,0,0,1005,1006,5,12,0,0,1006,1007, - 5,3,0,0,1007,1008,5,32,0,0,1008,1009,5,4,0,0,1009,129,1,0,0,0,1010, - 1011,5,12,0,0,1011,1012,5,3,0,0,1012,1013,5,33,0,0,1013,1014,5,4, - 0,0,1014,131,1,0,0,0,1015,1016,5,12,0,0,1016,1017,5,3,0,0,1017,1018, - 5,34,0,0,1018,1019,5,4,0,0,1019,133,1,0,0,0,1020,1021,5,12,0,0,1021, - 1022,5,3,0,0,1022,1023,5,35,0,0,1023,1024,5,4,0,0,1024,135,1,0,0, - 0,1025,1026,5,12,0,0,1026,1027,5,3,0,0,1027,1028,5,36,0,0,1028,1029, - 5,4,0,0,1029,137,1,0,0,0,1030,1031,5,12,0,0,1031,1032,5,3,0,0,1032, - 1033,5,37,0,0,1033,1034,5,4,0,0,1034,139,1,0,0,0,1035,1036,5,12, - 0,0,1036,1037,5,3,0,0,1037,1038,5,38,0,0,1038,1039,5,4,0,0,1039, - 141,1,0,0,0,1040,1041,5,12,0,0,1041,1042,5,3,0,0,1042,1043,5,39, - 0,0,1043,1044,5,4,0,0,1044,143,1,0,0,0,1045,1046,5,12,0,0,1046,1047, - 5,3,0,0,1047,1048,5,40,0,0,1048,1049,5,4,0,0,1049,145,1,0,0,0,1050, - 1051,5,41,0,0,1051,1052,5,3,0,0,1052,1053,5,134,0,0,1053,1054,5, - 4,0,0,1054,147,1,0,0,0,1055,1056,5,42,0,0,1056,1057,5,3,0,0,1057, - 1058,5,134,0,0,1058,1059,5,4,0,0,1059,149,1,0,0,0,1060,1061,5,43, - 0,0,1061,1062,5,3,0,0,1062,1063,5,134,0,0,1063,1064,5,4,0,0,1064, - 151,1,0,0,0,1065,1066,5,44,0,0,1066,1067,5,3,0,0,1067,1068,5,13, - 0,0,1068,1069,5,4,0,0,1069,153,1,0,0,0,1070,1071,5,45,0,0,1071,1072, - 5,3,0,0,1072,1073,5,134,0,0,1073,1074,5,4,0,0,1074,155,1,0,0,0,1075, - 1076,5,46,0,0,1076,1077,5,3,0,0,1077,1078,3,344,172,0,1078,1079, - 5,4,0,0,1079,157,1,0,0,0,1080,1081,5,47,0,0,1081,1082,5,3,0,0,1082, - 1083,5,13,0,0,1083,1084,5,4,0,0,1084,159,1,0,0,0,1085,1086,5,48, - 0,0,1086,1087,5,3,0,0,1087,1088,3,344,172,0,1088,1089,5,4,0,0,1089, - 161,1,0,0,0,1090,1091,5,49,0,0,1091,1092,5,3,0,0,1092,1093,3,344, - 172,0,1093,1094,5,4,0,0,1094,163,1,0,0,0,1095,1096,5,50,0,0,1096, - 1097,5,3,0,0,1097,1098,3,344,172,0,1098,1099,5,4,0,0,1099,165,1, - 0,0,0,1100,1101,5,51,0,0,1101,1102,5,3,0,0,1102,1103,5,13,0,0,1103, - 1104,5,4,0,0,1104,167,1,0,0,0,1105,1106,5,52,0,0,1106,1107,5,3,0, - 0,1107,1108,5,13,0,0,1108,1109,5,4,0,0,1109,169,1,0,0,0,1110,1111, - 5,53,0,0,1111,1112,5,3,0,0,1112,1113,5,13,0,0,1113,1114,5,4,0,0, - 1114,171,1,0,0,0,1115,1116,5,54,0,0,1116,1117,5,3,0,0,1117,1118, - 5,13,0,0,1118,1119,5,4,0,0,1119,173,1,0,0,0,1120,1121,5,55,0,0,1121, - 1122,5,3,0,0,1122,1123,5,13,0,0,1123,1124,5,4,0,0,1124,175,1,0,0, - 0,1125,1126,5,56,0,0,1126,1127,5,3,0,0,1127,1128,3,342,171,0,1128, - 1129,5,4,0,0,1129,177,1,0,0,0,1130,1131,5,57,0,0,1131,1132,5,3,0, - 0,1132,1133,3,206,103,0,1133,1134,5,4,0,0,1134,179,1,0,0,0,1135, - 1136,5,58,0,0,1136,1137,5,3,0,0,1137,1138,3,204,102,0,1138,1139, - 5,4,0,0,1139,181,1,0,0,0,1140,1141,5,59,0,0,1141,1142,5,3,0,0,1142, - 1143,5,135,0,0,1143,1144,5,4,0,0,1144,183,1,0,0,0,1145,1146,5,60, - 0,0,1146,1147,5,3,0,0,1147,1148,5,135,0,0,1148,1149,5,4,0,0,1149, - 185,1,0,0,0,1150,1151,5,61,0,0,1151,1152,5,3,0,0,1152,1156,5,1,0, - 0,1153,1155,3,324,162,0,1154,1153,1,0,0,0,1155,1158,1,0,0,0,1156, - 1154,1,0,0,0,1156,1157,1,0,0,0,1157,1159,1,0,0,0,1158,1156,1,0,0, - 0,1159,1160,5,2,0,0,1160,1161,5,4,0,0,1161,187,1,0,0,0,1162,1163, - 5,62,0,0,1163,1164,5,3,0,0,1164,1165,5,134,0,0,1165,1166,5,4,0,0, - 1166,189,1,0,0,0,1167,1168,5,63,0,0,1168,1169,5,3,0,0,1169,1170, - 3,204,102,0,1170,1171,5,4,0,0,1171,191,1,0,0,0,1172,1173,5,64,0, - 0,1173,1174,5,3,0,0,1174,1175,3,342,171,0,1175,1176,5,4,0,0,1176, - 193,1,0,0,0,1177,1178,5,65,0,0,1178,1179,5,3,0,0,1179,1180,3,342, - 171,0,1180,1181,5,4,0,0,1181,195,1,0,0,0,1182,1183,5,66,0,0,1183, - 1184,5,3,0,0,1184,1185,3,342,171,0,1185,1186,5,4,0,0,1186,197,1, - 0,0,0,1187,1188,5,67,0,0,1188,1189,5,3,0,0,1189,1190,5,13,0,0,1190, - 1191,5,4,0,0,1191,199,1,0,0,0,1192,1193,5,68,0,0,1193,1194,5,3,0, - 0,1194,1195,3,204,102,0,1195,1196,5,4,0,0,1196,201,1,0,0,0,1197, - 1198,5,69,0,0,1198,1199,5,3,0,0,1199,1200,5,13,0,0,1200,1201,5,4, - 0,0,1201,203,1,0,0,0,1202,1207,5,5,0,0,1203,1204,5,134,0,0,1204, - 1206,5,6,0,0,1205,1203,1,0,0,0,1206,1209,1,0,0,0,1207,1205,1,0,0, - 0,1207,1208,1,0,0,0,1208,1210,1,0,0,0,1209,1207,1,0,0,0,1210,1211, - 5,7,0,0,1211,205,1,0,0,0,1212,1218,5,5,0,0,1213,1214,3,344,172,0, - 1214,1215,5,6,0,0,1215,1217,1,0,0,0,1216,1213,1,0,0,0,1217,1220, - 1,0,0,0,1218,1216,1,0,0,0,1218,1219,1,0,0,0,1219,1221,1,0,0,0,1220, - 1218,1,0,0,0,1221,1222,5,7,0,0,1222,207,1,0,0,0,1223,1228,5,5,0, - 0,1224,1225,5,136,0,0,1225,1227,5,6,0,0,1226,1224,1,0,0,0,1227,1230, - 1,0,0,0,1228,1226,1,0,0,0,1228,1229,1,0,0,0,1229,1231,1,0,0,0,1230, - 1228,1,0,0,0,1231,1232,5,7,0,0,1232,209,1,0,0,0,1233,1234,5,70,0, - 0,1234,1235,5,3,0,0,1235,1236,5,134,0,0,1236,1237,5,4,0,0,1237,211, - 1,0,0,0,1238,1239,5,71,0,0,1239,1240,5,3,0,0,1240,1241,3,204,102, - 0,1241,1242,5,4,0,0,1242,213,1,0,0,0,1243,1244,5,72,0,0,1244,1245, - 5,3,0,0,1245,1246,3,204,102,0,1246,1247,5,4,0,0,1247,215,1,0,0,0, - 1248,1249,5,73,0,0,1249,1250,5,3,0,0,1250,1251,3,342,171,0,1251, - 1252,5,4,0,0,1252,217,1,0,0,0,1253,1254,5,74,0,0,1254,1255,5,3,0, - 0,1255,1256,3,342,171,0,1256,1257,5,4,0,0,1257,219,1,0,0,0,1258, - 1259,5,75,0,0,1259,1260,5,3,0,0,1260,1261,3,342,171,0,1261,1262, - 5,4,0,0,1262,221,1,0,0,0,1263,1264,5,76,0,0,1264,1265,5,3,0,0,1265, - 1266,5,13,0,0,1266,1267,5,4,0,0,1267,223,1,0,0,0,1268,1269,5,77, - 0,0,1269,1270,5,3,0,0,1270,1271,3,204,102,0,1271,1272,5,4,0,0,1272, - 225,1,0,0,0,1273,1274,5,78,0,0,1274,1275,5,3,0,0,1275,1276,3,344, - 172,0,1276,1277,5,4,0,0,1277,227,1,0,0,0,1278,1279,5,79,0,0,1279, - 1280,5,3,0,0,1280,1281,5,134,0,0,1281,1282,5,4,0,0,1282,229,1,0, - 0,0,1283,1284,5,80,0,0,1284,1285,5,3,0,0,1285,1286,5,135,0,0,1286, - 1287,5,4,0,0,1287,231,1,0,0,0,1288,1289,5,81,0,0,1289,1290,5,3,0, - 0,1290,1291,5,13,0,0,1291,1292,5,4,0,0,1292,233,1,0,0,0,1293,1294, - 5,82,0,0,1294,1295,5,3,0,0,1295,1296,3,344,172,0,1296,1297,5,4,0, - 0,1297,235,1,0,0,0,1298,1299,5,83,0,0,1299,1300,5,3,0,0,1300,1301, - 3,344,172,0,1301,1302,5,4,0,0,1302,237,1,0,0,0,1303,1304,5,84,0, - 0,1304,1305,5,3,0,0,1305,1307,5,1,0,0,1306,1308,3,246,123,0,1307, - 1306,1,0,0,0,1307,1308,1,0,0,0,1308,1310,1,0,0,0,1309,1311,3,340, - 170,0,1310,1309,1,0,0,0,1310,1311,1,0,0,0,1311,1313,1,0,0,0,1312, - 1314,3,242,121,0,1313,1312,1,0,0,0,1313,1314,1,0,0,0,1314,1316,1, - 0,0,0,1315,1317,3,240,120,0,1316,1315,1,0,0,0,1316,1317,1,0,0,0, - 1317,1319,1,0,0,0,1318,1320,3,244,122,0,1319,1318,1,0,0,0,1319,1320, - 1,0,0,0,1320,1322,1,0,0,0,1321,1323,3,248,124,0,1322,1321,1,0,0, - 0,1322,1323,1,0,0,0,1323,1325,1,0,0,0,1324,1326,3,250,125,0,1325, - 1324,1,0,0,0,1325,1326,1,0,0,0,1326,1328,1,0,0,0,1327,1329,3,252, - 126,0,1328,1327,1,0,0,0,1328,1329,1,0,0,0,1329,1331,1,0,0,0,1330, - 1332,3,254,127,0,1331,1330,1,0,0,0,1331,1332,1,0,0,0,1332,1333,1, - 0,0,0,1333,1334,5,2,0,0,1334,1335,5,4,0,0,1335,239,1,0,0,0,1336, - 1337,5,85,0,0,1337,1338,5,3,0,0,1338,1339,5,13,0,0,1339,1340,5,4, - 0,0,1340,241,1,0,0,0,1341,1342,5,86,0,0,1342,1343,5,3,0,0,1343,1344, - 5,136,0,0,1344,1345,5,4,0,0,1345,243,1,0,0,0,1346,1347,5,87,0,0, - 1347,1348,5,3,0,0,1348,1349,5,13,0,0,1349,1350,5,4,0,0,1350,245, - 1,0,0,0,1351,1352,5,88,0,0,1352,1353,5,3,0,0,1353,1354,7,0,0,0,1354, - 1355,5,4,0,0,1355,247,1,0,0,0,1356,1357,5,89,0,0,1357,1358,5,3,0, - 0,1358,1359,5,13,0,0,1359,1360,5,4,0,0,1360,249,1,0,0,0,1361,1362, - 5,90,0,0,1362,1363,5,3,0,0,1363,1364,5,13,0,0,1364,1365,5,4,0,0, - 1365,251,1,0,0,0,1366,1367,5,91,0,0,1367,1368,5,3,0,0,1368,1369, - 3,344,172,0,1369,1370,5,4,0,0,1370,253,1,0,0,0,1371,1372,5,92,0, - 0,1372,1373,5,3,0,0,1373,1377,5,1,0,0,1374,1376,3,256,128,0,1375, - 1374,1,0,0,0,1376,1379,1,0,0,0,1377,1375,1,0,0,0,1377,1378,1,0,0, - 0,1378,1380,1,0,0,0,1379,1377,1,0,0,0,1380,1381,5,2,0,0,1381,1382, - 5,4,0,0,1382,255,1,0,0,0,1383,1384,5,134,0,0,1384,1385,5,3,0,0,1385, - 1387,5,1,0,0,1386,1388,3,258,129,0,1387,1386,1,0,0,0,1387,1388,1, - 0,0,0,1388,1390,1,0,0,0,1389,1391,3,260,130,0,1390,1389,1,0,0,0, - 1390,1391,1,0,0,0,1391,1393,1,0,0,0,1392,1394,3,262,131,0,1393,1392, - 1,0,0,0,1393,1394,1,0,0,0,1394,1396,1,0,0,0,1395,1397,3,264,132, - 0,1396,1395,1,0,0,0,1396,1397,1,0,0,0,1397,1399,1,0,0,0,1398,1400, - 3,240,120,0,1399,1398,1,0,0,0,1399,1400,1,0,0,0,1400,1402,1,0,0, - 0,1401,1403,3,266,133,0,1402,1401,1,0,0,0,1402,1403,1,0,0,0,1403, - 1405,1,0,0,0,1404,1406,3,334,167,0,1405,1404,1,0,0,0,1405,1406,1, - 0,0,0,1406,1408,1,0,0,0,1407,1409,3,260,130,0,1408,1407,1,0,0,0, - 1408,1409,1,0,0,0,1409,1410,1,0,0,0,1410,1411,5,2,0,0,1411,1412, - 5,4,0,0,1412,257,1,0,0,0,1413,1414,5,93,0,0,1414,1415,5,3,0,0,1415, - 1416,5,136,0,0,1416,1417,5,4,0,0,1417,259,1,0,0,0,1418,1419,5,94, - 0,0,1419,1420,5,3,0,0,1420,1421,5,134,0,0,1421,1422,5,4,0,0,1422, - 261,1,0,0,0,1423,1424,5,95,0,0,1424,1425,5,3,0,0,1425,1426,3,342, - 171,0,1426,1427,5,4,0,0,1427,263,1,0,0,0,1428,1429,5,96,0,0,1429, - 1430,5,3,0,0,1430,1431,3,342,171,0,1431,1432,5,4,0,0,1432,265,1, - 0,0,0,1433,1434,5,97,0,0,1434,1435,5,3,0,0,1435,1436,5,136,0,0,1436, - 1437,5,4,0,0,1437,267,1,0,0,0,1438,1439,5,98,0,0,1439,1440,5,3,0, - 0,1440,1441,5,135,0,0,1441,1442,5,4,0,0,1442,269,1,0,0,0,1443,1444, - 5,99,0,0,1444,1445,5,3,0,0,1445,1446,5,136,0,0,1446,1447,5,4,0,0, - 1447,271,1,0,0,0,1448,1449,5,100,0,0,1449,1450,5,3,0,0,1450,1451, - 5,13,0,0,1451,1452,5,4,0,0,1452,273,1,0,0,0,1453,1454,5,101,0,0, - 1454,1455,5,3,0,0,1455,1456,3,206,103,0,1456,1457,5,4,0,0,1457,275, - 1,0,0,0,1458,1459,5,102,0,0,1459,1460,5,3,0,0,1460,1461,5,134,0, - 0,1461,1462,5,4,0,0,1462,277,1,0,0,0,1463,1464,5,103,0,0,1464,1465, - 5,3,0,0,1465,1466,5,134,0,0,1466,1467,5,4,0,0,1467,279,1,0,0,0,1468, - 1469,5,104,0,0,1469,1470,5,3,0,0,1470,1471,3,204,102,0,1471,1472, - 5,4,0,0,1472,281,1,0,0,0,1473,1474,5,105,0,0,1474,1475,5,3,0,0,1475, - 1476,3,342,171,0,1476,1477,5,4,0,0,1477,283,1,0,0,0,1478,1479,5, - 106,0,0,1479,1480,5,3,0,0,1480,1481,3,344,172,0,1481,1482,5,4,0, - 0,1482,1491,1,0,0,0,1483,1484,5,106,0,0,1484,1485,5,3,0,0,1485,1486, - 5,5,0,0,1486,1487,3,320,160,0,1487,1488,5,7,0,0,1488,1489,5,4,0, - 0,1489,1491,1,0,0,0,1490,1478,1,0,0,0,1490,1483,1,0,0,0,1491,285, - 1,0,0,0,1492,1493,5,107,0,0,1493,1494,5,3,0,0,1494,1495,3,342,171, - 0,1495,1496,5,4,0,0,1496,287,1,0,0,0,1497,1498,5,108,0,0,1498,1499, - 5,3,0,0,1499,1500,3,204,102,0,1500,1501,5,4,0,0,1501,289,1,0,0,0, - 1502,1503,5,109,0,0,1503,1504,5,3,0,0,1504,1505,3,206,103,0,1505, - 1506,5,4,0,0,1506,291,1,0,0,0,1507,1508,5,110,0,0,1508,1509,5,3, - 0,0,1509,1510,3,206,103,0,1510,1511,5,4,0,0,1511,293,1,0,0,0,1512, - 1513,5,111,0,0,1513,1514,5,3,0,0,1514,1515,3,206,103,0,1515,1516, - 5,4,0,0,1516,295,1,0,0,0,1517,1518,5,112,0,0,1518,1519,5,3,0,0,1519, - 1520,3,206,103,0,1520,1521,5,4,0,0,1521,297,1,0,0,0,1522,1523,5, - 113,0,0,1523,1524,5,3,0,0,1524,1525,5,136,0,0,1525,1526,5,4,0,0, - 1526,299,1,0,0,0,1527,1528,5,114,0,0,1528,1529,5,3,0,0,1529,1530, - 3,342,171,0,1530,1531,5,4,0,0,1531,301,1,0,0,0,1532,1533,5,115,0, - 0,1533,1534,5,3,0,0,1534,1535,5,13,0,0,1535,1536,5,4,0,0,1536,303, - 1,0,0,0,1537,1538,5,116,0,0,1538,1539,5,3,0,0,1539,1540,5,134,0, - 0,1540,1541,5,4,0,0,1541,305,1,0,0,0,1542,1543,5,117,0,0,1543,1544, - 5,3,0,0,1544,1545,5,134,0,0,1545,1546,5,4,0,0,1546,307,1,0,0,0,1547, - 1548,5,118,0,0,1548,1549,5,3,0,0,1549,1550,3,344,172,0,1550,1551, - 5,4,0,0,1551,309,1,0,0,0,1552,1553,5,119,0,0,1553,1554,5,3,0,0,1554, - 1555,5,134,0,0,1555,1556,5,4,0,0,1556,311,1,0,0,0,1557,1558,5,120, - 0,0,1558,1559,5,3,0,0,1559,1560,5,134,0,0,1560,1561,5,4,0,0,1561, - 313,1,0,0,0,1562,1563,5,121,0,0,1563,1564,5,3,0,0,1564,1568,5,1, - 0,0,1565,1567,3,324,162,0,1566,1565,1,0,0,0,1567,1570,1,0,0,0,1568, - 1566,1,0,0,0,1568,1569,1,0,0,0,1569,1571,1,0,0,0,1570,1568,1,0,0, - 0,1571,1572,5,2,0,0,1572,1573,5,4,0,0,1573,315,1,0,0,0,1574,1575, - 5,122,0,0,1575,1576,5,3,0,0,1576,1577,3,342,171,0,1577,1578,5,4, - 0,0,1578,317,1,0,0,0,1579,1580,5,123,0,0,1580,1581,5,3,0,0,1581, - 1582,5,13,0,0,1582,1583,5,4,0,0,1583,319,1,0,0,0,1584,1586,3,322, - 161,0,1585,1584,1,0,0,0,1586,1589,1,0,0,0,1587,1585,1,0,0,0,1587, - 1588,1,0,0,0,1588,321,1,0,0,0,1589,1587,1,0,0,0,1590,1591,5,1,0, - 0,1591,1592,5,124,0,0,1592,1593,5,3,0,0,1593,1594,5,134,0,0,1594, - 1595,5,4,0,0,1595,1596,5,125,0,0,1596,1597,5,3,0,0,1597,1598,5,134, - 0,0,1598,1599,5,4,0,0,1599,1600,5,2,0,0,1600,1601,5,6,0,0,1601,323, - 1,0,0,0,1602,1603,3,344,172,0,1603,1604,5,3,0,0,1604,1605,3,344, - 172,0,1605,1606,5,4,0,0,1606,1639,1,0,0,0,1607,1608,3,344,172,0, - 1608,1609,5,3,0,0,1609,1610,5,13,0,0,1610,1611,5,4,0,0,1611,1639, - 1,0,0,0,1612,1613,3,344,172,0,1613,1614,5,3,0,0,1614,1615,5,138, - 0,0,1615,1616,5,4,0,0,1616,1639,1,0,0,0,1617,1618,3,344,172,0,1618, - 1619,5,3,0,0,1619,1620,5,1,0,0,1620,1621,3,324,162,0,1621,1622,5, - 2,0,0,1622,1623,5,4,0,0,1623,1639,1,0,0,0,1624,1625,3,344,172,0, - 1625,1626,5,3,0,0,1626,1632,5,5,0,0,1627,1628,3,344,172,0,1628,1629, - 5,6,0,0,1629,1631,1,0,0,0,1630,1627,1,0,0,0,1631,1634,1,0,0,0,1632, - 1630,1,0,0,0,1632,1633,1,0,0,0,1633,1635,1,0,0,0,1634,1632,1,0,0, - 0,1635,1636,5,7,0,0,1636,1637,5,4,0,0,1637,1639,1,0,0,0,1638,1602, - 1,0,0,0,1638,1607,1,0,0,0,1638,1612,1,0,0,0,1638,1617,1,0,0,0,1638, - 1624,1,0,0,0,1639,325,1,0,0,0,1640,1641,5,126,0,0,1641,1642,5,3, - 0,0,1642,1643,3,204,102,0,1643,1644,5,4,0,0,1644,327,1,0,0,0,1645, - 1646,5,127,0,0,1646,1647,5,3,0,0,1647,1648,5,13,0,0,1648,1649,5, - 4,0,0,1649,329,1,0,0,0,1650,1651,5,128,0,0,1651,1652,5,3,0,0,1652, - 1653,3,342,171,0,1653,1654,5,4,0,0,1654,331,1,0,0,0,1655,1656,5, - 129,0,0,1656,1657,5,3,0,0,1657,1661,5,1,0,0,1658,1660,3,324,162, - 0,1659,1658,1,0,0,0,1660,1663,1,0,0,0,1661,1659,1,0,0,0,1661,1662, - 1,0,0,0,1662,1664,1,0,0,0,1663,1661,1,0,0,0,1664,1665,5,2,0,0,1665, - 1666,5,4,0,0,1666,333,1,0,0,0,1667,1668,5,130,0,0,1668,1669,5,3, - 0,0,1669,1673,5,1,0,0,1670,1672,3,324,162,0,1671,1670,1,0,0,0,1672, - 1675,1,0,0,0,1673,1671,1,0,0,0,1673,1674,1,0,0,0,1674,1676,1,0,0, - 0,1675,1673,1,0,0,0,1676,1677,5,2,0,0,1677,1678,5,4,0,0,1678,335, - 1,0,0,0,1679,1680,5,131,0,0,1680,1681,5,3,0,0,1681,1682,5,134,0, - 0,1682,1683,5,4,0,0,1683,337,1,0,0,0,1684,1685,5,132,0,0,1685,1686, - 5,3,0,0,1686,1687,5,136,0,0,1687,1688,5,4,0,0,1688,339,1,0,0,0,1689, - 1690,5,133,0,0,1690,1691,5,3,0,0,1691,1692,3,344,172,0,1692,1693, - 5,4,0,0,1693,341,1,0,0,0,1694,1698,5,136,0,0,1695,1698,5,135,0,0, - 1696,1698,3,346,173,0,1697,1694,1,0,0,0,1697,1695,1,0,0,0,1697,1696, - 1,0,0,0,1698,343,1,0,0,0,1699,1703,3,342,171,0,1700,1703,5,13,0, - 0,1701,1703,5,137,0,0,1702,1699,1,0,0,0,1702,1700,1,0,0,0,1702,1701, - 1,0,0,0,1703,345,1,0,0,0,1704,1705,7,1,0,0,1705,347,1,0,0,0,123, - 378,381,384,387,391,395,398,401,405,408,411,414,417,420,425,428, - 431,444,449,454,459,464,469,474,479,484,489,494,499,504,509,514, - 519,524,529,534,539,544,549,560,570,573,576,579,582,607,618,621, - 624,627,630,633,636,639,642,645,648,651,654,657,678,681,684,687, - 691,694,697,722,725,754,759,763,767,770,774,787,812,815,818,821, - 824,830,850,853,856,859,862,875,886,900,919,932,1156,1207,1218,1228, - 1307,1310,1313,1316,1319,1322,1325,1328,1331,1377,1387,1390,1393, - 1396,1399,1402,1405,1408,1490,1568,1587,1632,1638,1661,1673,1697, - 1702 + 1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163, + 1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163, + 1,163,1,163,1,163,1,163,1,163,1,163,5,163,1641,8,163,10,163,12,163, + 1644,9,163,1,163,1,163,1,163,3,163,1649,8,163,1,164,1,164,1,164, + 1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166, + 1,166,1,167,1,167,1,167,1,167,5,167,1670,8,167,10,167,12,167,1673, + 9,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,5,168,1682,8,168, + 10,168,12,168,1685,9,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169, + 1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171, + 1,172,1,172,1,172,3,172,1708,8,172,1,173,1,173,1,173,3,173,1713, + 8,173,1,174,1,174,1,174,0,0,175,0,2,4,6,8,10,12,14,16,18,20,22,24, + 26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68, + 70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108, + 110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140, + 142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172, + 174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204, + 206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236, + 238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268, + 270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300, + 302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332, + 334,336,338,340,342,344,346,348,0,2,2,0,13,13,137,137,6,0,8,9,12, + 12,14,16,19,24,27,40,42,134,1670,0,350,1,0,0,0,2,352,1,0,0,0,4,360, + 1,0,0,0,6,365,1,0,0,0,8,371,1,0,0,0,10,376,1,0,0,0,12,438,1,0,0, + 0,14,444,1,0,0,0,16,449,1,0,0,0,18,454,1,0,0,0,20,459,1,0,0,0,22, + 464,1,0,0,0,24,469,1,0,0,0,26,474,1,0,0,0,28,479,1,0,0,0,30,484, + 1,0,0,0,32,489,1,0,0,0,34,494,1,0,0,0,36,499,1,0,0,0,38,504,1,0, + 0,0,40,509,1,0,0,0,42,514,1,0,0,0,44,519,1,0,0,0,46,524,1,0,0,0, + 48,529,1,0,0,0,50,534,1,0,0,0,52,539,1,0,0,0,54,544,1,0,0,0,56,549, + 1,0,0,0,58,553,1,0,0,0,60,567,1,0,0,0,62,589,1,0,0,0,64,600,1,0, + 0,0,66,615,1,0,0,0,68,664,1,0,0,0,70,674,1,0,0,0,72,704,1,0,0,0, + 74,714,1,0,0,0,76,735,1,0,0,0,78,751,1,0,0,0,80,783,1,0,0,0,82,797, + 1,0,0,0,84,807,1,0,0,0,86,840,1,0,0,0,88,850,1,0,0,0,90,873,1,0, + 0,0,92,886,1,0,0,0,94,898,1,0,0,0,96,910,1,0,0,0,98,919,1,0,0,0, + 100,930,1,0,0,0,102,945,1,0,0,0,104,950,1,0,0,0,106,955,1,0,0,0, + 108,960,1,0,0,0,110,965,1,0,0,0,112,970,1,0,0,0,114,975,1,0,0,0, + 116,980,1,0,0,0,118,985,1,0,0,0,120,990,1,0,0,0,122,995,1,0,0,0, + 124,1000,1,0,0,0,126,1005,1,0,0,0,128,1010,1,0,0,0,130,1015,1,0, + 0,0,132,1020,1,0,0,0,134,1025,1,0,0,0,136,1030,1,0,0,0,138,1035, + 1,0,0,0,140,1040,1,0,0,0,142,1045,1,0,0,0,144,1050,1,0,0,0,146,1055, + 1,0,0,0,148,1060,1,0,0,0,150,1065,1,0,0,0,152,1070,1,0,0,0,154,1075, + 1,0,0,0,156,1080,1,0,0,0,158,1085,1,0,0,0,160,1090,1,0,0,0,162,1095, + 1,0,0,0,164,1100,1,0,0,0,166,1105,1,0,0,0,168,1110,1,0,0,0,170,1115, + 1,0,0,0,172,1120,1,0,0,0,174,1125,1,0,0,0,176,1130,1,0,0,0,178,1135, + 1,0,0,0,180,1140,1,0,0,0,182,1145,1,0,0,0,184,1150,1,0,0,0,186,1155, + 1,0,0,0,188,1160,1,0,0,0,190,1172,1,0,0,0,192,1177,1,0,0,0,194,1182, + 1,0,0,0,196,1187,1,0,0,0,198,1192,1,0,0,0,200,1197,1,0,0,0,202,1202, + 1,0,0,0,204,1207,1,0,0,0,206,1212,1,0,0,0,208,1222,1,0,0,0,210,1233, + 1,0,0,0,212,1243,1,0,0,0,214,1248,1,0,0,0,216,1253,1,0,0,0,218,1258, + 1,0,0,0,220,1263,1,0,0,0,222,1268,1,0,0,0,224,1273,1,0,0,0,226,1278, + 1,0,0,0,228,1283,1,0,0,0,230,1288,1,0,0,0,232,1293,1,0,0,0,234,1298, + 1,0,0,0,236,1303,1,0,0,0,238,1308,1,0,0,0,240,1313,1,0,0,0,242,1346, + 1,0,0,0,244,1351,1,0,0,0,246,1356,1,0,0,0,248,1361,1,0,0,0,250,1366, + 1,0,0,0,252,1371,1,0,0,0,254,1376,1,0,0,0,256,1381,1,0,0,0,258,1393, + 1,0,0,0,260,1423,1,0,0,0,262,1428,1,0,0,0,264,1433,1,0,0,0,266,1438, + 1,0,0,0,268,1443,1,0,0,0,270,1448,1,0,0,0,272,1453,1,0,0,0,274,1458, + 1,0,0,0,276,1463,1,0,0,0,278,1468,1,0,0,0,280,1473,1,0,0,0,282,1478, + 1,0,0,0,284,1483,1,0,0,0,286,1500,1,0,0,0,288,1502,1,0,0,0,290,1507, + 1,0,0,0,292,1512,1,0,0,0,294,1517,1,0,0,0,296,1522,1,0,0,0,298,1527, + 1,0,0,0,300,1532,1,0,0,0,302,1537,1,0,0,0,304,1542,1,0,0,0,306,1547, + 1,0,0,0,308,1552,1,0,0,0,310,1557,1,0,0,0,312,1562,1,0,0,0,314,1567, + 1,0,0,0,316,1572,1,0,0,0,318,1584,1,0,0,0,320,1589,1,0,0,0,322,1597, + 1,0,0,0,324,1600,1,0,0,0,326,1648,1,0,0,0,328,1650,1,0,0,0,330,1655, + 1,0,0,0,332,1660,1,0,0,0,334,1665,1,0,0,0,336,1677,1,0,0,0,338,1689, + 1,0,0,0,340,1694,1,0,0,0,342,1699,1,0,0,0,344,1707,1,0,0,0,346,1712, + 1,0,0,0,348,1714,1,0,0,0,350,351,3,2,1,0,351,1,1,0,0,0,352,353,5, + 1,0,0,353,354,3,4,2,0,354,355,3,6,3,0,355,356,3,8,4,0,356,357,3, + 10,5,0,357,358,3,12,6,0,358,359,5,2,0,0,359,3,1,0,0,0,360,361,5, + 8,0,0,361,362,5,3,0,0,362,363,5,13,0,0,363,364,5,4,0,0,364,5,1,0, + 0,0,365,366,5,9,0,0,366,367,5,3,0,0,367,368,5,1,0,0,368,369,5,2, + 0,0,369,370,5,4,0,0,370,7,1,0,0,0,371,372,5,14,0,0,372,373,5,3,0, + 0,373,374,5,13,0,0,374,375,5,4,0,0,375,9,1,0,0,0,376,377,5,15,0, + 0,377,378,5,3,0,0,378,380,5,1,0,0,379,381,3,14,7,0,380,379,1,0,0, + 0,380,381,1,0,0,0,381,383,1,0,0,0,382,384,3,16,8,0,383,382,1,0,0, + 0,383,384,1,0,0,0,384,386,1,0,0,0,385,387,3,18,9,0,386,385,1,0,0, + 0,386,387,1,0,0,0,387,389,1,0,0,0,388,390,3,20,10,0,389,388,1,0, + 0,0,389,390,1,0,0,0,390,391,1,0,0,0,391,393,3,22,11,0,392,394,3, + 24,12,0,393,392,1,0,0,0,393,394,1,0,0,0,394,395,1,0,0,0,395,397, + 3,26,13,0,396,398,3,28,14,0,397,396,1,0,0,0,397,398,1,0,0,0,398, + 400,1,0,0,0,399,401,3,32,16,0,400,399,1,0,0,0,400,401,1,0,0,0,401, + 403,1,0,0,0,402,404,3,30,15,0,403,402,1,0,0,0,403,404,1,0,0,0,404, + 405,1,0,0,0,405,407,3,34,17,0,406,408,3,36,18,0,407,406,1,0,0,0, + 407,408,1,0,0,0,408,410,1,0,0,0,409,411,3,38,19,0,410,409,1,0,0, + 0,410,411,1,0,0,0,411,413,1,0,0,0,412,414,3,40,20,0,413,412,1,0, + 0,0,413,414,1,0,0,0,414,416,1,0,0,0,415,417,3,42,21,0,416,415,1, + 0,0,0,416,417,1,0,0,0,417,419,1,0,0,0,418,420,3,44,22,0,419,418, + 1,0,0,0,419,420,1,0,0,0,420,422,1,0,0,0,421,423,3,46,23,0,422,421, + 1,0,0,0,422,423,1,0,0,0,423,424,1,0,0,0,424,425,3,48,24,0,425,427, + 3,50,25,0,426,428,3,52,26,0,427,426,1,0,0,0,427,428,1,0,0,0,428, + 430,1,0,0,0,429,431,3,54,27,0,430,429,1,0,0,0,430,431,1,0,0,0,431, + 433,1,0,0,0,432,434,3,56,28,0,433,432,1,0,0,0,433,434,1,0,0,0,434, + 435,1,0,0,0,435,436,5,2,0,0,436,437,5,4,0,0,437,11,1,0,0,0,438,439, + 5,16,0,0,439,440,5,3,0,0,440,441,5,135,0,0,441,442,5,4,0,0,442,13, + 1,0,0,0,443,445,3,58,29,0,444,443,1,0,0,0,445,446,1,0,0,0,446,444, + 1,0,0,0,446,447,1,0,0,0,447,15,1,0,0,0,448,450,3,60,30,0,449,448, + 1,0,0,0,450,451,1,0,0,0,451,449,1,0,0,0,451,452,1,0,0,0,452,17,1, + 0,0,0,453,455,3,62,31,0,454,453,1,0,0,0,455,456,1,0,0,0,456,454, + 1,0,0,0,456,457,1,0,0,0,457,19,1,0,0,0,458,460,3,64,32,0,459,458, + 1,0,0,0,460,461,1,0,0,0,461,459,1,0,0,0,461,462,1,0,0,0,462,21,1, + 0,0,0,463,465,3,66,33,0,464,463,1,0,0,0,465,466,1,0,0,0,466,464, + 1,0,0,0,466,467,1,0,0,0,467,23,1,0,0,0,468,470,3,68,34,0,469,468, + 1,0,0,0,470,471,1,0,0,0,471,469,1,0,0,0,471,472,1,0,0,0,472,25,1, + 0,0,0,473,475,3,70,35,0,474,473,1,0,0,0,475,476,1,0,0,0,476,474, + 1,0,0,0,476,477,1,0,0,0,477,27,1,0,0,0,478,480,3,72,36,0,479,478, + 1,0,0,0,480,481,1,0,0,0,481,479,1,0,0,0,481,482,1,0,0,0,482,29,1, + 0,0,0,483,485,3,74,37,0,484,483,1,0,0,0,485,486,1,0,0,0,486,484, + 1,0,0,0,486,487,1,0,0,0,487,31,1,0,0,0,488,490,3,76,38,0,489,488, + 1,0,0,0,490,491,1,0,0,0,491,489,1,0,0,0,491,492,1,0,0,0,492,33,1, + 0,0,0,493,495,3,78,39,0,494,493,1,0,0,0,495,496,1,0,0,0,496,494, + 1,0,0,0,496,497,1,0,0,0,497,35,1,0,0,0,498,500,3,80,40,0,499,498, + 1,0,0,0,500,501,1,0,0,0,501,499,1,0,0,0,501,502,1,0,0,0,502,37,1, + 0,0,0,503,505,3,82,41,0,504,503,1,0,0,0,505,506,1,0,0,0,506,504, + 1,0,0,0,506,507,1,0,0,0,507,39,1,0,0,0,508,510,3,84,42,0,509,508, + 1,0,0,0,510,511,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,41,1, + 0,0,0,513,515,3,86,43,0,514,513,1,0,0,0,515,516,1,0,0,0,516,514, + 1,0,0,0,516,517,1,0,0,0,517,43,1,0,0,0,518,520,3,88,44,0,519,518, + 1,0,0,0,520,521,1,0,0,0,521,519,1,0,0,0,521,522,1,0,0,0,522,45,1, + 0,0,0,523,525,3,90,45,0,524,523,1,0,0,0,525,526,1,0,0,0,526,524, + 1,0,0,0,526,527,1,0,0,0,527,47,1,0,0,0,528,530,3,92,46,0,529,528, + 1,0,0,0,530,531,1,0,0,0,531,529,1,0,0,0,531,532,1,0,0,0,532,49,1, + 0,0,0,533,535,3,94,47,0,534,533,1,0,0,0,535,536,1,0,0,0,536,534, + 1,0,0,0,536,537,1,0,0,0,537,51,1,0,0,0,538,540,3,96,48,0,539,538, + 1,0,0,0,540,541,1,0,0,0,541,539,1,0,0,0,541,542,1,0,0,0,542,53,1, + 0,0,0,543,545,3,98,49,0,544,543,1,0,0,0,545,546,1,0,0,0,546,544, + 1,0,0,0,546,547,1,0,0,0,547,55,1,0,0,0,548,550,3,100,50,0,549,548, + 1,0,0,0,550,551,1,0,0,0,551,549,1,0,0,0,551,552,1,0,0,0,552,57,1, + 0,0,0,553,554,5,135,0,0,554,555,5,3,0,0,555,556,5,1,0,0,556,557, + 3,102,51,0,557,558,3,212,106,0,558,559,3,214,107,0,559,560,3,226, + 113,0,560,562,3,194,97,0,561,563,3,228,114,0,562,561,1,0,0,0,562, + 563,1,0,0,0,563,564,1,0,0,0,564,565,5,2,0,0,565,566,5,4,0,0,566, + 59,1,0,0,0,567,568,5,135,0,0,568,569,5,3,0,0,569,570,5,1,0,0,570, + 572,3,104,52,0,571,573,3,148,74,0,572,571,1,0,0,0,572,573,1,0,0, + 0,573,575,1,0,0,0,574,576,3,178,89,0,575,574,1,0,0,0,575,576,1,0, + 0,0,576,578,1,0,0,0,577,579,3,180,90,0,578,577,1,0,0,0,578,579,1, + 0,0,0,579,581,1,0,0,0,580,582,3,150,75,0,581,580,1,0,0,0,581,582, + 1,0,0,0,582,584,1,0,0,0,583,585,3,334,167,0,584,583,1,0,0,0,584, + 585,1,0,0,0,585,586,1,0,0,0,586,587,5,2,0,0,587,588,5,4,0,0,588, + 61,1,0,0,0,589,590,5,135,0,0,590,591,5,3,0,0,591,592,5,1,0,0,592, + 593,3,106,53,0,593,594,3,152,76,0,594,595,3,154,77,0,595,596,3,156, + 78,0,596,597,3,158,79,0,597,598,5,2,0,0,598,599,5,4,0,0,599,63,1, + 0,0,0,600,601,5,135,0,0,601,602,5,3,0,0,602,603,5,1,0,0,603,604, + 3,108,54,0,604,605,3,200,100,0,605,606,3,318,159,0,606,607,3,320, + 160,0,607,609,3,202,101,0,608,610,3,194,97,0,609,608,1,0,0,0,609, + 610,1,0,0,0,610,611,1,0,0,0,611,612,3,204,102,0,612,613,5,2,0,0, + 613,614,5,4,0,0,614,65,1,0,0,0,615,616,5,135,0,0,616,617,5,3,0,0, + 617,618,5,1,0,0,618,620,3,110,55,0,619,621,3,162,81,0,620,619,1, + 0,0,0,620,621,1,0,0,0,621,623,1,0,0,0,622,624,3,164,82,0,623,622, + 1,0,0,0,623,624,1,0,0,0,624,626,1,0,0,0,625,627,3,160,80,0,626,625, + 1,0,0,0,626,627,1,0,0,0,627,629,1,0,0,0,628,630,3,168,84,0,629,628, + 1,0,0,0,629,630,1,0,0,0,630,632,1,0,0,0,631,633,3,170,85,0,632,631, + 1,0,0,0,632,633,1,0,0,0,633,635,1,0,0,0,634,636,3,166,83,0,635,634, + 1,0,0,0,635,636,1,0,0,0,636,638,1,0,0,0,637,639,3,234,117,0,638, + 637,1,0,0,0,638,639,1,0,0,0,639,641,1,0,0,0,640,642,3,194,97,0,641, + 640,1,0,0,0,641,642,1,0,0,0,642,644,1,0,0,0,643,645,3,196,98,0,644, + 643,1,0,0,0,644,645,1,0,0,0,645,647,1,0,0,0,646,648,3,238,119,0, + 647,646,1,0,0,0,647,648,1,0,0,0,648,650,1,0,0,0,649,651,3,198,99, + 0,650,649,1,0,0,0,650,651,1,0,0,0,651,653,1,0,0,0,652,654,3,172, + 86,0,653,652,1,0,0,0,653,654,1,0,0,0,654,656,1,0,0,0,655,657,3,236, + 118,0,656,655,1,0,0,0,656,657,1,0,0,0,657,659,1,0,0,0,658,660,3, + 174,87,0,659,658,1,0,0,0,659,660,1,0,0,0,660,661,1,0,0,0,661,662, + 5,2,0,0,662,663,5,4,0,0,663,67,1,0,0,0,664,665,5,135,0,0,665,666, + 5,3,0,0,666,667,5,1,0,0,667,668,3,112,56,0,668,669,3,200,100,0,669, + 670,3,202,101,0,670,671,3,204,102,0,671,672,5,2,0,0,672,673,5,4, + 0,0,673,69,1,0,0,0,674,675,5,135,0,0,675,676,5,3,0,0,676,677,5,1, + 0,0,677,678,3,114,57,0,678,680,3,182,91,0,679,681,3,170,85,0,680, + 679,1,0,0,0,680,681,1,0,0,0,681,683,1,0,0,0,682,684,3,168,84,0,683, + 682,1,0,0,0,683,684,1,0,0,0,684,686,1,0,0,0,685,687,3,194,97,0,686, + 685,1,0,0,0,686,687,1,0,0,0,687,689,1,0,0,0,688,690,3,196,98,0,689, + 688,1,0,0,0,689,690,1,0,0,0,690,691,1,0,0,0,691,693,3,198,99,0,692, + 694,3,172,86,0,693,692,1,0,0,0,693,694,1,0,0,0,694,696,1,0,0,0,695, + 697,3,174,87,0,696,695,1,0,0,0,696,697,1,0,0,0,697,699,1,0,0,0,698, + 700,3,176,88,0,699,698,1,0,0,0,699,700,1,0,0,0,700,701,1,0,0,0,701, + 702,5,2,0,0,702,703,5,4,0,0,703,71,1,0,0,0,704,705,5,135,0,0,705, + 706,5,3,0,0,706,707,5,1,0,0,707,708,3,116,58,0,708,709,3,200,100, + 0,709,710,3,202,101,0,710,711,3,204,102,0,711,712,5,2,0,0,712,713, + 5,4,0,0,713,73,1,0,0,0,714,715,5,135,0,0,715,716,5,3,0,0,716,717, + 5,1,0,0,717,718,3,118,59,0,718,719,3,212,106,0,719,720,3,214,107, + 0,720,721,3,216,108,0,721,722,3,226,113,0,722,724,3,194,97,0,723, + 725,3,184,92,0,724,723,1,0,0,0,724,725,1,0,0,0,725,727,1,0,0,0,726, + 728,3,192,96,0,727,726,1,0,0,0,727,728,1,0,0,0,728,729,1,0,0,0,729, + 730,3,228,114,0,730,731,3,230,115,0,731,732,3,232,116,0,732,733, + 5,2,0,0,733,734,5,4,0,0,734,75,1,0,0,0,735,736,5,135,0,0,736,737, + 5,3,0,0,737,738,5,1,0,0,738,739,3,120,60,0,739,740,3,218,109,0,740, + 741,3,212,106,0,741,742,3,214,107,0,742,743,3,220,110,0,743,744, + 3,222,111,0,744,745,3,226,113,0,745,746,3,194,97,0,746,747,3,224, + 112,0,747,748,3,228,114,0,748,749,5,2,0,0,749,750,5,4,0,0,750,77, + 1,0,0,0,751,752,5,135,0,0,752,753,5,3,0,0,753,754,5,1,0,0,754,756, + 3,122,61,0,755,757,3,240,120,0,756,755,1,0,0,0,756,757,1,0,0,0,757, + 758,1,0,0,0,758,759,3,212,106,0,759,761,3,270,135,0,760,762,3,272, + 136,0,761,760,1,0,0,0,761,762,1,0,0,0,762,763,1,0,0,0,763,765,3, + 274,137,0,764,766,3,276,138,0,765,764,1,0,0,0,765,766,1,0,0,0,766, + 767,1,0,0,0,767,769,3,278,139,0,768,770,3,282,141,0,769,768,1,0, + 0,0,769,770,1,0,0,0,770,772,1,0,0,0,771,773,3,280,140,0,772,771, + 1,0,0,0,772,773,1,0,0,0,773,774,1,0,0,0,774,776,3,284,142,0,775, + 777,3,286,143,0,776,775,1,0,0,0,776,777,1,0,0,0,777,778,1,0,0,0, + 778,779,3,288,144,0,779,780,3,290,145,0,780,781,5,2,0,0,781,782, + 5,4,0,0,782,79,1,0,0,0,783,784,5,135,0,0,784,785,5,3,0,0,785,786, + 5,1,0,0,786,787,3,124,62,0,787,789,3,310,155,0,788,790,3,194,97, + 0,789,788,1,0,0,0,789,790,1,0,0,0,790,791,1,0,0,0,791,792,3,196, + 98,0,792,793,3,312,156,0,793,794,3,198,99,0,794,795,5,2,0,0,795, + 796,5,4,0,0,796,81,1,0,0,0,797,798,5,135,0,0,798,799,5,3,0,0,799, + 800,5,1,0,0,800,801,3,126,63,0,801,802,3,200,100,0,802,803,3,202, + 101,0,803,804,3,204,102,0,804,805,5,2,0,0,805,806,5,4,0,0,806,83, + 1,0,0,0,807,808,5,135,0,0,808,809,5,3,0,0,809,810,5,1,0,0,810,812, + 3,128,64,0,811,813,3,146,73,0,812,811,1,0,0,0,812,813,1,0,0,0,813, + 814,1,0,0,0,814,815,3,200,100,0,815,817,3,202,101,0,816,818,3,292, + 146,0,817,816,1,0,0,0,817,818,1,0,0,0,818,820,1,0,0,0,819,821,3, + 294,147,0,820,819,1,0,0,0,820,821,1,0,0,0,821,823,1,0,0,0,822,824, + 3,194,97,0,823,822,1,0,0,0,823,824,1,0,0,0,824,826,1,0,0,0,825,827, + 3,296,148,0,826,825,1,0,0,0,826,827,1,0,0,0,827,829,1,0,0,0,828, + 830,3,298,149,0,829,828,1,0,0,0,829,830,1,0,0,0,830,831,1,0,0,0, + 831,832,3,204,102,0,832,833,3,300,150,0,833,835,3,302,151,0,834, + 836,3,304,152,0,835,834,1,0,0,0,835,836,1,0,0,0,836,837,1,0,0,0, + 837,838,5,2,0,0,838,839,5,4,0,0,839,85,1,0,0,0,840,841,5,135,0,0, + 841,842,5,3,0,0,842,843,5,1,0,0,843,844,3,130,65,0,844,845,3,200, + 100,0,845,846,3,202,101,0,846,847,3,204,102,0,847,848,5,2,0,0,848, + 849,5,4,0,0,849,87,1,0,0,0,850,851,5,135,0,0,851,852,5,3,0,0,852, + 853,5,1,0,0,853,855,3,132,66,0,854,856,3,194,97,0,855,854,1,0,0, + 0,855,856,1,0,0,0,856,858,1,0,0,0,857,859,3,178,89,0,858,857,1,0, + 0,0,858,859,1,0,0,0,859,861,1,0,0,0,860,862,3,180,90,0,861,860,1, + 0,0,0,861,862,1,0,0,0,862,864,1,0,0,0,863,865,3,150,75,0,864,863, + 1,0,0,0,864,865,1,0,0,0,865,867,1,0,0,0,866,868,3,306,153,0,867, + 866,1,0,0,0,867,868,1,0,0,0,868,869,1,0,0,0,869,870,3,308,154,0, + 870,871,5,2,0,0,871,872,5,4,0,0,872,89,1,0,0,0,873,874,5,135,0,0, + 874,875,5,3,0,0,875,876,5,1,0,0,876,877,3,134,67,0,877,878,3,182, + 91,0,878,880,3,194,97,0,879,881,3,196,98,0,880,879,1,0,0,0,880,881, + 1,0,0,0,881,882,1,0,0,0,882,883,3,198,99,0,883,884,5,2,0,0,884,885, + 5,4,0,0,885,91,1,0,0,0,886,887,5,135,0,0,887,888,5,3,0,0,888,889, + 5,1,0,0,889,891,3,136,68,0,890,892,3,314,157,0,891,890,1,0,0,0,891, + 892,1,0,0,0,892,893,1,0,0,0,893,894,3,316,158,0,894,895,3,194,97, + 0,895,896,5,2,0,0,896,897,5,4,0,0,897,93,1,0,0,0,898,899,5,135,0, + 0,899,900,5,3,0,0,900,901,5,1,0,0,901,902,3,138,69,0,902,903,3,328, + 164,0,903,905,3,330,165,0,904,906,3,332,166,0,905,904,1,0,0,0,905, + 906,1,0,0,0,906,907,1,0,0,0,907,908,5,2,0,0,908,909,5,4,0,0,909, + 95,1,0,0,0,910,911,5,135,0,0,911,912,5,3,0,0,912,913,5,1,0,0,913, + 914,3,140,70,0,914,915,3,186,93,0,915,916,3,188,94,0,916,917,5,2, + 0,0,917,918,5,4,0,0,918,97,1,0,0,0,919,920,5,135,0,0,920,921,5,3, + 0,0,921,922,5,1,0,0,922,924,3,142,71,0,923,925,3,190,95,0,924,923, + 1,0,0,0,924,925,1,0,0,0,925,926,1,0,0,0,926,927,3,228,114,0,927, + 928,5,2,0,0,928,929,5,4,0,0,929,99,1,0,0,0,930,931,5,135,0,0,931, + 932,5,3,0,0,932,933,5,1,0,0,933,934,3,144,72,0,934,935,3,182,91, + 0,935,937,3,338,169,0,936,938,3,194,97,0,937,936,1,0,0,0,937,938, + 1,0,0,0,938,939,1,0,0,0,939,940,3,196,98,0,940,941,3,198,99,0,941, + 942,3,340,170,0,942,943,5,2,0,0,943,944,5,4,0,0,944,101,1,0,0,0, + 945,946,5,12,0,0,946,947,5,3,0,0,947,948,5,19,0,0,948,949,5,4,0, + 0,949,103,1,0,0,0,950,951,5,12,0,0,951,952,5,3,0,0,952,953,5,20, + 0,0,953,954,5,4,0,0,954,105,1,0,0,0,955,956,5,12,0,0,956,957,5,3, + 0,0,957,958,5,21,0,0,958,959,5,4,0,0,959,107,1,0,0,0,960,961,5,12, + 0,0,961,962,5,3,0,0,962,963,5,22,0,0,963,964,5,4,0,0,964,109,1,0, + 0,0,965,966,5,12,0,0,966,967,5,3,0,0,967,968,5,23,0,0,968,969,5, + 4,0,0,969,111,1,0,0,0,970,971,5,12,0,0,971,972,5,3,0,0,972,973,5, + 24,0,0,973,974,5,4,0,0,974,113,1,0,0,0,975,976,5,12,0,0,976,977, + 5,3,0,0,977,978,5,25,0,0,978,979,5,4,0,0,979,115,1,0,0,0,980,981, + 5,12,0,0,981,982,5,3,0,0,982,983,5,26,0,0,983,984,5,4,0,0,984,117, + 1,0,0,0,985,986,5,12,0,0,986,987,5,3,0,0,987,988,5,27,0,0,988,989, + 5,4,0,0,989,119,1,0,0,0,990,991,5,12,0,0,991,992,5,3,0,0,992,993, + 5,28,0,0,993,994,5,4,0,0,994,121,1,0,0,0,995,996,5,12,0,0,996,997, + 5,3,0,0,997,998,5,29,0,0,998,999,5,4,0,0,999,123,1,0,0,0,1000,1001, + 5,12,0,0,1001,1002,5,3,0,0,1002,1003,5,30,0,0,1003,1004,5,4,0,0, + 1004,125,1,0,0,0,1005,1006,5,12,0,0,1006,1007,5,3,0,0,1007,1008, + 5,31,0,0,1008,1009,5,4,0,0,1009,127,1,0,0,0,1010,1011,5,12,0,0,1011, + 1012,5,3,0,0,1012,1013,5,32,0,0,1013,1014,5,4,0,0,1014,129,1,0,0, + 0,1015,1016,5,12,0,0,1016,1017,5,3,0,0,1017,1018,5,33,0,0,1018,1019, + 5,4,0,0,1019,131,1,0,0,0,1020,1021,5,12,0,0,1021,1022,5,3,0,0,1022, + 1023,5,34,0,0,1023,1024,5,4,0,0,1024,133,1,0,0,0,1025,1026,5,12, + 0,0,1026,1027,5,3,0,0,1027,1028,5,35,0,0,1028,1029,5,4,0,0,1029, + 135,1,0,0,0,1030,1031,5,12,0,0,1031,1032,5,3,0,0,1032,1033,5,36, + 0,0,1033,1034,5,4,0,0,1034,137,1,0,0,0,1035,1036,5,12,0,0,1036,1037, + 5,3,0,0,1037,1038,5,37,0,0,1038,1039,5,4,0,0,1039,139,1,0,0,0,1040, + 1041,5,12,0,0,1041,1042,5,3,0,0,1042,1043,5,38,0,0,1043,1044,5,4, + 0,0,1044,141,1,0,0,0,1045,1046,5,12,0,0,1046,1047,5,3,0,0,1047,1048, + 5,39,0,0,1048,1049,5,4,0,0,1049,143,1,0,0,0,1050,1051,5,12,0,0,1051, + 1052,5,3,0,0,1052,1053,5,40,0,0,1053,1054,5,4,0,0,1054,145,1,0,0, + 0,1055,1056,5,41,0,0,1056,1057,5,3,0,0,1057,1058,5,13,0,0,1058,1059, + 5,4,0,0,1059,147,1,0,0,0,1060,1061,5,42,0,0,1061,1062,5,3,0,0,1062, + 1063,5,135,0,0,1063,1064,5,4,0,0,1064,149,1,0,0,0,1065,1066,5,43, + 0,0,1066,1067,5,3,0,0,1067,1068,5,135,0,0,1068,1069,5,4,0,0,1069, + 151,1,0,0,0,1070,1071,5,44,0,0,1071,1072,5,3,0,0,1072,1073,5,135, + 0,0,1073,1074,5,4,0,0,1074,153,1,0,0,0,1075,1076,5,45,0,0,1076,1077, + 5,3,0,0,1077,1078,5,13,0,0,1078,1079,5,4,0,0,1079,155,1,0,0,0,1080, + 1081,5,46,0,0,1081,1082,5,3,0,0,1082,1083,5,135,0,0,1083,1084,5, + 4,0,0,1084,157,1,0,0,0,1085,1086,5,47,0,0,1086,1087,5,3,0,0,1087, + 1088,3,346,173,0,1088,1089,5,4,0,0,1089,159,1,0,0,0,1090,1091,5, + 48,0,0,1091,1092,5,3,0,0,1092,1093,5,13,0,0,1093,1094,5,4,0,0,1094, + 161,1,0,0,0,1095,1096,5,49,0,0,1096,1097,5,3,0,0,1097,1098,3,346, + 173,0,1098,1099,5,4,0,0,1099,163,1,0,0,0,1100,1101,5,50,0,0,1101, + 1102,5,3,0,0,1102,1103,3,346,173,0,1103,1104,5,4,0,0,1104,165,1, + 0,0,0,1105,1106,5,51,0,0,1106,1107,5,3,0,0,1107,1108,3,346,173,0, + 1108,1109,5,4,0,0,1109,167,1,0,0,0,1110,1111,5,52,0,0,1111,1112, + 5,3,0,0,1112,1113,5,13,0,0,1113,1114,5,4,0,0,1114,169,1,0,0,0,1115, + 1116,5,53,0,0,1116,1117,5,3,0,0,1117,1118,5,13,0,0,1118,1119,5,4, + 0,0,1119,171,1,0,0,0,1120,1121,5,54,0,0,1121,1122,5,3,0,0,1122,1123, + 5,13,0,0,1123,1124,5,4,0,0,1124,173,1,0,0,0,1125,1126,5,55,0,0,1126, + 1127,5,3,0,0,1127,1128,5,13,0,0,1128,1129,5,4,0,0,1129,175,1,0,0, + 0,1130,1131,5,56,0,0,1131,1132,5,3,0,0,1132,1133,5,13,0,0,1133,1134, + 5,4,0,0,1134,177,1,0,0,0,1135,1136,5,57,0,0,1136,1137,5,3,0,0,1137, + 1138,3,344,172,0,1138,1139,5,4,0,0,1139,179,1,0,0,0,1140,1141,5, + 58,0,0,1141,1142,5,3,0,0,1142,1143,3,208,104,0,1143,1144,5,4,0,0, + 1144,181,1,0,0,0,1145,1146,5,59,0,0,1146,1147,5,3,0,0,1147,1148, + 3,206,103,0,1148,1149,5,4,0,0,1149,183,1,0,0,0,1150,1151,5,60,0, + 0,1151,1152,5,3,0,0,1152,1153,5,136,0,0,1153,1154,5,4,0,0,1154,185, + 1,0,0,0,1155,1156,5,61,0,0,1156,1157,5,3,0,0,1157,1158,5,136,0,0, + 1158,1159,5,4,0,0,1159,187,1,0,0,0,1160,1161,5,62,0,0,1161,1162, + 5,3,0,0,1162,1166,5,1,0,0,1163,1165,3,326,163,0,1164,1163,1,0,0, + 0,1165,1168,1,0,0,0,1166,1164,1,0,0,0,1166,1167,1,0,0,0,1167,1169, + 1,0,0,0,1168,1166,1,0,0,0,1169,1170,5,2,0,0,1170,1171,5,4,0,0,1171, + 189,1,0,0,0,1172,1173,5,63,0,0,1173,1174,5,3,0,0,1174,1175,5,135, + 0,0,1175,1176,5,4,0,0,1176,191,1,0,0,0,1177,1178,5,64,0,0,1178,1179, + 5,3,0,0,1179,1180,3,206,103,0,1180,1181,5,4,0,0,1181,193,1,0,0,0, + 1182,1183,5,65,0,0,1183,1184,5,3,0,0,1184,1185,3,344,172,0,1185, + 1186,5,4,0,0,1186,195,1,0,0,0,1187,1188,5,66,0,0,1188,1189,5,3,0, + 0,1189,1190,3,344,172,0,1190,1191,5,4,0,0,1191,197,1,0,0,0,1192, + 1193,5,67,0,0,1193,1194,5,3,0,0,1194,1195,3,344,172,0,1195,1196, + 5,4,0,0,1196,199,1,0,0,0,1197,1198,5,68,0,0,1198,1199,5,3,0,0,1199, + 1200,5,13,0,0,1200,1201,5,4,0,0,1201,201,1,0,0,0,1202,1203,5,69, + 0,0,1203,1204,5,3,0,0,1204,1205,3,206,103,0,1205,1206,5,4,0,0,1206, + 203,1,0,0,0,1207,1208,5,70,0,0,1208,1209,5,3,0,0,1209,1210,5,13, + 0,0,1210,1211,5,4,0,0,1211,205,1,0,0,0,1212,1217,5,5,0,0,1213,1214, + 5,135,0,0,1214,1216,5,6,0,0,1215,1213,1,0,0,0,1216,1219,1,0,0,0, + 1217,1215,1,0,0,0,1217,1218,1,0,0,0,1218,1220,1,0,0,0,1219,1217, + 1,0,0,0,1220,1221,5,7,0,0,1221,207,1,0,0,0,1222,1228,5,5,0,0,1223, + 1224,3,346,173,0,1224,1225,5,6,0,0,1225,1227,1,0,0,0,1226,1223,1, + 0,0,0,1227,1230,1,0,0,0,1228,1226,1,0,0,0,1228,1229,1,0,0,0,1229, + 1231,1,0,0,0,1230,1228,1,0,0,0,1231,1232,5,7,0,0,1232,209,1,0,0, + 0,1233,1238,5,5,0,0,1234,1235,5,137,0,0,1235,1237,5,6,0,0,1236,1234, + 1,0,0,0,1237,1240,1,0,0,0,1238,1236,1,0,0,0,1238,1239,1,0,0,0,1239, + 1241,1,0,0,0,1240,1238,1,0,0,0,1241,1242,5,7,0,0,1242,211,1,0,0, + 0,1243,1244,5,71,0,0,1244,1245,5,3,0,0,1245,1246,5,135,0,0,1246, + 1247,5,4,0,0,1247,213,1,0,0,0,1248,1249,5,72,0,0,1249,1250,5,3,0, + 0,1250,1251,3,206,103,0,1251,1252,5,4,0,0,1252,215,1,0,0,0,1253, + 1254,5,73,0,0,1254,1255,5,3,0,0,1255,1256,3,206,103,0,1256,1257, + 5,4,0,0,1257,217,1,0,0,0,1258,1259,5,74,0,0,1259,1260,5,3,0,0,1260, + 1261,3,344,172,0,1261,1262,5,4,0,0,1262,219,1,0,0,0,1263,1264,5, + 75,0,0,1264,1265,5,3,0,0,1265,1266,3,344,172,0,1266,1267,5,4,0,0, + 1267,221,1,0,0,0,1268,1269,5,76,0,0,1269,1270,5,3,0,0,1270,1271, + 3,344,172,0,1271,1272,5,4,0,0,1272,223,1,0,0,0,1273,1274,5,77,0, + 0,1274,1275,5,3,0,0,1275,1276,5,13,0,0,1276,1277,5,4,0,0,1277,225, + 1,0,0,0,1278,1279,5,78,0,0,1279,1280,5,3,0,0,1280,1281,3,206,103, + 0,1281,1282,5,4,0,0,1282,227,1,0,0,0,1283,1284,5,79,0,0,1284,1285, + 5,3,0,0,1285,1286,3,346,173,0,1286,1287,5,4,0,0,1287,229,1,0,0,0, + 1288,1289,5,80,0,0,1289,1290,5,3,0,0,1290,1291,5,135,0,0,1291,1292, + 5,4,0,0,1292,231,1,0,0,0,1293,1294,5,81,0,0,1294,1295,5,3,0,0,1295, + 1296,5,136,0,0,1296,1297,5,4,0,0,1297,233,1,0,0,0,1298,1299,5,82, + 0,0,1299,1300,5,3,0,0,1300,1301,5,13,0,0,1301,1302,5,4,0,0,1302, + 235,1,0,0,0,1303,1304,5,83,0,0,1304,1305,5,3,0,0,1305,1306,3,346, + 173,0,1306,1307,5,4,0,0,1307,237,1,0,0,0,1308,1309,5,84,0,0,1309, + 1310,5,3,0,0,1310,1311,3,346,173,0,1311,1312,5,4,0,0,1312,239,1, + 0,0,0,1313,1314,5,85,0,0,1314,1315,5,3,0,0,1315,1317,5,1,0,0,1316, + 1318,3,248,124,0,1317,1316,1,0,0,0,1317,1318,1,0,0,0,1318,1320,1, + 0,0,0,1319,1321,3,342,171,0,1320,1319,1,0,0,0,1320,1321,1,0,0,0, + 1321,1323,1,0,0,0,1322,1324,3,244,122,0,1323,1322,1,0,0,0,1323,1324, + 1,0,0,0,1324,1326,1,0,0,0,1325,1327,3,242,121,0,1326,1325,1,0,0, + 0,1326,1327,1,0,0,0,1327,1329,1,0,0,0,1328,1330,3,246,123,0,1329, + 1328,1,0,0,0,1329,1330,1,0,0,0,1330,1332,1,0,0,0,1331,1333,3,250, + 125,0,1332,1331,1,0,0,0,1332,1333,1,0,0,0,1333,1335,1,0,0,0,1334, + 1336,3,252,126,0,1335,1334,1,0,0,0,1335,1336,1,0,0,0,1336,1338,1, + 0,0,0,1337,1339,3,254,127,0,1338,1337,1,0,0,0,1338,1339,1,0,0,0, + 1339,1341,1,0,0,0,1340,1342,3,256,128,0,1341,1340,1,0,0,0,1341,1342, + 1,0,0,0,1342,1343,1,0,0,0,1343,1344,5,2,0,0,1344,1345,5,4,0,0,1345, + 241,1,0,0,0,1346,1347,5,86,0,0,1347,1348,5,3,0,0,1348,1349,5,13, + 0,0,1349,1350,5,4,0,0,1350,243,1,0,0,0,1351,1352,5,87,0,0,1352,1353, + 5,3,0,0,1353,1354,5,137,0,0,1354,1355,5,4,0,0,1355,245,1,0,0,0,1356, + 1357,5,88,0,0,1357,1358,5,3,0,0,1358,1359,5,13,0,0,1359,1360,5,4, + 0,0,1360,247,1,0,0,0,1361,1362,5,89,0,0,1362,1363,5,3,0,0,1363,1364, + 7,0,0,0,1364,1365,5,4,0,0,1365,249,1,0,0,0,1366,1367,5,90,0,0,1367, + 1368,5,3,0,0,1368,1369,5,13,0,0,1369,1370,5,4,0,0,1370,251,1,0,0, + 0,1371,1372,5,91,0,0,1372,1373,5,3,0,0,1373,1374,5,13,0,0,1374,1375, + 5,4,0,0,1375,253,1,0,0,0,1376,1377,5,92,0,0,1377,1378,5,3,0,0,1378, + 1379,3,346,173,0,1379,1380,5,4,0,0,1380,255,1,0,0,0,1381,1382,5, + 93,0,0,1382,1383,5,3,0,0,1383,1387,5,1,0,0,1384,1386,3,258,129,0, + 1385,1384,1,0,0,0,1386,1389,1,0,0,0,1387,1385,1,0,0,0,1387,1388, + 1,0,0,0,1388,1390,1,0,0,0,1389,1387,1,0,0,0,1390,1391,5,2,0,0,1391, + 1392,5,4,0,0,1392,257,1,0,0,0,1393,1394,5,135,0,0,1394,1395,5,3, + 0,0,1395,1397,5,1,0,0,1396,1398,3,260,130,0,1397,1396,1,0,0,0,1397, + 1398,1,0,0,0,1398,1400,1,0,0,0,1399,1401,3,262,131,0,1400,1399,1, + 0,0,0,1400,1401,1,0,0,0,1401,1403,1,0,0,0,1402,1404,3,264,132,0, + 1403,1402,1,0,0,0,1403,1404,1,0,0,0,1404,1406,1,0,0,0,1405,1407, + 3,266,133,0,1406,1405,1,0,0,0,1406,1407,1,0,0,0,1407,1409,1,0,0, + 0,1408,1410,3,242,121,0,1409,1408,1,0,0,0,1409,1410,1,0,0,0,1410, + 1412,1,0,0,0,1411,1413,3,268,134,0,1412,1411,1,0,0,0,1412,1413,1, + 0,0,0,1413,1415,1,0,0,0,1414,1416,3,336,168,0,1415,1414,1,0,0,0, + 1415,1416,1,0,0,0,1416,1418,1,0,0,0,1417,1419,3,262,131,0,1418,1417, + 1,0,0,0,1418,1419,1,0,0,0,1419,1420,1,0,0,0,1420,1421,5,2,0,0,1421, + 1422,5,4,0,0,1422,259,1,0,0,0,1423,1424,5,94,0,0,1424,1425,5,3,0, + 0,1425,1426,5,137,0,0,1426,1427,5,4,0,0,1427,261,1,0,0,0,1428,1429, + 5,95,0,0,1429,1430,5,3,0,0,1430,1431,5,135,0,0,1431,1432,5,4,0,0, + 1432,263,1,0,0,0,1433,1434,5,96,0,0,1434,1435,5,3,0,0,1435,1436, + 3,344,172,0,1436,1437,5,4,0,0,1437,265,1,0,0,0,1438,1439,5,97,0, + 0,1439,1440,5,3,0,0,1440,1441,3,344,172,0,1441,1442,5,4,0,0,1442, + 267,1,0,0,0,1443,1444,5,98,0,0,1444,1445,5,3,0,0,1445,1446,5,137, + 0,0,1446,1447,5,4,0,0,1447,269,1,0,0,0,1448,1449,5,99,0,0,1449,1450, + 5,3,0,0,1450,1451,5,136,0,0,1451,1452,5,4,0,0,1452,271,1,0,0,0,1453, + 1454,5,100,0,0,1454,1455,5,3,0,0,1455,1456,5,137,0,0,1456,1457,5, + 4,0,0,1457,273,1,0,0,0,1458,1459,5,101,0,0,1459,1460,5,3,0,0,1460, + 1461,5,13,0,0,1461,1462,5,4,0,0,1462,275,1,0,0,0,1463,1464,5,102, + 0,0,1464,1465,5,3,0,0,1465,1466,3,208,104,0,1466,1467,5,4,0,0,1467, + 277,1,0,0,0,1468,1469,5,103,0,0,1469,1470,5,3,0,0,1470,1471,5,135, + 0,0,1471,1472,5,4,0,0,1472,279,1,0,0,0,1473,1474,5,104,0,0,1474, + 1475,5,3,0,0,1475,1476,5,135,0,0,1476,1477,5,4,0,0,1477,281,1,0, + 0,0,1478,1479,5,105,0,0,1479,1480,5,3,0,0,1480,1481,3,206,103,0, + 1481,1482,5,4,0,0,1482,283,1,0,0,0,1483,1484,5,106,0,0,1484,1485, + 5,3,0,0,1485,1486,3,344,172,0,1486,1487,5,4,0,0,1487,285,1,0,0,0, + 1488,1489,5,107,0,0,1489,1490,5,3,0,0,1490,1491,3,346,173,0,1491, + 1492,5,4,0,0,1492,1501,1,0,0,0,1493,1494,5,107,0,0,1494,1495,5,3, + 0,0,1495,1496,5,5,0,0,1496,1497,3,322,161,0,1497,1498,5,7,0,0,1498, + 1499,5,4,0,0,1499,1501,1,0,0,0,1500,1488,1,0,0,0,1500,1493,1,0,0, + 0,1501,287,1,0,0,0,1502,1503,5,108,0,0,1503,1504,5,3,0,0,1504,1505, + 3,344,172,0,1505,1506,5,4,0,0,1506,289,1,0,0,0,1507,1508,5,109,0, + 0,1508,1509,5,3,0,0,1509,1510,3,206,103,0,1510,1511,5,4,0,0,1511, + 291,1,0,0,0,1512,1513,5,110,0,0,1513,1514,5,3,0,0,1514,1515,3,208, + 104,0,1515,1516,5,4,0,0,1516,293,1,0,0,0,1517,1518,5,111,0,0,1518, + 1519,5,3,0,0,1519,1520,3,208,104,0,1520,1521,5,4,0,0,1521,295,1, + 0,0,0,1522,1523,5,112,0,0,1523,1524,5,3,0,0,1524,1525,3,208,104, + 0,1525,1526,5,4,0,0,1526,297,1,0,0,0,1527,1528,5,113,0,0,1528,1529, + 5,3,0,0,1529,1530,3,208,104,0,1530,1531,5,4,0,0,1531,299,1,0,0,0, + 1532,1533,5,114,0,0,1533,1534,5,3,0,0,1534,1535,5,137,0,0,1535,1536, + 5,4,0,0,1536,301,1,0,0,0,1537,1538,5,115,0,0,1538,1539,5,3,0,0,1539, + 1540,3,344,172,0,1540,1541,5,4,0,0,1541,303,1,0,0,0,1542,1543,5, + 116,0,0,1543,1544,5,3,0,0,1544,1545,5,13,0,0,1545,1546,5,4,0,0,1546, + 305,1,0,0,0,1547,1548,5,117,0,0,1548,1549,5,3,0,0,1549,1550,5,135, + 0,0,1550,1551,5,4,0,0,1551,307,1,0,0,0,1552,1553,5,118,0,0,1553, + 1554,5,3,0,0,1554,1555,5,135,0,0,1555,1556,5,4,0,0,1556,309,1,0, + 0,0,1557,1558,5,119,0,0,1558,1559,5,3,0,0,1559,1560,3,346,173,0, + 1560,1561,5,4,0,0,1561,311,1,0,0,0,1562,1563,5,120,0,0,1563,1564, + 5,3,0,0,1564,1565,5,135,0,0,1565,1566,5,4,0,0,1566,313,1,0,0,0,1567, + 1568,5,121,0,0,1568,1569,5,3,0,0,1569,1570,5,135,0,0,1570,1571,5, + 4,0,0,1571,315,1,0,0,0,1572,1573,5,122,0,0,1573,1574,5,3,0,0,1574, + 1578,5,1,0,0,1575,1577,3,326,163,0,1576,1575,1,0,0,0,1577,1580,1, + 0,0,0,1578,1576,1,0,0,0,1578,1579,1,0,0,0,1579,1581,1,0,0,0,1580, + 1578,1,0,0,0,1581,1582,5,2,0,0,1582,1583,5,4,0,0,1583,317,1,0,0, + 0,1584,1585,5,123,0,0,1585,1586,5,3,0,0,1586,1587,3,344,172,0,1587, + 1588,5,4,0,0,1588,319,1,0,0,0,1589,1590,5,124,0,0,1590,1591,5,3, + 0,0,1591,1592,5,13,0,0,1592,1593,5,4,0,0,1593,321,1,0,0,0,1594,1596, + 3,324,162,0,1595,1594,1,0,0,0,1596,1599,1,0,0,0,1597,1595,1,0,0, + 0,1597,1598,1,0,0,0,1598,323,1,0,0,0,1599,1597,1,0,0,0,1600,1601, + 5,1,0,0,1601,1602,5,125,0,0,1602,1603,5,3,0,0,1603,1604,5,135,0, + 0,1604,1605,5,4,0,0,1605,1606,5,126,0,0,1606,1607,5,3,0,0,1607,1608, + 5,135,0,0,1608,1609,5,4,0,0,1609,1610,5,2,0,0,1610,1611,5,6,0,0, + 1611,325,1,0,0,0,1612,1613,3,346,173,0,1613,1614,5,3,0,0,1614,1615, + 3,346,173,0,1615,1616,5,4,0,0,1616,1649,1,0,0,0,1617,1618,3,346, + 173,0,1618,1619,5,3,0,0,1619,1620,5,13,0,0,1620,1621,5,4,0,0,1621, + 1649,1,0,0,0,1622,1623,3,346,173,0,1623,1624,5,3,0,0,1624,1625,5, + 139,0,0,1625,1626,5,4,0,0,1626,1649,1,0,0,0,1627,1628,3,346,173, + 0,1628,1629,5,3,0,0,1629,1630,5,1,0,0,1630,1631,3,326,163,0,1631, + 1632,5,2,0,0,1632,1633,5,4,0,0,1633,1649,1,0,0,0,1634,1635,3,346, + 173,0,1635,1636,5,3,0,0,1636,1642,5,5,0,0,1637,1638,3,346,173,0, + 1638,1639,5,6,0,0,1639,1641,1,0,0,0,1640,1637,1,0,0,0,1641,1644, + 1,0,0,0,1642,1640,1,0,0,0,1642,1643,1,0,0,0,1643,1645,1,0,0,0,1644, + 1642,1,0,0,0,1645,1646,5,7,0,0,1646,1647,5,4,0,0,1647,1649,1,0,0, + 0,1648,1612,1,0,0,0,1648,1617,1,0,0,0,1648,1622,1,0,0,0,1648,1627, + 1,0,0,0,1648,1634,1,0,0,0,1649,327,1,0,0,0,1650,1651,5,127,0,0,1651, + 1652,5,3,0,0,1652,1653,3,206,103,0,1653,1654,5,4,0,0,1654,329,1, + 0,0,0,1655,1656,5,128,0,0,1656,1657,5,3,0,0,1657,1658,5,13,0,0,1658, + 1659,5,4,0,0,1659,331,1,0,0,0,1660,1661,5,129,0,0,1661,1662,5,3, + 0,0,1662,1663,3,344,172,0,1663,1664,5,4,0,0,1664,333,1,0,0,0,1665, + 1666,5,130,0,0,1666,1667,5,3,0,0,1667,1671,5,1,0,0,1668,1670,3,326, + 163,0,1669,1668,1,0,0,0,1670,1673,1,0,0,0,1671,1669,1,0,0,0,1671, + 1672,1,0,0,0,1672,1674,1,0,0,0,1673,1671,1,0,0,0,1674,1675,5,2,0, + 0,1675,1676,5,4,0,0,1676,335,1,0,0,0,1677,1678,5,131,0,0,1678,1679, + 5,3,0,0,1679,1683,5,1,0,0,1680,1682,3,326,163,0,1681,1680,1,0,0, + 0,1682,1685,1,0,0,0,1683,1681,1,0,0,0,1683,1684,1,0,0,0,1684,1686, + 1,0,0,0,1685,1683,1,0,0,0,1686,1687,5,2,0,0,1687,1688,5,4,0,0,1688, + 337,1,0,0,0,1689,1690,5,132,0,0,1690,1691,5,3,0,0,1691,1692,5,135, + 0,0,1692,1693,5,4,0,0,1693,339,1,0,0,0,1694,1695,5,133,0,0,1695, + 1696,5,3,0,0,1696,1697,5,137,0,0,1697,1698,5,4,0,0,1698,341,1,0, + 0,0,1699,1700,5,134,0,0,1700,1701,5,3,0,0,1701,1702,3,346,173,0, + 1702,1703,5,4,0,0,1703,343,1,0,0,0,1704,1708,5,137,0,0,1705,1708, + 5,136,0,0,1706,1708,3,348,174,0,1707,1704,1,0,0,0,1707,1705,1,0, + 0,0,1707,1706,1,0,0,0,1708,345,1,0,0,0,1709,1713,3,344,172,0,1710, + 1713,5,13,0,0,1711,1713,5,138,0,0,1712,1709,1,0,0,0,1712,1710,1, + 0,0,0,1712,1711,1,0,0,0,1713,347,1,0,0,0,1714,1715,7,1,0,0,1715, + 349,1,0,0,0,124,380,383,386,389,393,397,400,403,407,410,413,416, + 419,422,427,430,433,446,451,456,461,466,471,476,481,486,491,496, + 501,506,511,516,521,526,531,536,541,546,551,562,572,575,578,581, + 584,609,620,623,626,629,632,635,638,641,644,647,650,653,656,659, + 680,683,686,689,693,696,699,724,727,756,761,765,769,772,776,789, + 812,817,820,823,826,829,835,855,858,861,864,867,880,891,905,924, + 937,1166,1217,1228,1238,1317,1320,1323,1326,1329,1332,1335,1338, + 1341,1387,1397,1400,1403,1406,1409,1412,1415,1418,1500,1578,1597, + 1642,1648,1671,1683,1707,1712 ] class PBXProjParser ( Parser ): @@ -650,13 +654,14 @@ class PBXProjParser ( Parser ): "'PBXSourcesBuildPhase'", "'PBXTargetDependency'", "'PBXVariantGroup'", "'XCBuildConfiguration'", "'XCConfigurationList'", "'XCRemoteSwiftPackageReference'", "'XCSwiftPackageProductDependency'", - "'XCVersionGroup'", "'fileRef'", "'productRef'", "'containerPortal'", - "'proxyType'", "'remoteGlobalIDString'", "'remoteInfo'", - "'fileEncoding'", "'comments'", "'explicitFileType'", - "'lastKnownFileType'", "'includeInIndex'", "'indentWidth'", - "'tabWidth'", "'usesTabs'", "'wrapsLines'", "'platformFilter'", - "'platformFilters'", "'children'", "'productInstallPath'", - "'repositoryURL'", "'requirement'", "'package'", "'packageProductDependencies'", + "'XCVersionGroup'", "'alwaysOutOfDate'", "'fileRef'", + "'productRef'", "'containerPortal'", "'proxyType'", + "'remoteGlobalIDString'", "'remoteInfo'", "'fileEncoding'", + "'comments'", "'explicitFileType'", "'lastKnownFileType'", + "'includeInIndex'", "'indentWidth'", "'tabWidth'", + "'usesTabs'", "'wrapsLines'", "'platformFilter'", "'platformFilters'", + "'children'", "'productInstallPath'", "'repositoryURL'", + "'requirement'", "'package'", "'packageProductDependencies'", "'name'", "'path'", "'sourceTree'", "'buildActionMask'", "'files'", "'runOnlyForDeploymentPostprocessing'", "'buildConfigurationList'", "'buildPhases'", "'buildRules'", @@ -696,9 +701,9 @@ class PBXProjParser ( Parser ): "PBX_SOURCES_BUILD_PHASE", "PBX_TARGET_DEPENDENCY", "PBX_VARIANT_GROUP", "XC_BUILD_CONFIGURATION", "XC_CONFIGURATION_LIST", "XC_REMOTE_SWIFT_PACKAGE_REFERENCE", "XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY", - "XC_VERSION_GROUP", "FILE_REF", "PRODUCT_REF", "CONTAINER_PORTAL", - "PROXY_TYPE", "REMOTE_GLOBAL_ID_STRING", "REMOTE_INFO", - "FILE_ENCODING", "COMMENTS", "EXPLICIT_FILE_TYPE", + "XC_VERSION_GROUP", "ALWAYS_OUT_OF_DATE", "FILE_REF", + "PRODUCT_REF", "CONTAINER_PORTAL", "PROXY_TYPE", "REMOTE_GLOBAL_ID_STRING", + "REMOTE_INFO", "FILE_ENCODING", "COMMENTS", "EXPLICIT_FILE_TYPE", "LAST_KNOWN_FILE_TYPE", "INCLUDE_IN_INDEX", "INDENT_WIDTH", "TAB_WIDTH", "USES_TABS", "WRAPS_LINES", "PLATFORM_FILTER", "PLATFORM_FILTERS", "CHILDREN", "PRODUCT_INSTALL_PATH", @@ -805,107 +810,108 @@ class PBXProjParser ( Parser ): RULE_isa_xc_remote_swift_package_reference = 70 RULE_isa_xc_swift_package_product_dependency = 71 RULE_isa_xc_version_group = 72 - RULE_file_ref = 73 - RULE_product_ref = 74 - RULE_container_portal = 75 - RULE_proxy_type = 76 - RULE_remote_global_id_string = 77 - RULE_remote_info = 78 - RULE_file_encoding = 79 - RULE_comments = 80 - RULE_explicit_file_type = 81 - RULE_last_known_file_type = 82 - RULE_include_in_index = 83 - RULE_indent_width = 84 - RULE_tab_width = 85 - RULE_uses_tabs = 86 - RULE_wraps_lines = 87 - RULE_platform_filter = 88 - RULE_platform_filters = 89 - RULE_children = 90 - RULE_product_install_path = 91 - RULE_repository_url = 92 - RULE_requirement = 93 - RULE_xc_package = 94 - RULE_package_product_dependencies = 95 - RULE_name = 96 - RULE_path = 97 - RULE_source_tree = 98 - RULE_build_action_mask = 99 - RULE_files = 100 - RULE_run_only_for_deployment_postprocessing = 101 - RULE_reference_list = 102 - RULE_any_string_list = 103 - RULE_non_quoted_strings_list = 104 - RULE_build_configuration_list = 105 - RULE_build_phases = 106 - RULE_build_rules = 107 - RULE_build_arguments_string = 108 - RULE_build_tool_path = 109 - RULE_build_working_directory = 110 - RULE_pass_build_settings_in_environment = 111 - RULE_dependencies = 112 - RULE_product_name = 113 - RULE_product_reference = 114 - RULE_product_type = 115 - RULE_line_ending = 116 - RULE_xc_language_specification_identifier = 117 - RULE_plist_structure_definition_identifier = 118 - RULE_attributes = 119 - RULE_last_swift_migration = 120 - RULE_default_build_system_type_for_workspace = 121 - RULE_last_swift_update_check = 122 - RULE_build_targets_in_parallel = 123 - RULE_last_testing_upgrade_check = 124 - RULE_last_upgrade_check = 125 - RULE_organization_name = 126 - RULE_target_attributes = 127 - RULE_target_attribute = 128 - RULE_created_on_tools_version = 129 - RULE_test_target_id = 130 - RULE_development_team = 131 - RULE_development_team_name = 132 - RULE_provisioning_style = 133 - RULE_compatibility_version = 134 - RULE_development_region = 135 - RULE_has_scanned_for_encodings = 136 - RULE_known_regions = 137 - RULE_main_group = 138 - RULE_product_ref_group = 139 - RULE_package_references = 140 - RULE_project_dir_path = 141 - RULE_project_references = 142 - RULE_project_root = 143 - RULE_targets = 144 - RULE_input_file_list_paths = 145 - RULE_input_paths = 146 - RULE_output_file_list_paths = 147 - RULE_output_paths = 148 - RULE_shell_path = 149 - RULE_shell_script = 150 - RULE_show_env_vars_in_log = 151 - RULE_target = 152 - RULE_target_proxy = 153 - RULE_file_type = 154 - RULE_remote_ref = 155 - RULE_base_configuration_reference = 156 - RULE_build_settings = 157 - RULE_dst_path = 158 - RULE_dst_subfolder_spec = 159 - RULE_project_references_list = 160 - RULE_project_references_list_element = 161 - RULE_key_value = 162 - RULE_build_configurations = 163 - RULE_default_configuration_is_visible = 164 - RULE_default_configuration_name = 165 - RULE_settings = 166 - RULE_system_capabilities = 167 - RULE_current_version = 168 - RULE_version_group_type = 169 - RULE_class_prefix = 170 - RULE_any_string = 171 - RULE_str_number_variable = 172 - RULE_any_token = 173 + RULE_always_out_of_date = 73 + RULE_file_ref = 74 + RULE_product_ref = 75 + RULE_container_portal = 76 + RULE_proxy_type = 77 + RULE_remote_global_id_string = 78 + RULE_remote_info = 79 + RULE_file_encoding = 80 + RULE_comments = 81 + RULE_explicit_file_type = 82 + RULE_last_known_file_type = 83 + RULE_include_in_index = 84 + RULE_indent_width = 85 + RULE_tab_width = 86 + RULE_uses_tabs = 87 + RULE_wraps_lines = 88 + RULE_platform_filter = 89 + RULE_platform_filters = 90 + RULE_children = 91 + RULE_product_install_path = 92 + RULE_repository_url = 93 + RULE_requirement = 94 + RULE_xc_package = 95 + RULE_package_product_dependencies = 96 + RULE_name = 97 + RULE_path = 98 + RULE_source_tree = 99 + RULE_build_action_mask = 100 + RULE_files = 101 + RULE_run_only_for_deployment_postprocessing = 102 + RULE_reference_list = 103 + RULE_any_string_list = 104 + RULE_non_quoted_strings_list = 105 + RULE_build_configuration_list = 106 + RULE_build_phases = 107 + RULE_build_rules = 108 + RULE_build_arguments_string = 109 + RULE_build_tool_path = 110 + RULE_build_working_directory = 111 + RULE_pass_build_settings_in_environment = 112 + RULE_dependencies = 113 + RULE_product_name = 114 + RULE_product_reference = 115 + RULE_product_type = 116 + RULE_line_ending = 117 + RULE_xc_language_specification_identifier = 118 + RULE_plist_structure_definition_identifier = 119 + RULE_attributes = 120 + RULE_last_swift_migration = 121 + RULE_default_build_system_type_for_workspace = 122 + RULE_last_swift_update_check = 123 + RULE_build_targets_in_parallel = 124 + RULE_last_testing_upgrade_check = 125 + RULE_last_upgrade_check = 126 + RULE_organization_name = 127 + RULE_target_attributes = 128 + RULE_target_attribute = 129 + RULE_created_on_tools_version = 130 + RULE_test_target_id = 131 + RULE_development_team = 132 + RULE_development_team_name = 133 + RULE_provisioning_style = 134 + RULE_compatibility_version = 135 + RULE_development_region = 136 + RULE_has_scanned_for_encodings = 137 + RULE_known_regions = 138 + RULE_main_group = 139 + RULE_product_ref_group = 140 + RULE_package_references = 141 + RULE_project_dir_path = 142 + RULE_project_references = 143 + RULE_project_root = 144 + RULE_targets = 145 + RULE_input_file_list_paths = 146 + RULE_input_paths = 147 + RULE_output_file_list_paths = 148 + RULE_output_paths = 149 + RULE_shell_path = 150 + RULE_shell_script = 151 + RULE_show_env_vars_in_log = 152 + RULE_target = 153 + RULE_target_proxy = 154 + RULE_file_type = 155 + RULE_remote_ref = 156 + RULE_base_configuration_reference = 157 + RULE_build_settings = 158 + RULE_dst_path = 159 + RULE_dst_subfolder_spec = 160 + RULE_project_references_list = 161 + RULE_project_references_list_element = 162 + RULE_key_value = 163 + RULE_build_configurations = 164 + RULE_default_configuration_is_visible = 165 + RULE_default_configuration_name = 166 + RULE_settings = 167 + RULE_system_capabilities = 168 + RULE_current_version = 169 + RULE_version_group_type = 170 + RULE_class_prefix = 171 + RULE_any_string = 172 + RULE_str_number_variable = 173 + RULE_any_token = 174 ruleNames = [ "start", "root_element", "archive_version", "classes", "object_version", "objects", "root_object", "pbx_aggregate_target_section", @@ -936,13 +942,13 @@ class PBXProjParser ( Parser ): "isa_pbx_target_dependency", "isa_pbx_variant_group", "isa_xc_build_configuration", "isa_xc_configuration_list", "isa_xc_remote_swift_package_reference", "isa_xc_swift_package_product_dependency", - "isa_xc_version_group", "file_ref", "product_ref", "container_portal", - "proxy_type", "remote_global_id_string", "remote_info", - "file_encoding", "comments", "explicit_file_type", "last_known_file_type", - "include_in_index", "indent_width", "tab_width", "uses_tabs", - "wraps_lines", "platform_filter", "platform_filters", - "children", "product_install_path", "repository_url", - "requirement", "xc_package", "package_product_dependencies", + "isa_xc_version_group", "always_out_of_date", "file_ref", + "product_ref", "container_portal", "proxy_type", "remote_global_id_string", + "remote_info", "file_encoding", "comments", "explicit_file_type", + "last_known_file_type", "include_in_index", "indent_width", + "tab_width", "uses_tabs", "wraps_lines", "platform_filter", + "platform_filters", "children", "product_install_path", + "repository_url", "requirement", "xc_package", "package_product_dependencies", "name", "path", "source_tree", "build_action_mask", "files", "run_only_for_deployment_postprocessing", "reference_list", "any_string_list", "non_quoted_strings_list", "build_configuration_list", @@ -1011,108 +1017,109 @@ class PBXProjParser ( Parser ): XC_REMOTE_SWIFT_PACKAGE_REFERENCE=38 XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY=39 XC_VERSION_GROUP=40 - FILE_REF=41 - PRODUCT_REF=42 - CONTAINER_PORTAL=43 - PROXY_TYPE=44 - REMOTE_GLOBAL_ID_STRING=45 - REMOTE_INFO=46 - FILE_ENCODING=47 - COMMENTS=48 - EXPLICIT_FILE_TYPE=49 - LAST_KNOWN_FILE_TYPE=50 - INCLUDE_IN_INDEX=51 - INDENT_WIDTH=52 - TAB_WIDTH=53 - USES_TABS=54 - WRAPS_LINES=55 - PLATFORM_FILTER=56 - PLATFORM_FILTERS=57 - CHILDREN=58 - PRODUCT_INSTALL_PATH=59 - REPOSITORY_URL=60 - REQUIREMENT=61 - PACKAGE=62 - PACKAGE_PRODUCT_DEPENDENCIES=63 - NAME=64 - PATH=65 - SOURCE_TREE=66 - BUILD_ACTION_MASK=67 - FILES=68 - RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING=69 - BUILD_CONFIGURATION_LIST=70 - BUILD_PHASES=71 - BUILD_RULES=72 - BUILD_ARGUMENTS_STRING=73 - BUILD_TOOL_PATH=74 - BUILD_WORKING_DIRECTORY=75 - PASS_BUILD_SETTINGS_IN_ENVIRONMENT=76 - DEPENDENCIES=77 - PRODUCT_NAME=78 - PRODUCT_REFERENCE=79 - PRODUCT_TYPE=80 - LINE_ENDING=81 - XC_LANGUAGE_SPECIFICATION_IDENTIFIER=82 - PLIST_STRUCTURE_DEFINITION_IDENTIFIER=83 - ATTRIBUTES=84 - LAST_SWIFT_MIGRATION=85 - DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE=86 - LAST_SWIFT_UPDATE_CHECK=87 - BUILD_INDEPENDENT_TARGETS_IN_PARALLEL=88 - LAST_TESTING_UPGRADE_CHECK=89 - LAST_UPGRADE_CHECK=90 - ORGANIZATION_NAME=91 - TARGET_ATTRIBUTES=92 - CREATED_ON_TOOLS_VERSION=93 - TEST_TARGET_ID=94 - DEVELOPMENT_TEAM=95 - DEVELOPMENT_TEAM_NAME=96 - PROVISIONING_STYLE=97 - COMPATIBILITY_VERSION=98 - DEVELOPMENT_REGION=99 - HAS_SCANNED_FOR_ENCODINGS=100 - KNOWN_REGIONS=101 - MAIN_GROUP=102 - PRODUCT_REF_GROUP=103 - PACKAGE_REFERENCES=104 - PRODUCT_DIR_PATH=105 - PROJECT_REFERENCES=106 - PROJECT_ROOT=107 - TARGETS=108 - INPUT_FILE_LIST_PATHS=109 - INPUT_PATHS=110 - OUTPUT_FILE_LIST_PATHS=111 - OUTPUT_PATHS=112 - SHELL_PATH=113 - SHELL_SCRIPT=114 - SHOW_ENV_VARS_IN_LOG=115 - TARGET=116 - TARGET_PROXY=117 - FILE_TYPE=118 - REMOTE_REF=119 - BASE_CONFIGURATION_REFERENCE=120 - BUILD_SETTINGS=121 - DST_PATH=122 - DST_SUBFOLDER_SPEC=123 - PRODUCT_GROUP=124 - PROJECT_REF=125 - BUILD_CONFIGURATIONS=126 - DEFAULT_CONFIGURATION_IS_VISIBLE=127 - DEFAULT_CONFIGURATION_NAME=128 - SETTINGS=129 - SYSTEM_CAPABILITIES=130 - CURRENT_VERSION=131 - VERSION_GROUP_TYPE=132 - CLASSPREFIX=133 - REFERENCE=134 - QUOTED_STRING=135 - NON_QUOTED_STRING=136 - VARIABLE=137 - ALPHA_NUMERIC=138 - ALPHA_NUMERIC_CAP=139 - WS=140 - COMMENT=141 - LINE_COMMENT=142 + ALWAYS_OUT_OF_DATE=41 + FILE_REF=42 + PRODUCT_REF=43 + CONTAINER_PORTAL=44 + PROXY_TYPE=45 + REMOTE_GLOBAL_ID_STRING=46 + REMOTE_INFO=47 + FILE_ENCODING=48 + COMMENTS=49 + EXPLICIT_FILE_TYPE=50 + LAST_KNOWN_FILE_TYPE=51 + INCLUDE_IN_INDEX=52 + INDENT_WIDTH=53 + TAB_WIDTH=54 + USES_TABS=55 + WRAPS_LINES=56 + PLATFORM_FILTER=57 + PLATFORM_FILTERS=58 + CHILDREN=59 + PRODUCT_INSTALL_PATH=60 + REPOSITORY_URL=61 + REQUIREMENT=62 + PACKAGE=63 + PACKAGE_PRODUCT_DEPENDENCIES=64 + NAME=65 + PATH=66 + SOURCE_TREE=67 + BUILD_ACTION_MASK=68 + FILES=69 + RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING=70 + BUILD_CONFIGURATION_LIST=71 + BUILD_PHASES=72 + BUILD_RULES=73 + BUILD_ARGUMENTS_STRING=74 + BUILD_TOOL_PATH=75 + BUILD_WORKING_DIRECTORY=76 + PASS_BUILD_SETTINGS_IN_ENVIRONMENT=77 + DEPENDENCIES=78 + PRODUCT_NAME=79 + PRODUCT_REFERENCE=80 + PRODUCT_TYPE=81 + LINE_ENDING=82 + XC_LANGUAGE_SPECIFICATION_IDENTIFIER=83 + PLIST_STRUCTURE_DEFINITION_IDENTIFIER=84 + ATTRIBUTES=85 + LAST_SWIFT_MIGRATION=86 + DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE=87 + LAST_SWIFT_UPDATE_CHECK=88 + BUILD_INDEPENDENT_TARGETS_IN_PARALLEL=89 + LAST_TESTING_UPGRADE_CHECK=90 + LAST_UPGRADE_CHECK=91 + ORGANIZATION_NAME=92 + TARGET_ATTRIBUTES=93 + CREATED_ON_TOOLS_VERSION=94 + TEST_TARGET_ID=95 + DEVELOPMENT_TEAM=96 + DEVELOPMENT_TEAM_NAME=97 + PROVISIONING_STYLE=98 + COMPATIBILITY_VERSION=99 + DEVELOPMENT_REGION=100 + HAS_SCANNED_FOR_ENCODINGS=101 + KNOWN_REGIONS=102 + MAIN_GROUP=103 + PRODUCT_REF_GROUP=104 + PACKAGE_REFERENCES=105 + PRODUCT_DIR_PATH=106 + PROJECT_REFERENCES=107 + PROJECT_ROOT=108 + TARGETS=109 + INPUT_FILE_LIST_PATHS=110 + INPUT_PATHS=111 + OUTPUT_FILE_LIST_PATHS=112 + OUTPUT_PATHS=113 + SHELL_PATH=114 + SHELL_SCRIPT=115 + SHOW_ENV_VARS_IN_LOG=116 + TARGET=117 + TARGET_PROXY=118 + FILE_TYPE=119 + REMOTE_REF=120 + BASE_CONFIGURATION_REFERENCE=121 + BUILD_SETTINGS=122 + DST_PATH=123 + DST_SUBFOLDER_SPEC=124 + PRODUCT_GROUP=125 + PROJECT_REF=126 + BUILD_CONFIGURATIONS=127 + DEFAULT_CONFIGURATION_IS_VISIBLE=128 + DEFAULT_CONFIGURATION_NAME=129 + SETTINGS=130 + SYSTEM_CAPABILITIES=131 + CURRENT_VERSION=132 + VERSION_GROUP_TYPE=133 + CLASSPREFIX=134 + REFERENCE=135 + QUOTED_STRING=136 + NON_QUOTED_STRING=137 + VARIABLE=138 + ALPHA_NUMERIC=139 + ALPHA_NUMERIC_CAP=140 + WS=141 + COMMENT=142 + LINE_COMMENT=143 def __init__(self, input:TokenStream, output:TextIO = sys.stdout): super().__init__(input, output) @@ -1154,7 +1161,7 @@ def start(self): self.enterRule(localctx, 0, self.RULE_start) try: self.enterOuterAlt(localctx, 1) - self.state = 348 + self.state = 350 self.root_element() except RecognitionException as re: localctx.exception = re @@ -1212,19 +1219,19 @@ def root_element(self): self.enterRule(localctx, 2, self.RULE_root_element) try: self.enterOuterAlt(localctx, 1) - self.state = 350 + self.state = 352 self.match(PBXProjParser.T__0) - self.state = 351 + self.state = 353 self.archive_version() - self.state = 352 + self.state = 354 self.classes() - self.state = 353 + self.state = 355 self.object_version() - self.state = 354 + self.state = 356 self.objects() - self.state = 355 + self.state = 357 self.root_object() - self.state = 356 + self.state = 358 self.match(PBXProjParser.T__1) except RecognitionException as re: localctx.exception = re @@ -1268,13 +1275,13 @@ def archive_version(self): self.enterRule(localctx, 4, self.RULE_archive_version) try: self.enterOuterAlt(localctx, 1) - self.state = 358 + self.state = 360 self.match(PBXProjParser.ARCHIVE_VERSION) - self.state = 359 + self.state = 361 self.match(PBXProjParser.T__2) - self.state = 360 + self.state = 362 self.match(PBXProjParser.NUMBER) - self.state = 361 + self.state = 363 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -1315,15 +1322,15 @@ def classes(self): self.enterRule(localctx, 6, self.RULE_classes) try: self.enterOuterAlt(localctx, 1) - self.state = 363 + self.state = 365 self.match(PBXProjParser.CLASSES) - self.state = 364 + self.state = 366 self.match(PBXProjParser.T__2) - self.state = 365 + self.state = 367 self.match(PBXProjParser.T__0) - self.state = 366 + self.state = 368 self.match(PBXProjParser.T__1) - self.state = 367 + self.state = 369 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -1367,13 +1374,13 @@ def object_version(self): self.enterRule(localctx, 8, self.RULE_object_version) try: self.enterOuterAlt(localctx, 1) - self.state = 369 + self.state = 371 self.match(PBXProjParser.OBJECT_VERSION) - self.state = 370 + self.state = 372 self.match(PBXProjParser.T__2) - self.state = 371 + self.state = 373 self.match(PBXProjParser.NUMBER) - self.state = 372 + self.state = 374 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -1503,161 +1510,161 @@ def objects(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 374 + self.state = 376 self.match(PBXProjParser.OBJECTS) - self.state = 375 + self.state = 377 self.match(PBXProjParser.T__2) - self.state = 376 - self.match(PBXProjParser.T__0) self.state = 378 + self.match(PBXProjParser.T__0) + self.state = 380 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,0,self._ctx) if la_ == 1: - self.state = 377 + self.state = 379 self.pbx_aggregate_target_section() - self.state = 381 + self.state = 383 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,1,self._ctx) if la_ == 1: - self.state = 380 + self.state = 382 self.pbx_build_file_section() - self.state = 384 + self.state = 386 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,2,self._ctx) if la_ == 1: - self.state = 383 + self.state = 385 self.pbx_container_item_proxy_section() - self.state = 387 + self.state = 389 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,3,self._ctx) if la_ == 1: - self.state = 386 + self.state = 388 self.pbx_copy_files_build_phase_section() - self.state = 389 - self.pbx_file_reference_section() self.state = 391 + self.pbx_file_reference_section() + self.state = 393 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,4,self._ctx) if la_ == 1: - self.state = 390 + self.state = 392 self.pbx_frameworks_build_phase_section() - self.state = 393 - self.pbx_group_section() self.state = 395 + self.pbx_group_section() + self.state = 397 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,5,self._ctx) if la_ == 1: - self.state = 394 + self.state = 396 self.pbx_headers_build_phase_section() - self.state = 398 + self.state = 400 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,6,self._ctx) if la_ == 1: - self.state = 397 + self.state = 399 self.pbx_legacy_target_section() - self.state = 401 + self.state = 403 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,7,self._ctx) if la_ == 1: - self.state = 400 + self.state = 402 self.pbx_native_target_section() - self.state = 403 - self.pbx_project_section() self.state = 405 + self.pbx_project_section() + self.state = 407 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,8,self._ctx) if la_ == 1: - self.state = 404 + self.state = 406 self.pbx_reference_proxy_section() - self.state = 408 + self.state = 410 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,9,self._ctx) if la_ == 1: - self.state = 407 + self.state = 409 self.pbx_resources_build_phase_section() - self.state = 411 + self.state = 413 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,10,self._ctx) if la_ == 1: - self.state = 410 + self.state = 412 self.pbx_shell_script_build_phase_section() - self.state = 414 + self.state = 416 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,11,self._ctx) if la_ == 1: - self.state = 413 + self.state = 415 self.pbx_sources_build_phase_section() - self.state = 417 + self.state = 419 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,12,self._ctx) if la_ == 1: - self.state = 416 + self.state = 418 self.pbx_target_dependency_section() - self.state = 420 + self.state = 422 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,13,self._ctx) if la_ == 1: - self.state = 419 + self.state = 421 self.pbx_variant_group_section() - self.state = 422 + self.state = 424 self.xc_build_configuration_section() - self.state = 423 - self.xc_configuration_list_section() self.state = 425 + self.xc_configuration_list_section() + self.state = 427 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,14,self._ctx) if la_ == 1: - self.state = 424 + self.state = 426 self.xc_remote_swift_package_reference_section() - self.state = 428 + self.state = 430 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,15,self._ctx) if la_ == 1: - self.state = 427 + self.state = 429 self.xc_swift_package_product_dependency_section() - self.state = 431 + self.state = 433 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==134: - self.state = 430 + if _la==135: + self.state = 432 self.xc_version_group_section() - self.state = 433 + self.state = 435 self.match(PBXProjParser.T__1) - self.state = 434 + self.state = 436 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -1701,13 +1708,13 @@ def root_object(self): self.enterRule(localctx, 12, self.RULE_root_object) try: self.enterOuterAlt(localctx, 1) - self.state = 436 + self.state = 438 self.match(PBXProjParser.ROOT_OBJECT) - self.state = 437 + self.state = 439 self.match(PBXProjParser.T__2) - self.state = 438 + self.state = 440 self.match(PBXProjParser.REFERENCE) - self.state = 439 + self.state = 441 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -1752,17 +1759,17 @@ def pbx_aggregate_target_section(self): self.enterRule(localctx, 14, self.RULE_pbx_aggregate_target_section) try: self.enterOuterAlt(localctx, 1) - self.state = 442 + self.state = 444 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 441 + self.state = 443 self.pbx_aggregate_target() else: raise NoViableAltException(self) - self.state = 444 + self.state = 446 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,17,self._ctx) @@ -1809,17 +1816,17 @@ def pbx_build_file_section(self): self.enterRule(localctx, 16, self.RULE_pbx_build_file_section) try: self.enterOuterAlt(localctx, 1) - self.state = 447 + self.state = 449 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 446 + self.state = 448 self.pbx_build_file() else: raise NoViableAltException(self) - self.state = 449 + self.state = 451 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,18,self._ctx) @@ -1866,17 +1873,17 @@ def pbx_container_item_proxy_section(self): self.enterRule(localctx, 18, self.RULE_pbx_container_item_proxy_section) try: self.enterOuterAlt(localctx, 1) - self.state = 452 + self.state = 454 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 451 + self.state = 453 self.pbx_container_item_proxy() else: raise NoViableAltException(self) - self.state = 454 + self.state = 456 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,19,self._ctx) @@ -1923,17 +1930,17 @@ def pbx_copy_files_build_phase_section(self): self.enterRule(localctx, 20, self.RULE_pbx_copy_files_build_phase_section) try: self.enterOuterAlt(localctx, 1) - self.state = 457 + self.state = 459 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 456 + self.state = 458 self.pbx_copy_files_build_phase() else: raise NoViableAltException(self) - self.state = 459 + self.state = 461 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,20,self._ctx) @@ -1980,17 +1987,17 @@ def pbx_file_reference_section(self): self.enterRule(localctx, 22, self.RULE_pbx_file_reference_section) try: self.enterOuterAlt(localctx, 1) - self.state = 462 + self.state = 464 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 461 + self.state = 463 self.pbx_file_reference() else: raise NoViableAltException(self) - self.state = 464 + self.state = 466 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,21,self._ctx) @@ -2037,17 +2044,17 @@ def pbx_frameworks_build_phase_section(self): self.enterRule(localctx, 24, self.RULE_pbx_frameworks_build_phase_section) try: self.enterOuterAlt(localctx, 1) - self.state = 467 + self.state = 469 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 466 + self.state = 468 self.pbx_frameworks_build_phase() else: raise NoViableAltException(self) - self.state = 469 + self.state = 471 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,22,self._ctx) @@ -2094,17 +2101,17 @@ def pbx_group_section(self): self.enterRule(localctx, 26, self.RULE_pbx_group_section) try: self.enterOuterAlt(localctx, 1) - self.state = 472 + self.state = 474 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 471 + self.state = 473 self.pbx_group() else: raise NoViableAltException(self) - self.state = 474 + self.state = 476 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,23,self._ctx) @@ -2151,17 +2158,17 @@ def pbx_headers_build_phase_section(self): self.enterRule(localctx, 28, self.RULE_pbx_headers_build_phase_section) try: self.enterOuterAlt(localctx, 1) - self.state = 477 + self.state = 479 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 476 + self.state = 478 self.pbx_headers_build_phase() else: raise NoViableAltException(self) - self.state = 479 + self.state = 481 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,24,self._ctx) @@ -2208,17 +2215,17 @@ def pbx_native_target_section(self): self.enterRule(localctx, 30, self.RULE_pbx_native_target_section) try: self.enterOuterAlt(localctx, 1) - self.state = 482 + self.state = 484 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 481 + self.state = 483 self.pbx_native_target() else: raise NoViableAltException(self) - self.state = 484 + self.state = 486 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,25,self._ctx) @@ -2265,17 +2272,17 @@ def pbx_legacy_target_section(self): self.enterRule(localctx, 32, self.RULE_pbx_legacy_target_section) try: self.enterOuterAlt(localctx, 1) - self.state = 487 + self.state = 489 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 486 + self.state = 488 self.pbx_legacy_target() else: raise NoViableAltException(self) - self.state = 489 + self.state = 491 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,26,self._ctx) @@ -2322,17 +2329,17 @@ def pbx_project_section(self): self.enterRule(localctx, 34, self.RULE_pbx_project_section) try: self.enterOuterAlt(localctx, 1) - self.state = 492 + self.state = 494 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 491 + self.state = 493 self.pbx_project() else: raise NoViableAltException(self) - self.state = 494 + self.state = 496 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,27,self._ctx) @@ -2379,17 +2386,17 @@ def pbx_reference_proxy_section(self): self.enterRule(localctx, 36, self.RULE_pbx_reference_proxy_section) try: self.enterOuterAlt(localctx, 1) - self.state = 497 + self.state = 499 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 496 + self.state = 498 self.pbx_reference_proxy() else: raise NoViableAltException(self) - self.state = 499 + self.state = 501 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,28,self._ctx) @@ -2436,17 +2443,17 @@ def pbx_resources_build_phase_section(self): self.enterRule(localctx, 38, self.RULE_pbx_resources_build_phase_section) try: self.enterOuterAlt(localctx, 1) - self.state = 502 + self.state = 504 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 501 + self.state = 503 self.pbx_resources_build_phase() else: raise NoViableAltException(self) - self.state = 504 + self.state = 506 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,29,self._ctx) @@ -2493,17 +2500,17 @@ def pbx_shell_script_build_phase_section(self): self.enterRule(localctx, 40, self.RULE_pbx_shell_script_build_phase_section) try: self.enterOuterAlt(localctx, 1) - self.state = 507 + self.state = 509 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 506 + self.state = 508 self.pbx_shell_script_build_phase() else: raise NoViableAltException(self) - self.state = 509 + self.state = 511 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,30,self._ctx) @@ -2550,17 +2557,17 @@ def pbx_sources_build_phase_section(self): self.enterRule(localctx, 42, self.RULE_pbx_sources_build_phase_section) try: self.enterOuterAlt(localctx, 1) - self.state = 512 + self.state = 514 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 511 + self.state = 513 self.pbx_sources_build_phase() else: raise NoViableAltException(self) - self.state = 514 + self.state = 516 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,31,self._ctx) @@ -2607,17 +2614,17 @@ def pbx_target_dependency_section(self): self.enterRule(localctx, 44, self.RULE_pbx_target_dependency_section) try: self.enterOuterAlt(localctx, 1) - self.state = 517 + self.state = 519 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 516 + self.state = 518 self.pbx_target_dependency() else: raise NoViableAltException(self) - self.state = 519 + self.state = 521 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,32,self._ctx) @@ -2664,17 +2671,17 @@ def pbx_variant_group_section(self): self.enterRule(localctx, 46, self.RULE_pbx_variant_group_section) try: self.enterOuterAlt(localctx, 1) - self.state = 522 + self.state = 524 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 521 + self.state = 523 self.pbx_variant_group() else: raise NoViableAltException(self) - self.state = 524 + self.state = 526 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,33,self._ctx) @@ -2721,17 +2728,17 @@ def xc_build_configuration_section(self): self.enterRule(localctx, 48, self.RULE_xc_build_configuration_section) try: self.enterOuterAlt(localctx, 1) - self.state = 527 + self.state = 529 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 526 + self.state = 528 self.xc_build_configuration() else: raise NoViableAltException(self) - self.state = 529 + self.state = 531 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,34,self._ctx) @@ -2778,17 +2785,17 @@ def xc_configuration_list_section(self): self.enterRule(localctx, 50, self.RULE_xc_configuration_list_section) try: self.enterOuterAlt(localctx, 1) - self.state = 532 + self.state = 534 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 531 + self.state = 533 self.xc_configuration_list() else: raise NoViableAltException(self) - self.state = 534 + self.state = 536 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,35,self._ctx) @@ -2835,17 +2842,17 @@ def xc_remote_swift_package_reference_section(self): self.enterRule(localctx, 52, self.RULE_xc_remote_swift_package_reference_section) try: self.enterOuterAlt(localctx, 1) - self.state = 537 + self.state = 539 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 536 + self.state = 538 self.xc_remote_swift_package_reference() else: raise NoViableAltException(self) - self.state = 539 + self.state = 541 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,36,self._ctx) @@ -2892,17 +2899,17 @@ def xc_swift_package_product_dependency_section(self): self.enterRule(localctx, 54, self.RULE_xc_swift_package_product_dependency_section) try: self.enterOuterAlt(localctx, 1) - self.state = 542 + self.state = 544 self._errHandler.sync(self) _alt = 1 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt == 1: - self.state = 541 + self.state = 543 self.xc_swift_package_product_dependency() else: raise NoViableAltException(self) - self.state = 544 + self.state = 546 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,37,self._ctx) @@ -2950,16 +2957,16 @@ def xc_version_group_section(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 547 + self.state = 549 self._errHandler.sync(self) _la = self._input.LA(1) while True: - self.state = 546 + self.state = 548 self.xc_version_group() - self.state = 549 + self.state = 551 self._errHandler.sync(self) _la = self._input.LA(1) - if not (_la==134): + if not (_la==135): break except RecognitionException as re: @@ -3026,33 +3033,33 @@ def pbx_aggregate_target(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 551 + self.state = 553 self.match(PBXProjParser.REFERENCE) - self.state = 552 + self.state = 554 self.match(PBXProjParser.T__2) - self.state = 553 + self.state = 555 self.match(PBXProjParser.T__0) - self.state = 554 + self.state = 556 self.isa_pbx_aggregate_target() - self.state = 555 + self.state = 557 self.build_configuration_list() - self.state = 556 + self.state = 558 self.build_phases() - self.state = 557 + self.state = 559 self.dependencies() - self.state = 558 - self.name() self.state = 560 + self.name() + self.state = 562 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==78: - self.state = 559 + if _la==79: + self.state = 561 self.product_name() - self.state = 562 + self.state = 564 self.match(PBXProjParser.T__1) - self.state = 563 + self.state = 565 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3118,57 +3125,57 @@ def pbx_build_file(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 565 + self.state = 567 self.match(PBXProjParser.REFERENCE) - self.state = 566 + self.state = 568 self.match(PBXProjParser.T__2) - self.state = 567 + self.state = 569 self.match(PBXProjParser.T__0) - self.state = 568 - self.isa_pbx_build_file() self.state = 570 + self.isa_pbx_build_file() + self.state = 572 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==41: - self.state = 569 + if _la==42: + self.state = 571 self.file_ref() - self.state = 573 + self.state = 575 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==56: - self.state = 572 + if _la==57: + self.state = 574 self.platform_filter() - self.state = 576 + self.state = 578 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==57: - self.state = 575 + if _la==58: + self.state = 577 self.platform_filters() - self.state = 579 + self.state = 581 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==42: - self.state = 578 + if _la==43: + self.state = 580 self.product_ref() - self.state = 582 + self.state = 584 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==129: - self.state = 581 + if _la==130: + self.state = 583 self.settings() - self.state = 584 + self.state = 586 self.match(PBXProjParser.T__1) - self.state = 585 + self.state = 587 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3229,25 +3236,25 @@ def pbx_container_item_proxy(self): self.enterRule(localctx, 62, self.RULE_pbx_container_item_proxy) try: self.enterOuterAlt(localctx, 1) - self.state = 587 + self.state = 589 self.match(PBXProjParser.REFERENCE) - self.state = 588 + self.state = 590 self.match(PBXProjParser.T__2) - self.state = 589 + self.state = 591 self.match(PBXProjParser.T__0) - self.state = 590 + self.state = 592 self.isa_pbx_container_item_proxy() - self.state = 591 + self.state = 593 self.container_portal() - self.state = 592 + self.state = 594 self.proxy_type() - self.state = 593 + self.state = 595 self.remote_global_id_string() - self.state = 594 + self.state = 596 self.remote_info() - self.state = 595 + self.state = 597 self.match(PBXProjParser.T__1) - self.state = 596 + self.state = 598 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3317,35 +3324,35 @@ def pbx_copy_files_build_phase(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 598 + self.state = 600 self.match(PBXProjParser.REFERENCE) - self.state = 599 + self.state = 601 self.match(PBXProjParser.T__2) - self.state = 600 + self.state = 602 self.match(PBXProjParser.T__0) - self.state = 601 + self.state = 603 self.isa_pbx_copy_files_build_phase() - self.state = 602 + self.state = 604 self.build_action_mask() - self.state = 603 + self.state = 605 self.dst_path() - self.state = 604 + self.state = 606 self.dst_subfolder_spec() - self.state = 605 - self.files() self.state = 607 + self.files() + self.state = 609 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 606 + if _la==65: + self.state = 608 self.name() - self.state = 609 + self.state = 611 self.run_only_for_deployment_postprocessing() - self.state = 610 + self.state = 612 self.match(PBXProjParser.T__1) - self.state = 611 + self.state = 613 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3447,129 +3454,129 @@ def pbx_file_reference(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 613 + self.state = 615 self.match(PBXProjParser.REFERENCE) - self.state = 614 + self.state = 616 self.match(PBXProjParser.T__2) - self.state = 615 + self.state = 617 self.match(PBXProjParser.T__0) - self.state = 616 - self.isa_pbx_file_reference() self.state = 618 + self.isa_pbx_file_reference() + self.state = 620 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==48: - self.state = 617 + if _la==49: + self.state = 619 self.comments() - self.state = 621 + self.state = 623 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==49: - self.state = 620 + if _la==50: + self.state = 622 self.explicit_file_type() - self.state = 624 + self.state = 626 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==47: - self.state = 623 + if _la==48: + self.state = 625 self.file_encoding() - self.state = 627 + self.state = 629 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==51: - self.state = 626 + if _la==52: + self.state = 628 self.include_in_index() - self.state = 630 + self.state = 632 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==52: - self.state = 629 + if _la==53: + self.state = 631 self.indent_width() - self.state = 633 + self.state = 635 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==50: - self.state = 632 + if _la==51: + self.state = 634 self.last_known_file_type() - self.state = 636 + self.state = 638 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==81: - self.state = 635 + if _la==82: + self.state = 637 self.line_ending() - self.state = 639 + self.state = 641 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 638 + if _la==65: + self.state = 640 self.name() - self.state = 642 + self.state = 644 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==65: - self.state = 641 + if _la==66: + self.state = 643 self.path() - self.state = 645 + self.state = 647 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==83: - self.state = 644 + if _la==84: + self.state = 646 self.plist_structure_definition_identifier() - self.state = 648 + self.state = 650 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==66: - self.state = 647 + if _la==67: + self.state = 649 self.source_tree() - self.state = 651 + self.state = 653 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==53: - self.state = 650 + if _la==54: + self.state = 652 self.tab_width() - self.state = 654 + self.state = 656 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==82: - self.state = 653 + if _la==83: + self.state = 655 self.xc_language_specification_identifier() - self.state = 657 + self.state = 659 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==54: - self.state = 656 + if _la==55: + self.state = 658 self.uses_tabs() - self.state = 659 + self.state = 661 self.match(PBXProjParser.T__1) - self.state = 660 + self.state = 662 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3626,23 +3633,23 @@ def pbx_frameworks_build_phase(self): self.enterRule(localctx, 68, self.RULE_pbx_frameworks_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 662 + self.state = 664 self.match(PBXProjParser.REFERENCE) - self.state = 663 + self.state = 665 self.match(PBXProjParser.T__2) - self.state = 664 + self.state = 666 self.match(PBXProjParser.T__0) - self.state = 665 + self.state = 667 self.isa_pbx_frameworks_build_phase() - self.state = 666 + self.state = 668 self.build_action_mask() - self.state = 667 + self.state = 669 self.files() - self.state = 668 + self.state = 670 self.run_only_for_deployment_postprocessing() - self.state = 669 + self.state = 671 self.match(PBXProjParser.T__1) - self.state = 670 + self.state = 672 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3724,77 +3731,77 @@ def pbx_group(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 672 + self.state = 674 self.match(PBXProjParser.REFERENCE) - self.state = 673 + self.state = 675 self.match(PBXProjParser.T__2) - self.state = 674 + self.state = 676 self.match(PBXProjParser.T__0) - self.state = 675 + self.state = 677 self.isa_pbx_group() - self.state = 676 - self.children() self.state = 678 + self.children() + self.state = 680 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==52: - self.state = 677 + if _la==53: + self.state = 679 self.indent_width() - self.state = 681 + self.state = 683 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==51: - self.state = 680 + if _la==52: + self.state = 682 self.include_in_index() - self.state = 684 + self.state = 686 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 683 + if _la==65: + self.state = 685 self.name() - self.state = 687 + self.state = 689 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==65: - self.state = 686 + if _la==66: + self.state = 688 self.path() - self.state = 689 - self.source_tree() self.state = 691 + self.source_tree() + self.state = 693 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==53: - self.state = 690 + if _la==54: + self.state = 692 self.tab_width() - self.state = 694 + self.state = 696 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==54: - self.state = 693 + if _la==55: + self.state = 695 self.uses_tabs() - self.state = 697 + self.state = 699 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==55: - self.state = 696 + if _la==56: + self.state = 698 self.wraps_lines() - self.state = 699 + self.state = 701 self.match(PBXProjParser.T__1) - self.state = 700 + self.state = 702 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3851,23 +3858,23 @@ def pbx_headers_build_phase(self): self.enterRule(localctx, 72, self.RULE_pbx_headers_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 702 + self.state = 704 self.match(PBXProjParser.REFERENCE) - self.state = 703 + self.state = 705 self.match(PBXProjParser.T__2) - self.state = 704 + self.state = 706 self.match(PBXProjParser.T__0) - self.state = 705 + self.state = 707 self.isa_pbx_header_build_phase() - self.state = 706 + self.state = 708 self.build_action_mask() - self.state = 707 + self.state = 709 self.files() - self.state = 708 + self.state = 710 self.run_only_for_deployment_postprocessing() - self.state = 709 + self.state = 711 self.match(PBXProjParser.T__1) - self.state = 710 + self.state = 712 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -3953,49 +3960,49 @@ def pbx_native_target(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 712 + self.state = 714 self.match(PBXProjParser.REFERENCE) - self.state = 713 + self.state = 715 self.match(PBXProjParser.T__2) - self.state = 714 + self.state = 716 self.match(PBXProjParser.T__0) - self.state = 715 + self.state = 717 self.isa_pbx_native_target() - self.state = 716 + self.state = 718 self.build_configuration_list() - self.state = 717 + self.state = 719 self.build_phases() - self.state = 718 + self.state = 720 self.build_rules() - self.state = 719 + self.state = 721 self.dependencies() - self.state = 720 - self.name() self.state = 722 + self.name() + self.state = 724 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==59: - self.state = 721 + if _la==60: + self.state = 723 self.product_install_path() - self.state = 725 + self.state = 727 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==63: - self.state = 724 + if _la==64: + self.state = 726 self.package_product_dependencies() - self.state = 727 + self.state = 729 self.product_name() - self.state = 728 + self.state = 730 self.product_reference() - self.state = 729 + self.state = 731 self.product_type() - self.state = 730 + self.state = 732 self.match(PBXProjParser.T__1) - self.state = 731 + self.state = 733 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4076,35 +4083,35 @@ def pbx_legacy_target(self): self.enterRule(localctx, 76, self.RULE_pbx_legacy_target) try: self.enterOuterAlt(localctx, 1) - self.state = 733 + self.state = 735 self.match(PBXProjParser.REFERENCE) - self.state = 734 + self.state = 736 self.match(PBXProjParser.T__2) - self.state = 735 + self.state = 737 self.match(PBXProjParser.T__0) - self.state = 736 + self.state = 738 self.isa_pbx_legacy_target() - self.state = 737 + self.state = 739 self.build_arguments_string() - self.state = 738 + self.state = 740 self.build_configuration_list() - self.state = 739 + self.state = 741 self.build_phases() - self.state = 740 + self.state = 742 self.build_tool_path() - self.state = 741 + self.state = 743 self.build_working_directory() - self.state = 742 + self.state = 744 self.dependencies() - self.state = 743 + self.state = 745 self.name() - self.state = 744 + self.state = 746 self.pass_build_settings_in_environment() - self.state = 745 + self.state = 747 self.product_name() - self.state = 746 + self.state = 748 self.match(PBXProjParser.T__1) - self.state = 747 + self.state = 749 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4202,79 +4209,79 @@ def pbx_project(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 749 + self.state = 751 self.match(PBXProjParser.REFERENCE) - self.state = 750 + self.state = 752 self.match(PBXProjParser.T__2) - self.state = 751 + self.state = 753 self.match(PBXProjParser.T__0) - self.state = 752 - self.isa_pbx_project() self.state = 754 + self.isa_pbx_project() + self.state = 756 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==84: - self.state = 753 + if _la==85: + self.state = 755 self.attributes() - self.state = 756 + self.state = 758 self.build_configuration_list() - self.state = 757 - self.compatibility_version() self.state = 759 + self.compatibility_version() + self.state = 761 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==99: - self.state = 758 + if _la==100: + self.state = 760 self.development_region() - self.state = 761 - self.has_scanned_for_encodings() self.state = 763 + self.has_scanned_for_encodings() + self.state = 765 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==101: - self.state = 762 + if _la==102: + self.state = 764 self.known_regions() - self.state = 765 - self.main_group() self.state = 767 + self.main_group() + self.state = 769 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==104: - self.state = 766 + if _la==105: + self.state = 768 self.package_references() - self.state = 770 + self.state = 772 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==103: - self.state = 769 + if _la==104: + self.state = 771 self.product_ref_group() - self.state = 772 - self.project_dir_path() self.state = 774 + self.project_dir_path() + self.state = 776 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==106: - self.state = 773 + if _la==107: + self.state = 775 self.project_references() - self.state = 776 + self.state = 778 self.project_root() - self.state = 777 + self.state = 779 self.targets() - self.state = 778 + self.state = 780 self.match(PBXProjParser.T__1) - self.state = 779 + self.state = 781 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4340,33 +4347,33 @@ def pbx_reference_proxy(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 781 + self.state = 783 self.match(PBXProjParser.REFERENCE) - self.state = 782 + self.state = 784 self.match(PBXProjParser.T__2) - self.state = 783 + self.state = 785 self.match(PBXProjParser.T__0) - self.state = 784 + self.state = 786 self.isa_pbx_reference_proxy() - self.state = 785 - self.file_type() self.state = 787 + self.file_type() + self.state = 789 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 786 + if _la==65: + self.state = 788 self.name() - self.state = 789 + self.state = 791 self.path() - self.state = 790 + self.state = 792 self.remote_ref() - self.state = 791 + self.state = 793 self.source_tree() - self.state = 792 + self.state = 794 self.match(PBXProjParser.T__1) - self.state = 793 + self.state = 795 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4423,23 +4430,23 @@ def pbx_resources_build_phase(self): self.enterRule(localctx, 82, self.RULE_pbx_resources_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 795 + self.state = 797 self.match(PBXProjParser.REFERENCE) - self.state = 796 + self.state = 798 self.match(PBXProjParser.T__2) - self.state = 797 + self.state = 799 self.match(PBXProjParser.T__0) - self.state = 798 + self.state = 800 self.isa_pbx_resources_build_phase() - self.state = 799 + self.state = 801 self.build_action_mask() - self.state = 800 + self.state = 802 self.files() - self.state = 801 + self.state = 803 self.run_only_for_deployment_postprocessing() - self.state = 802 + self.state = 804 self.match(PBXProjParser.T__1) - self.state = 803 + self.state = 805 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4484,6 +4491,10 @@ def shell_script(self): return self.getTypedRuleContext(PBXProjParser.Shell_scriptContext,0) + def always_out_of_date(self): + return self.getTypedRuleContext(PBXProjParser.Always_out_of_dateContext,0) + + def input_file_list_paths(self): return self.getTypedRuleContext(PBXProjParser.Input_file_list_pathsContext,0) @@ -4529,75 +4540,83 @@ def pbx_shell_script_build_phase(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 805 - self.match(PBXProjParser.REFERENCE) - self.state = 806 - self.match(PBXProjParser.T__2) self.state = 807 - self.match(PBXProjParser.T__0) + self.match(PBXProjParser.REFERENCE) self.state = 808 - self.isa_pbx_shell_script_build_phase() + self.match(PBXProjParser.T__2) self.state = 809 - self.build_action_mask() + self.match(PBXProjParser.T__0) self.state = 810 - self.files() + self.isa_pbx_shell_script_build_phase() self.state = 812 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==109: + if _la==41: self.state = 811 - self.input_file_list_paths() + self.always_out_of_date() + self.state = 814 + self.build_action_mask() self.state = 815 + self.files() + self.state = 817 self._errHandler.sync(self) _la = self._input.LA(1) if _la==110: - self.state = 814 + self.state = 816 + self.input_file_list_paths() + + + self.state = 820 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==111: + self.state = 819 self.input_paths() - self.state = 818 + self.state = 823 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 817 + if _la==65: + self.state = 822 self.name() - self.state = 821 + self.state = 826 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==111: - self.state = 820 + if _la==112: + self.state = 825 self.output_file_list_paths() - self.state = 824 + self.state = 829 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==112: - self.state = 823 + if _la==113: + self.state = 828 self.output_paths() - self.state = 826 + self.state = 831 self.run_only_for_deployment_postprocessing() - self.state = 827 + self.state = 832 self.shell_path() - self.state = 828 + self.state = 833 self.shell_script() - self.state = 830 + self.state = 835 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==115: - self.state = 829 + if _la==116: + self.state = 834 self.show_env_vars_in_log() - self.state = 832 + self.state = 837 self.match(PBXProjParser.T__1) - self.state = 833 + self.state = 838 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4654,23 +4673,23 @@ def pbx_sources_build_phase(self): self.enterRule(localctx, 86, self.RULE_pbx_sources_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 835 + self.state = 840 self.match(PBXProjParser.REFERENCE) - self.state = 836 + self.state = 841 self.match(PBXProjParser.T__2) - self.state = 837 + self.state = 842 self.match(PBXProjParser.T__0) - self.state = 838 + self.state = 843 self.isa_pbx_sources_build_phase() - self.state = 839 + self.state = 844 self.build_action_mask() - self.state = 840 + self.state = 845 self.files() - self.state = 841 + self.state = 846 self.run_only_for_deployment_postprocessing() - self.state = 842 + self.state = 847 self.match(PBXProjParser.T__1) - self.state = 843 + self.state = 848 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4740,59 +4759,59 @@ def pbx_target_dependency(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 845 + self.state = 850 self.match(PBXProjParser.REFERENCE) - self.state = 846 + self.state = 851 self.match(PBXProjParser.T__2) - self.state = 847 + self.state = 852 self.match(PBXProjParser.T__0) - self.state = 848 + self.state = 853 self.isa_pbx_target_dependency() - self.state = 850 + self.state = 855 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 849 + if _la==65: + self.state = 854 self.name() - self.state = 853 + self.state = 858 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==56: - self.state = 852 + if _la==57: + self.state = 857 self.platform_filter() - self.state = 856 + self.state = 861 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==57: - self.state = 855 + if _la==58: + self.state = 860 self.platform_filters() - self.state = 859 + self.state = 864 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==42: - self.state = 858 + if _la==43: + self.state = 863 self.product_ref() - self.state = 862 + self.state = 867 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==116: - self.state = 861 + if _la==117: + self.state = 866 self.target() - self.state = 864 + self.state = 869 self.target_proxy() - self.state = 865 + self.state = 870 self.match(PBXProjParser.T__1) - self.state = 866 + self.state = 871 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4854,31 +4873,31 @@ def pbx_variant_group(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 868 + self.state = 873 self.match(PBXProjParser.REFERENCE) - self.state = 869 + self.state = 874 self.match(PBXProjParser.T__2) - self.state = 870 + self.state = 875 self.match(PBXProjParser.T__0) - self.state = 871 + self.state = 876 self.isa_pbx_variant_group() - self.state = 872 + self.state = 877 self.children() - self.state = 873 + self.state = 878 self.name() - self.state = 875 + self.state = 880 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==65: - self.state = 874 + if _la==66: + self.state = 879 self.path() - self.state = 877 + self.state = 882 self.source_tree() - self.state = 878 + self.state = 883 self.match(PBXProjParser.T__1) - self.state = 879 + self.state = 884 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -4936,29 +4955,29 @@ def xc_build_configuration(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 881 + self.state = 886 self.match(PBXProjParser.REFERENCE) - self.state = 882 + self.state = 887 self.match(PBXProjParser.T__2) - self.state = 883 + self.state = 888 self.match(PBXProjParser.T__0) - self.state = 884 + self.state = 889 self.isa_xc_build_configuration() - self.state = 886 + self.state = 891 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==120: - self.state = 885 + if _la==121: + self.state = 890 self.base_configuration_reference() - self.state = 888 + self.state = 893 self.build_settings() - self.state = 889 + self.state = 894 self.name() - self.state = 890 + self.state = 895 self.match(PBXProjParser.T__1) - self.state = 891 + self.state = 896 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5016,29 +5035,29 @@ def xc_configuration_list(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 893 + self.state = 898 self.match(PBXProjParser.REFERENCE) - self.state = 894 + self.state = 899 self.match(PBXProjParser.T__2) - self.state = 895 + self.state = 900 self.match(PBXProjParser.T__0) - self.state = 896 + self.state = 901 self.isa_xc_configuration_list() - self.state = 897 + self.state = 902 self.build_configurations() - self.state = 898 + self.state = 903 self.default_configuration_is_visible() - self.state = 900 + self.state = 905 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==128: - self.state = 899 + if _la==129: + self.state = 904 self.default_configuration_name() - self.state = 902 + self.state = 907 self.match(PBXProjParser.T__1) - self.state = 903 + self.state = 908 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5091,21 +5110,21 @@ def xc_remote_swift_package_reference(self): self.enterRule(localctx, 96, self.RULE_xc_remote_swift_package_reference) try: self.enterOuterAlt(localctx, 1) - self.state = 905 + self.state = 910 self.match(PBXProjParser.REFERENCE) - self.state = 906 + self.state = 911 self.match(PBXProjParser.T__2) - self.state = 907 + self.state = 912 self.match(PBXProjParser.T__0) - self.state = 908 + self.state = 913 self.isa_xc_remote_swift_package_reference() - self.state = 909 + self.state = 914 self.repository_url() - self.state = 910 + self.state = 915 self.requirement() - self.state = 911 + self.state = 916 self.match(PBXProjParser.T__1) - self.state = 912 + self.state = 917 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5159,27 +5178,27 @@ def xc_swift_package_product_dependency(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 914 + self.state = 919 self.match(PBXProjParser.REFERENCE) - self.state = 915 + self.state = 920 self.match(PBXProjParser.T__2) - self.state = 916 + self.state = 921 self.match(PBXProjParser.T__0) - self.state = 917 + self.state = 922 self.isa_xc_swift_package_product_dependency() - self.state = 919 + self.state = 924 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==62: - self.state = 918 + if _la==63: + self.state = 923 self.xc_package() - self.state = 921 + self.state = 926 self.product_name() - self.state = 922 + self.state = 927 self.match(PBXProjParser.T__1) - self.state = 923 + self.state = 928 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5249,35 +5268,35 @@ def xc_version_group(self): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 925 + self.state = 930 self.match(PBXProjParser.REFERENCE) - self.state = 926 + self.state = 931 self.match(PBXProjParser.T__2) - self.state = 927 + self.state = 932 self.match(PBXProjParser.T__0) - self.state = 928 + self.state = 933 self.isa_xc_version_group() - self.state = 929 + self.state = 934 self.children() - self.state = 930 + self.state = 935 self.current_version() - self.state = 932 + self.state = 937 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==64: - self.state = 931 + if _la==65: + self.state = 936 self.name() - self.state = 934 + self.state = 939 self.path() - self.state = 935 + self.state = 940 self.source_tree() - self.state = 936 + self.state = 941 self.version_group_type() - self.state = 937 + self.state = 942 self.match(PBXProjParser.T__1) - self.state = 938 + self.state = 943 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5321,13 +5340,13 @@ def isa_pbx_aggregate_target(self): self.enterRule(localctx, 102, self.RULE_isa_pbx_aggregate_target) try: self.enterOuterAlt(localctx, 1) - self.state = 940 + self.state = 945 self.match(PBXProjParser.ISA) - self.state = 941 + self.state = 946 self.match(PBXProjParser.T__2) - self.state = 942 + self.state = 947 self.match(PBXProjParser.PBX_AGGREGATE_TARGET) - self.state = 943 + self.state = 948 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5371,13 +5390,13 @@ def isa_pbx_build_file(self): self.enterRule(localctx, 104, self.RULE_isa_pbx_build_file) try: self.enterOuterAlt(localctx, 1) - self.state = 945 + self.state = 950 self.match(PBXProjParser.ISA) - self.state = 946 + self.state = 951 self.match(PBXProjParser.T__2) - self.state = 947 + self.state = 952 self.match(PBXProjParser.PBX_BUILD_FILE) - self.state = 948 + self.state = 953 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5421,13 +5440,13 @@ def isa_pbx_container_item_proxy(self): self.enterRule(localctx, 106, self.RULE_isa_pbx_container_item_proxy) try: self.enterOuterAlt(localctx, 1) - self.state = 950 + self.state = 955 self.match(PBXProjParser.ISA) - self.state = 951 + self.state = 956 self.match(PBXProjParser.T__2) - self.state = 952 + self.state = 957 self.match(PBXProjParser.PBX_CONTAINER_ITEM_PROXY) - self.state = 953 + self.state = 958 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5471,13 +5490,13 @@ def isa_pbx_copy_files_build_phase(self): self.enterRule(localctx, 108, self.RULE_isa_pbx_copy_files_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 955 + self.state = 960 self.match(PBXProjParser.ISA) - self.state = 956 + self.state = 961 self.match(PBXProjParser.T__2) - self.state = 957 + self.state = 962 self.match(PBXProjParser.PBX_COPY_FILES_BUILD_PHASE) - self.state = 958 + self.state = 963 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5521,13 +5540,13 @@ def isa_pbx_file_reference(self): self.enterRule(localctx, 110, self.RULE_isa_pbx_file_reference) try: self.enterOuterAlt(localctx, 1) - self.state = 960 + self.state = 965 self.match(PBXProjParser.ISA) - self.state = 961 + self.state = 966 self.match(PBXProjParser.T__2) - self.state = 962 + self.state = 967 self.match(PBXProjParser.PBX_FILE_REFERENCE) - self.state = 963 + self.state = 968 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5571,13 +5590,13 @@ def isa_pbx_frameworks_build_phase(self): self.enterRule(localctx, 112, self.RULE_isa_pbx_frameworks_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 965 + self.state = 970 self.match(PBXProjParser.ISA) - self.state = 966 + self.state = 971 self.match(PBXProjParser.T__2) - self.state = 967 + self.state = 972 self.match(PBXProjParser.PBX_FRAMEWORKS_BUILD_PHASE) - self.state = 968 + self.state = 973 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5621,13 +5640,13 @@ def isa_pbx_group(self): self.enterRule(localctx, 114, self.RULE_isa_pbx_group) try: self.enterOuterAlt(localctx, 1) - self.state = 970 + self.state = 975 self.match(PBXProjParser.ISA) - self.state = 971 + self.state = 976 self.match(PBXProjParser.T__2) - self.state = 972 + self.state = 977 self.match(PBXProjParser.PBX_GROUP) - self.state = 973 + self.state = 978 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5671,13 +5690,13 @@ def isa_pbx_header_build_phase(self): self.enterRule(localctx, 116, self.RULE_isa_pbx_header_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 975 + self.state = 980 self.match(PBXProjParser.ISA) - self.state = 976 + self.state = 981 self.match(PBXProjParser.T__2) - self.state = 977 + self.state = 982 self.match(PBXProjParser.PBX_HEADERS_BUILD_PHASE) - self.state = 978 + self.state = 983 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5721,13 +5740,13 @@ def isa_pbx_native_target(self): self.enterRule(localctx, 118, self.RULE_isa_pbx_native_target) try: self.enterOuterAlt(localctx, 1) - self.state = 980 + self.state = 985 self.match(PBXProjParser.ISA) - self.state = 981 + self.state = 986 self.match(PBXProjParser.T__2) - self.state = 982 + self.state = 987 self.match(PBXProjParser.PBX_NATIVE_TARGET) - self.state = 983 + self.state = 988 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5771,13 +5790,13 @@ def isa_pbx_legacy_target(self): self.enterRule(localctx, 120, self.RULE_isa_pbx_legacy_target) try: self.enterOuterAlt(localctx, 1) - self.state = 985 + self.state = 990 self.match(PBXProjParser.ISA) - self.state = 986 + self.state = 991 self.match(PBXProjParser.T__2) - self.state = 987 + self.state = 992 self.match(PBXProjParser.PBX_LEGACY_TARGET) - self.state = 988 + self.state = 993 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5821,13 +5840,13 @@ def isa_pbx_project(self): self.enterRule(localctx, 122, self.RULE_isa_pbx_project) try: self.enterOuterAlt(localctx, 1) - self.state = 990 + self.state = 995 self.match(PBXProjParser.ISA) - self.state = 991 + self.state = 996 self.match(PBXProjParser.T__2) - self.state = 992 + self.state = 997 self.match(PBXProjParser.PBX_PROJECT) - self.state = 993 + self.state = 998 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5871,13 +5890,13 @@ def isa_pbx_reference_proxy(self): self.enterRule(localctx, 124, self.RULE_isa_pbx_reference_proxy) try: self.enterOuterAlt(localctx, 1) - self.state = 995 + self.state = 1000 self.match(PBXProjParser.ISA) - self.state = 996 + self.state = 1001 self.match(PBXProjParser.T__2) - self.state = 997 + self.state = 1002 self.match(PBXProjParser.PBX_REFERENCE_PROXY) - self.state = 998 + self.state = 1003 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5921,13 +5940,13 @@ def isa_pbx_resources_build_phase(self): self.enterRule(localctx, 126, self.RULE_isa_pbx_resources_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 1000 + self.state = 1005 self.match(PBXProjParser.ISA) - self.state = 1001 + self.state = 1006 self.match(PBXProjParser.T__2) - self.state = 1002 + self.state = 1007 self.match(PBXProjParser.PBX_RESOURCES_BUILD_PHASE) - self.state = 1003 + self.state = 1008 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -5971,13 +5990,13 @@ def isa_pbx_shell_script_build_phase(self): self.enterRule(localctx, 128, self.RULE_isa_pbx_shell_script_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 1005 + self.state = 1010 self.match(PBXProjParser.ISA) - self.state = 1006 + self.state = 1011 self.match(PBXProjParser.T__2) - self.state = 1007 + self.state = 1012 self.match(PBXProjParser.PBX_SHELL_SCRIPT_BUILD_PHASE) - self.state = 1008 + self.state = 1013 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6021,13 +6040,13 @@ def isa_pbx_sources_build_phase(self): self.enterRule(localctx, 130, self.RULE_isa_pbx_sources_build_phase) try: self.enterOuterAlt(localctx, 1) - self.state = 1010 + self.state = 1015 self.match(PBXProjParser.ISA) - self.state = 1011 + self.state = 1016 self.match(PBXProjParser.T__2) - self.state = 1012 + self.state = 1017 self.match(PBXProjParser.PBX_SOURCES_BUILD_PHASE) - self.state = 1013 + self.state = 1018 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6071,13 +6090,13 @@ def isa_pbx_target_dependency(self): self.enterRule(localctx, 132, self.RULE_isa_pbx_target_dependency) try: self.enterOuterAlt(localctx, 1) - self.state = 1015 + self.state = 1020 self.match(PBXProjParser.ISA) - self.state = 1016 + self.state = 1021 self.match(PBXProjParser.T__2) - self.state = 1017 + self.state = 1022 self.match(PBXProjParser.PBX_TARGET_DEPENDENCY) - self.state = 1018 + self.state = 1023 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6121,13 +6140,13 @@ def isa_pbx_variant_group(self): self.enterRule(localctx, 134, self.RULE_isa_pbx_variant_group) try: self.enterOuterAlt(localctx, 1) - self.state = 1020 + self.state = 1025 self.match(PBXProjParser.ISA) - self.state = 1021 + self.state = 1026 self.match(PBXProjParser.T__2) - self.state = 1022 + self.state = 1027 self.match(PBXProjParser.PBX_VARIANT_GROUP) - self.state = 1023 + self.state = 1028 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6171,13 +6190,13 @@ def isa_xc_build_configuration(self): self.enterRule(localctx, 136, self.RULE_isa_xc_build_configuration) try: self.enterOuterAlt(localctx, 1) - self.state = 1025 + self.state = 1030 self.match(PBXProjParser.ISA) - self.state = 1026 + self.state = 1031 self.match(PBXProjParser.T__2) - self.state = 1027 + self.state = 1032 self.match(PBXProjParser.XC_BUILD_CONFIGURATION) - self.state = 1028 + self.state = 1033 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6221,13 +6240,13 @@ def isa_xc_configuration_list(self): self.enterRule(localctx, 138, self.RULE_isa_xc_configuration_list) try: self.enterOuterAlt(localctx, 1) - self.state = 1030 + self.state = 1035 self.match(PBXProjParser.ISA) - self.state = 1031 + self.state = 1036 self.match(PBXProjParser.T__2) - self.state = 1032 + self.state = 1037 self.match(PBXProjParser.XC_CONFIGURATION_LIST) - self.state = 1033 + self.state = 1038 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6271,13 +6290,13 @@ def isa_xc_remote_swift_package_reference(self): self.enterRule(localctx, 140, self.RULE_isa_xc_remote_swift_package_reference) try: self.enterOuterAlt(localctx, 1) - self.state = 1035 + self.state = 1040 self.match(PBXProjParser.ISA) - self.state = 1036 + self.state = 1041 self.match(PBXProjParser.T__2) - self.state = 1037 + self.state = 1042 self.match(PBXProjParser.XC_REMOTE_SWIFT_PACKAGE_REFERENCE) - self.state = 1038 + self.state = 1043 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6321,13 +6340,63 @@ def isa_xc_swift_package_product_dependency(self): self.enterRule(localctx, 142, self.RULE_isa_xc_swift_package_product_dependency) try: self.enterOuterAlt(localctx, 1) - self.state = 1040 + self.state = 1045 self.match(PBXProjParser.ISA) - self.state = 1041 + self.state = 1046 self.match(PBXProjParser.T__2) - self.state = 1042 + self.state = 1047 self.match(PBXProjParser.XC_SWIFT_PACKAGE_PRODUCT_DEPENDENCY) - self.state = 1043 + self.state = 1048 + self.match(PBXProjParser.T__3) + except RecognitionException as re: + localctx.exception = re + self._errHandler.reportError(self, re) + self._errHandler.recover(self, re) + finally: + self.exitRule() + return localctx + + + class Isa_xc_version_groupContext(ParserRuleContext): + __slots__ = 'parser' + + def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): + super().__init__(parent, invokingState) + self.parser = parser + + def ISA(self): + return self.getToken(PBXProjParser.ISA, 0) + + def XC_VERSION_GROUP(self): + return self.getToken(PBXProjParser.XC_VERSION_GROUP, 0) + + def getRuleIndex(self): + return PBXProjParser.RULE_isa_xc_version_group + + def enterRule(self, listener:ParseTreeListener): + if hasattr( listener, "enterIsa_xc_version_group" ): + listener.enterIsa_xc_version_group(self) + + def exitRule(self, listener:ParseTreeListener): + if hasattr( listener, "exitIsa_xc_version_group" ): + listener.exitIsa_xc_version_group(self) + + + + + def isa_xc_version_group(self): + + localctx = PBXProjParser.Isa_xc_version_groupContext(self, self._ctx, self.state) + self.enterRule(localctx, 144, self.RULE_isa_xc_version_group) + try: + self.enterOuterAlt(localctx, 1) + self.state = 1050 + self.match(PBXProjParser.ISA) + self.state = 1051 + self.match(PBXProjParser.T__2) + self.state = 1052 + self.match(PBXProjParser.XC_VERSION_GROUP) + self.state = 1053 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6338,46 +6407,46 @@ def isa_xc_swift_package_product_dependency(self): return localctx - class Isa_xc_version_groupContext(ParserRuleContext): + class Always_out_of_dateContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser - def ISA(self): - return self.getToken(PBXProjParser.ISA, 0) + def ALWAYS_OUT_OF_DATE(self): + return self.getToken(PBXProjParser.ALWAYS_OUT_OF_DATE, 0) - def XC_VERSION_GROUP(self): - return self.getToken(PBXProjParser.XC_VERSION_GROUP, 0) + def NUMBER(self): + return self.getToken(PBXProjParser.NUMBER, 0) def getRuleIndex(self): - return PBXProjParser.RULE_isa_xc_version_group + return PBXProjParser.RULE_always_out_of_date def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsa_xc_version_group" ): - listener.enterIsa_xc_version_group(self) + if hasattr( listener, "enterAlways_out_of_date" ): + listener.enterAlways_out_of_date(self) def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsa_xc_version_group" ): - listener.exitIsa_xc_version_group(self) + if hasattr( listener, "exitAlways_out_of_date" ): + listener.exitAlways_out_of_date(self) - def isa_xc_version_group(self): + def always_out_of_date(self): - localctx = PBXProjParser.Isa_xc_version_groupContext(self, self._ctx, self.state) - self.enterRule(localctx, 144, self.RULE_isa_xc_version_group) + localctx = PBXProjParser.Always_out_of_dateContext(self, self._ctx, self.state) + self.enterRule(localctx, 146, self.RULE_always_out_of_date) try: self.enterOuterAlt(localctx, 1) - self.state = 1045 - self.match(PBXProjParser.ISA) - self.state = 1046 + self.state = 1055 + self.match(PBXProjParser.ALWAYS_OUT_OF_DATE) + self.state = 1056 self.match(PBXProjParser.T__2) - self.state = 1047 - self.match(PBXProjParser.XC_VERSION_GROUP) - self.state = 1048 + self.state = 1057 + self.match(PBXProjParser.NUMBER) + self.state = 1058 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6418,16 +6487,16 @@ def exitRule(self, listener:ParseTreeListener): def file_ref(self): localctx = PBXProjParser.File_refContext(self, self._ctx, self.state) - self.enterRule(localctx, 146, self.RULE_file_ref) + self.enterRule(localctx, 148, self.RULE_file_ref) try: self.enterOuterAlt(localctx, 1) - self.state = 1050 + self.state = 1060 self.match(PBXProjParser.FILE_REF) - self.state = 1051 + self.state = 1061 self.match(PBXProjParser.T__2) - self.state = 1052 + self.state = 1062 self.match(PBXProjParser.REFERENCE) - self.state = 1053 + self.state = 1063 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6468,16 +6537,16 @@ def exitRule(self, listener:ParseTreeListener): def product_ref(self): localctx = PBXProjParser.Product_refContext(self, self._ctx, self.state) - self.enterRule(localctx, 148, self.RULE_product_ref) + self.enterRule(localctx, 150, self.RULE_product_ref) try: self.enterOuterAlt(localctx, 1) - self.state = 1055 + self.state = 1065 self.match(PBXProjParser.PRODUCT_REF) - self.state = 1056 + self.state = 1066 self.match(PBXProjParser.T__2) - self.state = 1057 + self.state = 1067 self.match(PBXProjParser.REFERENCE) - self.state = 1058 + self.state = 1068 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6518,16 +6587,16 @@ def exitRule(self, listener:ParseTreeListener): def container_portal(self): localctx = PBXProjParser.Container_portalContext(self, self._ctx, self.state) - self.enterRule(localctx, 150, self.RULE_container_portal) + self.enterRule(localctx, 152, self.RULE_container_portal) try: self.enterOuterAlt(localctx, 1) - self.state = 1060 + self.state = 1070 self.match(PBXProjParser.CONTAINER_PORTAL) - self.state = 1061 + self.state = 1071 self.match(PBXProjParser.T__2) - self.state = 1062 + self.state = 1072 self.match(PBXProjParser.REFERENCE) - self.state = 1063 + self.state = 1073 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6568,16 +6637,16 @@ def exitRule(self, listener:ParseTreeListener): def proxy_type(self): localctx = PBXProjParser.Proxy_typeContext(self, self._ctx, self.state) - self.enterRule(localctx, 152, self.RULE_proxy_type) + self.enterRule(localctx, 154, self.RULE_proxy_type) try: self.enterOuterAlt(localctx, 1) - self.state = 1065 + self.state = 1075 self.match(PBXProjParser.PROXY_TYPE) - self.state = 1066 + self.state = 1076 self.match(PBXProjParser.T__2) - self.state = 1067 + self.state = 1077 self.match(PBXProjParser.NUMBER) - self.state = 1068 + self.state = 1078 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6618,16 +6687,16 @@ def exitRule(self, listener:ParseTreeListener): def remote_global_id_string(self): localctx = PBXProjParser.Remote_global_id_stringContext(self, self._ctx, self.state) - self.enterRule(localctx, 154, self.RULE_remote_global_id_string) + self.enterRule(localctx, 156, self.RULE_remote_global_id_string) try: self.enterOuterAlt(localctx, 1) - self.state = 1070 + self.state = 1080 self.match(PBXProjParser.REMOTE_GLOBAL_ID_STRING) - self.state = 1071 + self.state = 1081 self.match(PBXProjParser.T__2) - self.state = 1072 + self.state = 1082 self.match(PBXProjParser.REFERENCE) - self.state = 1073 + self.state = 1083 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6669,16 +6738,16 @@ def exitRule(self, listener:ParseTreeListener): def remote_info(self): localctx = PBXProjParser.Remote_infoContext(self, self._ctx, self.state) - self.enterRule(localctx, 156, self.RULE_remote_info) + self.enterRule(localctx, 158, self.RULE_remote_info) try: self.enterOuterAlt(localctx, 1) - self.state = 1075 + self.state = 1085 self.match(PBXProjParser.REMOTE_INFO) - self.state = 1076 + self.state = 1086 self.match(PBXProjParser.T__2) - self.state = 1077 + self.state = 1087 self.str_number_variable() - self.state = 1078 + self.state = 1088 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6719,16 +6788,16 @@ def exitRule(self, listener:ParseTreeListener): def file_encoding(self): localctx = PBXProjParser.File_encodingContext(self, self._ctx, self.state) - self.enterRule(localctx, 158, self.RULE_file_encoding) + self.enterRule(localctx, 160, self.RULE_file_encoding) try: self.enterOuterAlt(localctx, 1) - self.state = 1080 + self.state = 1090 self.match(PBXProjParser.FILE_ENCODING) - self.state = 1081 + self.state = 1091 self.match(PBXProjParser.T__2) - self.state = 1082 + self.state = 1092 self.match(PBXProjParser.NUMBER) - self.state = 1083 + self.state = 1093 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6770,16 +6839,16 @@ def exitRule(self, listener:ParseTreeListener): def comments(self): localctx = PBXProjParser.CommentsContext(self, self._ctx, self.state) - self.enterRule(localctx, 160, self.RULE_comments) + self.enterRule(localctx, 162, self.RULE_comments) try: self.enterOuterAlt(localctx, 1) - self.state = 1085 + self.state = 1095 self.match(PBXProjParser.COMMENTS) - self.state = 1086 + self.state = 1096 self.match(PBXProjParser.T__2) - self.state = 1087 + self.state = 1097 self.str_number_variable() - self.state = 1088 + self.state = 1098 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6821,16 +6890,16 @@ def exitRule(self, listener:ParseTreeListener): def explicit_file_type(self): localctx = PBXProjParser.Explicit_file_typeContext(self, self._ctx, self.state) - self.enterRule(localctx, 162, self.RULE_explicit_file_type) + self.enterRule(localctx, 164, self.RULE_explicit_file_type) try: self.enterOuterAlt(localctx, 1) - self.state = 1090 + self.state = 1100 self.match(PBXProjParser.EXPLICIT_FILE_TYPE) - self.state = 1091 + self.state = 1101 self.match(PBXProjParser.T__2) - self.state = 1092 + self.state = 1102 self.str_number_variable() - self.state = 1093 + self.state = 1103 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6872,16 +6941,16 @@ def exitRule(self, listener:ParseTreeListener): def last_known_file_type(self): localctx = PBXProjParser.Last_known_file_typeContext(self, self._ctx, self.state) - self.enterRule(localctx, 164, self.RULE_last_known_file_type) + self.enterRule(localctx, 166, self.RULE_last_known_file_type) try: self.enterOuterAlt(localctx, 1) - self.state = 1095 + self.state = 1105 self.match(PBXProjParser.LAST_KNOWN_FILE_TYPE) - self.state = 1096 + self.state = 1106 self.match(PBXProjParser.T__2) - self.state = 1097 + self.state = 1107 self.str_number_variable() - self.state = 1098 + self.state = 1108 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6922,16 +6991,16 @@ def exitRule(self, listener:ParseTreeListener): def include_in_index(self): localctx = PBXProjParser.Include_in_indexContext(self, self._ctx, self.state) - self.enterRule(localctx, 166, self.RULE_include_in_index) + self.enterRule(localctx, 168, self.RULE_include_in_index) try: self.enterOuterAlt(localctx, 1) - self.state = 1100 + self.state = 1110 self.match(PBXProjParser.INCLUDE_IN_INDEX) - self.state = 1101 + self.state = 1111 self.match(PBXProjParser.T__2) - self.state = 1102 + self.state = 1112 self.match(PBXProjParser.NUMBER) - self.state = 1103 + self.state = 1113 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -6972,16 +7041,16 @@ def exitRule(self, listener:ParseTreeListener): def indent_width(self): localctx = PBXProjParser.Indent_widthContext(self, self._ctx, self.state) - self.enterRule(localctx, 168, self.RULE_indent_width) + self.enterRule(localctx, 170, self.RULE_indent_width) try: self.enterOuterAlt(localctx, 1) - self.state = 1105 + self.state = 1115 self.match(PBXProjParser.INDENT_WIDTH) - self.state = 1106 + self.state = 1116 self.match(PBXProjParser.T__2) - self.state = 1107 + self.state = 1117 self.match(PBXProjParser.NUMBER) - self.state = 1108 + self.state = 1118 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7022,16 +7091,16 @@ def exitRule(self, listener:ParseTreeListener): def tab_width(self): localctx = PBXProjParser.Tab_widthContext(self, self._ctx, self.state) - self.enterRule(localctx, 170, self.RULE_tab_width) + self.enterRule(localctx, 172, self.RULE_tab_width) try: self.enterOuterAlt(localctx, 1) - self.state = 1110 + self.state = 1120 self.match(PBXProjParser.TAB_WIDTH) - self.state = 1111 + self.state = 1121 self.match(PBXProjParser.T__2) - self.state = 1112 + self.state = 1122 self.match(PBXProjParser.NUMBER) - self.state = 1113 + self.state = 1123 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7072,16 +7141,16 @@ def exitRule(self, listener:ParseTreeListener): def uses_tabs(self): localctx = PBXProjParser.Uses_tabsContext(self, self._ctx, self.state) - self.enterRule(localctx, 172, self.RULE_uses_tabs) + self.enterRule(localctx, 174, self.RULE_uses_tabs) try: self.enterOuterAlt(localctx, 1) - self.state = 1115 + self.state = 1125 self.match(PBXProjParser.USES_TABS) - self.state = 1116 + self.state = 1126 self.match(PBXProjParser.T__2) - self.state = 1117 + self.state = 1127 self.match(PBXProjParser.NUMBER) - self.state = 1118 + self.state = 1128 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7122,16 +7191,16 @@ def exitRule(self, listener:ParseTreeListener): def wraps_lines(self): localctx = PBXProjParser.Wraps_linesContext(self, self._ctx, self.state) - self.enterRule(localctx, 174, self.RULE_wraps_lines) + self.enterRule(localctx, 176, self.RULE_wraps_lines) try: self.enterOuterAlt(localctx, 1) - self.state = 1120 + self.state = 1130 self.match(PBXProjParser.WRAPS_LINES) - self.state = 1121 + self.state = 1131 self.match(PBXProjParser.T__2) - self.state = 1122 + self.state = 1132 self.match(PBXProjParser.NUMBER) - self.state = 1123 + self.state = 1133 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7173,16 +7242,16 @@ def exitRule(self, listener:ParseTreeListener): def platform_filter(self): localctx = PBXProjParser.Platform_filterContext(self, self._ctx, self.state) - self.enterRule(localctx, 176, self.RULE_platform_filter) + self.enterRule(localctx, 178, self.RULE_platform_filter) try: self.enterOuterAlt(localctx, 1) - self.state = 1125 + self.state = 1135 self.match(PBXProjParser.PLATFORM_FILTER) - self.state = 1126 + self.state = 1136 self.match(PBXProjParser.T__2) - self.state = 1127 + self.state = 1137 self.any_string() - self.state = 1128 + self.state = 1138 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7224,16 +7293,16 @@ def exitRule(self, listener:ParseTreeListener): def platform_filters(self): localctx = PBXProjParser.Platform_filtersContext(self, self._ctx, self.state) - self.enterRule(localctx, 178, self.RULE_platform_filters) + self.enterRule(localctx, 180, self.RULE_platform_filters) try: self.enterOuterAlt(localctx, 1) - self.state = 1130 + self.state = 1140 self.match(PBXProjParser.PLATFORM_FILTERS) - self.state = 1131 + self.state = 1141 self.match(PBXProjParser.T__2) - self.state = 1132 + self.state = 1142 self.any_string_list() - self.state = 1133 + self.state = 1143 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7275,16 +7344,16 @@ def exitRule(self, listener:ParseTreeListener): def children(self): localctx = PBXProjParser.ChildrenContext(self, self._ctx, self.state) - self.enterRule(localctx, 180, self.RULE_children) + self.enterRule(localctx, 182, self.RULE_children) try: self.enterOuterAlt(localctx, 1) - self.state = 1135 + self.state = 1145 self.match(PBXProjParser.CHILDREN) - self.state = 1136 + self.state = 1146 self.match(PBXProjParser.T__2) - self.state = 1137 + self.state = 1147 self.reference_list() - self.state = 1138 + self.state = 1148 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7325,16 +7394,16 @@ def exitRule(self, listener:ParseTreeListener): def product_install_path(self): localctx = PBXProjParser.Product_install_pathContext(self, self._ctx, self.state) - self.enterRule(localctx, 182, self.RULE_product_install_path) + self.enterRule(localctx, 184, self.RULE_product_install_path) try: self.enterOuterAlt(localctx, 1) - self.state = 1140 + self.state = 1150 self.match(PBXProjParser.PRODUCT_INSTALL_PATH) - self.state = 1141 + self.state = 1151 self.match(PBXProjParser.T__2) - self.state = 1142 + self.state = 1152 self.match(PBXProjParser.QUOTED_STRING) - self.state = 1143 + self.state = 1153 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7375,16 +7444,16 @@ def exitRule(self, listener:ParseTreeListener): def repository_url(self): localctx = PBXProjParser.Repository_urlContext(self, self._ctx, self.state) - self.enterRule(localctx, 184, self.RULE_repository_url) + self.enterRule(localctx, 186, self.RULE_repository_url) try: self.enterOuterAlt(localctx, 1) - self.state = 1145 + self.state = 1155 self.match(PBXProjParser.REPOSITORY_URL) - self.state = 1146 + self.state = 1156 self.match(PBXProjParser.T__2) - self.state = 1147 + self.state = 1157 self.match(PBXProjParser.QUOTED_STRING) - self.state = 1148 + self.state = 1158 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7429,29 +7498,29 @@ def exitRule(self, listener:ParseTreeListener): def requirement(self): localctx = PBXProjParser.RequirementContext(self, self._ctx, self.state) - self.enterRule(localctx, 186, self.RULE_requirement) + self.enterRule(localctx, 188, self.RULE_requirement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1150 + self.state = 1160 self.match(PBXProjParser.REQUIREMENT) - self.state = 1151 + self.state = 1161 self.match(PBXProjParser.T__2) - self.state = 1152 + self.state = 1162 self.match(PBXProjParser.T__0) - self.state = 1156 + self.state = 1166 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & -101059840) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 959) != 0): - self.state = 1153 + while (((_la) & ~0x3f) == 0 and ((1 << _la) & -2199124315392) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 1919) != 0): + self.state = 1163 self.key_value() - self.state = 1158 + self.state = 1168 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1159 + self.state = 1169 self.match(PBXProjParser.T__1) - self.state = 1160 + self.state = 1170 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7492,16 +7561,16 @@ def exitRule(self, listener:ParseTreeListener): def xc_package(self): localctx = PBXProjParser.Xc_packageContext(self, self._ctx, self.state) - self.enterRule(localctx, 188, self.RULE_xc_package) + self.enterRule(localctx, 190, self.RULE_xc_package) try: self.enterOuterAlt(localctx, 1) - self.state = 1162 + self.state = 1172 self.match(PBXProjParser.PACKAGE) - self.state = 1163 + self.state = 1173 self.match(PBXProjParser.T__2) - self.state = 1164 + self.state = 1174 self.match(PBXProjParser.REFERENCE) - self.state = 1165 + self.state = 1175 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7543,16 +7612,16 @@ def exitRule(self, listener:ParseTreeListener): def package_product_dependencies(self): localctx = PBXProjParser.Package_product_dependenciesContext(self, self._ctx, self.state) - self.enterRule(localctx, 190, self.RULE_package_product_dependencies) + self.enterRule(localctx, 192, self.RULE_package_product_dependencies) try: self.enterOuterAlt(localctx, 1) - self.state = 1167 + self.state = 1177 self.match(PBXProjParser.PACKAGE_PRODUCT_DEPENDENCIES) - self.state = 1168 + self.state = 1178 self.match(PBXProjParser.T__2) - self.state = 1169 + self.state = 1179 self.reference_list() - self.state = 1170 + self.state = 1180 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7594,16 +7663,16 @@ def exitRule(self, listener:ParseTreeListener): def name(self): localctx = PBXProjParser.NameContext(self, self._ctx, self.state) - self.enterRule(localctx, 192, self.RULE_name) + self.enterRule(localctx, 194, self.RULE_name) try: self.enterOuterAlt(localctx, 1) - self.state = 1172 + self.state = 1182 self.match(PBXProjParser.NAME) - self.state = 1173 + self.state = 1183 self.match(PBXProjParser.T__2) - self.state = 1174 + self.state = 1184 self.any_string() - self.state = 1175 + self.state = 1185 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7645,16 +7714,16 @@ def exitRule(self, listener:ParseTreeListener): def path(self): localctx = PBXProjParser.PathContext(self, self._ctx, self.state) - self.enterRule(localctx, 194, self.RULE_path) + self.enterRule(localctx, 196, self.RULE_path) try: self.enterOuterAlt(localctx, 1) - self.state = 1177 + self.state = 1187 self.match(PBXProjParser.PATH) - self.state = 1178 + self.state = 1188 self.match(PBXProjParser.T__2) - self.state = 1179 + self.state = 1189 self.any_string() - self.state = 1180 + self.state = 1190 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7696,16 +7765,16 @@ def exitRule(self, listener:ParseTreeListener): def source_tree(self): localctx = PBXProjParser.Source_treeContext(self, self._ctx, self.state) - self.enterRule(localctx, 196, self.RULE_source_tree) + self.enterRule(localctx, 198, self.RULE_source_tree) try: self.enterOuterAlt(localctx, 1) - self.state = 1182 + self.state = 1192 self.match(PBXProjParser.SOURCE_TREE) - self.state = 1183 + self.state = 1193 self.match(PBXProjParser.T__2) - self.state = 1184 + self.state = 1194 self.any_string() - self.state = 1185 + self.state = 1195 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7746,16 +7815,16 @@ def exitRule(self, listener:ParseTreeListener): def build_action_mask(self): localctx = PBXProjParser.Build_action_maskContext(self, self._ctx, self.state) - self.enterRule(localctx, 198, self.RULE_build_action_mask) + self.enterRule(localctx, 200, self.RULE_build_action_mask) try: self.enterOuterAlt(localctx, 1) - self.state = 1187 + self.state = 1197 self.match(PBXProjParser.BUILD_ACTION_MASK) - self.state = 1188 + self.state = 1198 self.match(PBXProjParser.T__2) - self.state = 1189 + self.state = 1199 self.match(PBXProjParser.NUMBER) - self.state = 1190 + self.state = 1200 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7797,16 +7866,16 @@ def exitRule(self, listener:ParseTreeListener): def files(self): localctx = PBXProjParser.FilesContext(self, self._ctx, self.state) - self.enterRule(localctx, 200, self.RULE_files) + self.enterRule(localctx, 202, self.RULE_files) try: self.enterOuterAlt(localctx, 1) - self.state = 1192 + self.state = 1202 self.match(PBXProjParser.FILES) - self.state = 1193 + self.state = 1203 self.match(PBXProjParser.T__2) - self.state = 1194 + self.state = 1204 self.reference_list() - self.state = 1195 + self.state = 1205 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7847,16 +7916,16 @@ def exitRule(self, listener:ParseTreeListener): def run_only_for_deployment_postprocessing(self): localctx = PBXProjParser.Run_only_for_deployment_postprocessingContext(self, self._ctx, self.state) - self.enterRule(localctx, 202, self.RULE_run_only_for_deployment_postprocessing) + self.enterRule(localctx, 204, self.RULE_run_only_for_deployment_postprocessing) try: self.enterOuterAlt(localctx, 1) - self.state = 1197 + self.state = 1207 self.match(PBXProjParser.RUN_ONLY_FOR_DEPLOYMENT_POSTPROCESSING) - self.state = 1198 + self.state = 1208 self.match(PBXProjParser.T__2) - self.state = 1199 + self.state = 1209 self.match(PBXProjParser.NUMBER) - self.state = 1200 + self.state = 1210 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -7897,25 +7966,25 @@ def exitRule(self, listener:ParseTreeListener): def reference_list(self): localctx = PBXProjParser.Reference_listContext(self, self._ctx, self.state) - self.enterRule(localctx, 204, self.RULE_reference_list) + self.enterRule(localctx, 206, self.RULE_reference_list) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1202 + self.state = 1212 self.match(PBXProjParser.T__4) - self.state = 1207 + self.state = 1217 self._errHandler.sync(self) _la = self._input.LA(1) - while _la==134: - self.state = 1203 + while _la==135: + self.state = 1213 self.match(PBXProjParser.REFERENCE) - self.state = 1204 + self.state = 1214 self.match(PBXProjParser.T__5) - self.state = 1209 + self.state = 1219 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1210 + self.state = 1220 self.match(PBXProjParser.T__6) except RecognitionException as re: localctx.exception = re @@ -7957,25 +8026,25 @@ def exitRule(self, listener:ParseTreeListener): def any_string_list(self): localctx = PBXProjParser.Any_string_listContext(self, self._ctx, self.state) - self.enterRule(localctx, 206, self.RULE_any_string_list) + self.enterRule(localctx, 208, self.RULE_any_string_list) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1212 + self.state = 1222 self.match(PBXProjParser.T__4) - self.state = 1218 + self.state = 1228 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & -101059840) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 959) != 0): - self.state = 1213 + while (((_la) & ~0x3f) == 0 and ((1 << _la) & -2199124315392) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 1919) != 0): + self.state = 1223 self.str_number_variable() - self.state = 1214 + self.state = 1224 self.match(PBXProjParser.T__5) - self.state = 1220 + self.state = 1230 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1221 + self.state = 1231 self.match(PBXProjParser.T__6) except RecognitionException as re: localctx.exception = re @@ -8016,25 +8085,25 @@ def exitRule(self, listener:ParseTreeListener): def non_quoted_strings_list(self): localctx = PBXProjParser.Non_quoted_strings_listContext(self, self._ctx, self.state) - self.enterRule(localctx, 208, self.RULE_non_quoted_strings_list) + self.enterRule(localctx, 210, self.RULE_non_quoted_strings_list) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1223 + self.state = 1233 self.match(PBXProjParser.T__4) - self.state = 1228 + self.state = 1238 self._errHandler.sync(self) _la = self._input.LA(1) - while _la==136: - self.state = 1224 + while _la==137: + self.state = 1234 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1225 + self.state = 1235 self.match(PBXProjParser.T__5) - self.state = 1230 + self.state = 1240 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1231 + self.state = 1241 self.match(PBXProjParser.T__6) except RecognitionException as re: localctx.exception = re @@ -8075,16 +8144,16 @@ def exitRule(self, listener:ParseTreeListener): def build_configuration_list(self): localctx = PBXProjParser.Build_configuration_listContext(self, self._ctx, self.state) - self.enterRule(localctx, 210, self.RULE_build_configuration_list) + self.enterRule(localctx, 212, self.RULE_build_configuration_list) try: self.enterOuterAlt(localctx, 1) - self.state = 1233 + self.state = 1243 self.match(PBXProjParser.BUILD_CONFIGURATION_LIST) - self.state = 1234 + self.state = 1244 self.match(PBXProjParser.T__2) - self.state = 1235 + self.state = 1245 self.match(PBXProjParser.REFERENCE) - self.state = 1236 + self.state = 1246 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8126,16 +8195,16 @@ def exitRule(self, listener:ParseTreeListener): def build_phases(self): localctx = PBXProjParser.Build_phasesContext(self, self._ctx, self.state) - self.enterRule(localctx, 212, self.RULE_build_phases) + self.enterRule(localctx, 214, self.RULE_build_phases) try: self.enterOuterAlt(localctx, 1) - self.state = 1238 + self.state = 1248 self.match(PBXProjParser.BUILD_PHASES) - self.state = 1239 + self.state = 1249 self.match(PBXProjParser.T__2) - self.state = 1240 + self.state = 1250 self.reference_list() - self.state = 1241 + self.state = 1251 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8177,16 +8246,16 @@ def exitRule(self, listener:ParseTreeListener): def build_rules(self): localctx = PBXProjParser.Build_rulesContext(self, self._ctx, self.state) - self.enterRule(localctx, 214, self.RULE_build_rules) + self.enterRule(localctx, 216, self.RULE_build_rules) try: self.enterOuterAlt(localctx, 1) - self.state = 1243 + self.state = 1253 self.match(PBXProjParser.BUILD_RULES) - self.state = 1244 + self.state = 1254 self.match(PBXProjParser.T__2) - self.state = 1245 + self.state = 1255 self.reference_list() - self.state = 1246 + self.state = 1256 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8228,16 +8297,16 @@ def exitRule(self, listener:ParseTreeListener): def build_arguments_string(self): localctx = PBXProjParser.Build_arguments_stringContext(self, self._ctx, self.state) - self.enterRule(localctx, 216, self.RULE_build_arguments_string) + self.enterRule(localctx, 218, self.RULE_build_arguments_string) try: self.enterOuterAlt(localctx, 1) - self.state = 1248 + self.state = 1258 self.match(PBXProjParser.BUILD_ARGUMENTS_STRING) - self.state = 1249 + self.state = 1259 self.match(PBXProjParser.T__2) - self.state = 1250 + self.state = 1260 self.any_string() - self.state = 1251 + self.state = 1261 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8279,16 +8348,16 @@ def exitRule(self, listener:ParseTreeListener): def build_tool_path(self): localctx = PBXProjParser.Build_tool_pathContext(self, self._ctx, self.state) - self.enterRule(localctx, 218, self.RULE_build_tool_path) + self.enterRule(localctx, 220, self.RULE_build_tool_path) try: self.enterOuterAlt(localctx, 1) - self.state = 1253 + self.state = 1263 self.match(PBXProjParser.BUILD_TOOL_PATH) - self.state = 1254 + self.state = 1264 self.match(PBXProjParser.T__2) - self.state = 1255 + self.state = 1265 self.any_string() - self.state = 1256 + self.state = 1266 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8330,16 +8399,16 @@ def exitRule(self, listener:ParseTreeListener): def build_working_directory(self): localctx = PBXProjParser.Build_working_directoryContext(self, self._ctx, self.state) - self.enterRule(localctx, 220, self.RULE_build_working_directory) + self.enterRule(localctx, 222, self.RULE_build_working_directory) try: self.enterOuterAlt(localctx, 1) - self.state = 1258 + self.state = 1268 self.match(PBXProjParser.BUILD_WORKING_DIRECTORY) - self.state = 1259 + self.state = 1269 self.match(PBXProjParser.T__2) - self.state = 1260 + self.state = 1270 self.any_string() - self.state = 1261 + self.state = 1271 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8380,16 +8449,16 @@ def exitRule(self, listener:ParseTreeListener): def pass_build_settings_in_environment(self): localctx = PBXProjParser.Pass_build_settings_in_environmentContext(self, self._ctx, self.state) - self.enterRule(localctx, 222, self.RULE_pass_build_settings_in_environment) + self.enterRule(localctx, 224, self.RULE_pass_build_settings_in_environment) try: self.enterOuterAlt(localctx, 1) - self.state = 1263 + self.state = 1273 self.match(PBXProjParser.PASS_BUILD_SETTINGS_IN_ENVIRONMENT) - self.state = 1264 + self.state = 1274 self.match(PBXProjParser.T__2) - self.state = 1265 + self.state = 1275 self.match(PBXProjParser.NUMBER) - self.state = 1266 + self.state = 1276 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8431,16 +8500,16 @@ def exitRule(self, listener:ParseTreeListener): def dependencies(self): localctx = PBXProjParser.DependenciesContext(self, self._ctx, self.state) - self.enterRule(localctx, 224, self.RULE_dependencies) + self.enterRule(localctx, 226, self.RULE_dependencies) try: self.enterOuterAlt(localctx, 1) - self.state = 1268 + self.state = 1278 self.match(PBXProjParser.DEPENDENCIES) - self.state = 1269 + self.state = 1279 self.match(PBXProjParser.T__2) - self.state = 1270 + self.state = 1280 self.reference_list() - self.state = 1271 + self.state = 1281 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8482,16 +8551,16 @@ def exitRule(self, listener:ParseTreeListener): def product_name(self): localctx = PBXProjParser.Product_nameContext(self, self._ctx, self.state) - self.enterRule(localctx, 226, self.RULE_product_name) + self.enterRule(localctx, 228, self.RULE_product_name) try: self.enterOuterAlt(localctx, 1) - self.state = 1273 + self.state = 1283 self.match(PBXProjParser.PRODUCT_NAME) - self.state = 1274 + self.state = 1284 self.match(PBXProjParser.T__2) - self.state = 1275 + self.state = 1285 self.str_number_variable() - self.state = 1276 + self.state = 1286 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8532,16 +8601,16 @@ def exitRule(self, listener:ParseTreeListener): def product_reference(self): localctx = PBXProjParser.Product_referenceContext(self, self._ctx, self.state) - self.enterRule(localctx, 228, self.RULE_product_reference) + self.enterRule(localctx, 230, self.RULE_product_reference) try: self.enterOuterAlt(localctx, 1) - self.state = 1278 + self.state = 1288 self.match(PBXProjParser.PRODUCT_REFERENCE) - self.state = 1279 + self.state = 1289 self.match(PBXProjParser.T__2) - self.state = 1280 + self.state = 1290 self.match(PBXProjParser.REFERENCE) - self.state = 1281 + self.state = 1291 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8582,16 +8651,16 @@ def exitRule(self, listener:ParseTreeListener): def product_type(self): localctx = PBXProjParser.Product_typeContext(self, self._ctx, self.state) - self.enterRule(localctx, 230, self.RULE_product_type) + self.enterRule(localctx, 232, self.RULE_product_type) try: self.enterOuterAlt(localctx, 1) - self.state = 1283 + self.state = 1293 self.match(PBXProjParser.PRODUCT_TYPE) - self.state = 1284 + self.state = 1294 self.match(PBXProjParser.T__2) - self.state = 1285 + self.state = 1295 self.match(PBXProjParser.QUOTED_STRING) - self.state = 1286 + self.state = 1296 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8632,16 +8701,16 @@ def exitRule(self, listener:ParseTreeListener): def line_ending(self): localctx = PBXProjParser.Line_endingContext(self, self._ctx, self.state) - self.enterRule(localctx, 232, self.RULE_line_ending) + self.enterRule(localctx, 234, self.RULE_line_ending) try: self.enterOuterAlt(localctx, 1) - self.state = 1288 + self.state = 1298 self.match(PBXProjParser.LINE_ENDING) - self.state = 1289 + self.state = 1299 self.match(PBXProjParser.T__2) - self.state = 1290 + self.state = 1300 self.match(PBXProjParser.NUMBER) - self.state = 1291 + self.state = 1301 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8683,16 +8752,16 @@ def exitRule(self, listener:ParseTreeListener): def xc_language_specification_identifier(self): localctx = PBXProjParser.Xc_language_specification_identifierContext(self, self._ctx, self.state) - self.enterRule(localctx, 234, self.RULE_xc_language_specification_identifier) + self.enterRule(localctx, 236, self.RULE_xc_language_specification_identifier) try: self.enterOuterAlt(localctx, 1) - self.state = 1293 + self.state = 1303 self.match(PBXProjParser.XC_LANGUAGE_SPECIFICATION_IDENTIFIER) - self.state = 1294 + self.state = 1304 self.match(PBXProjParser.T__2) - self.state = 1295 + self.state = 1305 self.str_number_variable() - self.state = 1296 + self.state = 1306 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8734,16 +8803,16 @@ def exitRule(self, listener:ParseTreeListener): def plist_structure_definition_identifier(self): localctx = PBXProjParser.Plist_structure_definition_identifierContext(self, self._ctx, self.state) - self.enterRule(localctx, 236, self.RULE_plist_structure_definition_identifier) + self.enterRule(localctx, 238, self.RULE_plist_structure_definition_identifier) try: self.enterOuterAlt(localctx, 1) - self.state = 1298 + self.state = 1308 self.match(PBXProjParser.PLIST_STRUCTURE_DEFINITION_IDENTIFIER) - self.state = 1299 + self.state = 1309 self.match(PBXProjParser.T__2) - self.state = 1300 + self.state = 1310 self.str_number_variable() - self.state = 1301 + self.state = 1311 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8817,91 +8886,91 @@ def exitRule(self, listener:ParseTreeListener): def attributes(self): localctx = PBXProjParser.AttributesContext(self, self._ctx, self.state) - self.enterRule(localctx, 238, self.RULE_attributes) + self.enterRule(localctx, 240, self.RULE_attributes) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1303 + self.state = 1313 self.match(PBXProjParser.ATTRIBUTES) - self.state = 1304 + self.state = 1314 self.match(PBXProjParser.T__2) - self.state = 1305 + self.state = 1315 self.match(PBXProjParser.T__0) - self.state = 1307 + self.state = 1317 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==88: - self.state = 1306 + if _la==89: + self.state = 1316 self.build_targets_in_parallel() - self.state = 1310 + self.state = 1320 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==133: - self.state = 1309 + if _la==134: + self.state = 1319 self.class_prefix() - self.state = 1313 + self.state = 1323 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==86: - self.state = 1312 + if _la==87: + self.state = 1322 self.default_build_system_type_for_workspace() - self.state = 1316 + self.state = 1326 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==85: - self.state = 1315 + if _la==86: + self.state = 1325 self.last_swift_migration() - self.state = 1319 + self.state = 1329 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==87: - self.state = 1318 + if _la==88: + self.state = 1328 self.last_swift_update_check() - self.state = 1322 + self.state = 1332 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==89: - self.state = 1321 + if _la==90: + self.state = 1331 self.last_testing_upgrade_check() - self.state = 1325 + self.state = 1335 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==90: - self.state = 1324 + if _la==91: + self.state = 1334 self.last_upgrade_check() - self.state = 1328 + self.state = 1338 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==91: - self.state = 1327 + if _la==92: + self.state = 1337 self.organization_name() - self.state = 1331 + self.state = 1341 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==92: - self.state = 1330 + if _la==93: + self.state = 1340 self.target_attributes() - self.state = 1333 + self.state = 1343 self.match(PBXProjParser.T__1) - self.state = 1334 + self.state = 1344 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8942,16 +9011,16 @@ def exitRule(self, listener:ParseTreeListener): def last_swift_migration(self): localctx = PBXProjParser.Last_swift_migrationContext(self, self._ctx, self.state) - self.enterRule(localctx, 240, self.RULE_last_swift_migration) + self.enterRule(localctx, 242, self.RULE_last_swift_migration) try: self.enterOuterAlt(localctx, 1) - self.state = 1336 + self.state = 1346 self.match(PBXProjParser.LAST_SWIFT_MIGRATION) - self.state = 1337 + self.state = 1347 self.match(PBXProjParser.T__2) - self.state = 1338 + self.state = 1348 self.match(PBXProjParser.NUMBER) - self.state = 1339 + self.state = 1349 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -8992,16 +9061,16 @@ def exitRule(self, listener:ParseTreeListener): def default_build_system_type_for_workspace(self): localctx = PBXProjParser.Default_build_system_type_for_workspaceContext(self, self._ctx, self.state) - self.enterRule(localctx, 242, self.RULE_default_build_system_type_for_workspace) + self.enterRule(localctx, 244, self.RULE_default_build_system_type_for_workspace) try: self.enterOuterAlt(localctx, 1) - self.state = 1341 + self.state = 1351 self.match(PBXProjParser.DEFAULT_BUILD_SYSTEM_TYPE_FOR_WORKSPACE) - self.state = 1342 + self.state = 1352 self.match(PBXProjParser.T__2) - self.state = 1343 + self.state = 1353 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1344 + self.state = 1354 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9042,16 +9111,16 @@ def exitRule(self, listener:ParseTreeListener): def last_swift_update_check(self): localctx = PBXProjParser.Last_swift_update_checkContext(self, self._ctx, self.state) - self.enterRule(localctx, 244, self.RULE_last_swift_update_check) + self.enterRule(localctx, 246, self.RULE_last_swift_update_check) try: self.enterOuterAlt(localctx, 1) - self.state = 1346 + self.state = 1356 self.match(PBXProjParser.LAST_SWIFT_UPDATE_CHECK) - self.state = 1347 + self.state = 1357 self.match(PBXProjParser.T__2) - self.state = 1348 + self.state = 1358 self.match(PBXProjParser.NUMBER) - self.state = 1349 + self.state = 1359 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9095,22 +9164,22 @@ def exitRule(self, listener:ParseTreeListener): def build_targets_in_parallel(self): localctx = PBXProjParser.Build_targets_in_parallelContext(self, self._ctx, self.state) - self.enterRule(localctx, 246, self.RULE_build_targets_in_parallel) + self.enterRule(localctx, 248, self.RULE_build_targets_in_parallel) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1351 + self.state = 1361 self.match(PBXProjParser.BUILD_INDEPENDENT_TARGETS_IN_PARALLEL) - self.state = 1352 + self.state = 1362 self.match(PBXProjParser.T__2) - self.state = 1353 + self.state = 1363 _la = self._input.LA(1) - if not(_la==13 or _la==136): + if not(_la==13 or _la==137): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() - self.state = 1354 + self.state = 1364 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9151,16 +9220,16 @@ def exitRule(self, listener:ParseTreeListener): def last_testing_upgrade_check(self): localctx = PBXProjParser.Last_testing_upgrade_checkContext(self, self._ctx, self.state) - self.enterRule(localctx, 248, self.RULE_last_testing_upgrade_check) + self.enterRule(localctx, 250, self.RULE_last_testing_upgrade_check) try: self.enterOuterAlt(localctx, 1) - self.state = 1356 + self.state = 1366 self.match(PBXProjParser.LAST_TESTING_UPGRADE_CHECK) - self.state = 1357 + self.state = 1367 self.match(PBXProjParser.T__2) - self.state = 1358 + self.state = 1368 self.match(PBXProjParser.NUMBER) - self.state = 1359 + self.state = 1369 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9201,16 +9270,16 @@ def exitRule(self, listener:ParseTreeListener): def last_upgrade_check(self): localctx = PBXProjParser.Last_upgrade_checkContext(self, self._ctx, self.state) - self.enterRule(localctx, 250, self.RULE_last_upgrade_check) + self.enterRule(localctx, 252, self.RULE_last_upgrade_check) try: self.enterOuterAlt(localctx, 1) - self.state = 1361 + self.state = 1371 self.match(PBXProjParser.LAST_UPGRADE_CHECK) - self.state = 1362 + self.state = 1372 self.match(PBXProjParser.T__2) - self.state = 1363 + self.state = 1373 self.match(PBXProjParser.NUMBER) - self.state = 1364 + self.state = 1374 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9252,16 +9321,16 @@ def exitRule(self, listener:ParseTreeListener): def organization_name(self): localctx = PBXProjParser.Organization_nameContext(self, self._ctx, self.state) - self.enterRule(localctx, 252, self.RULE_organization_name) + self.enterRule(localctx, 254, self.RULE_organization_name) try: self.enterOuterAlt(localctx, 1) - self.state = 1366 + self.state = 1376 self.match(PBXProjParser.ORGANIZATION_NAME) - self.state = 1367 + self.state = 1377 self.match(PBXProjParser.T__2) - self.state = 1368 + self.state = 1378 self.str_number_variable() - self.state = 1369 + self.state = 1379 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9306,29 +9375,29 @@ def exitRule(self, listener:ParseTreeListener): def target_attributes(self): localctx = PBXProjParser.Target_attributesContext(self, self._ctx, self.state) - self.enterRule(localctx, 254, self.RULE_target_attributes) + self.enterRule(localctx, 256, self.RULE_target_attributes) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1371 + self.state = 1381 self.match(PBXProjParser.TARGET_ATTRIBUTES) - self.state = 1372 + self.state = 1382 self.match(PBXProjParser.T__2) - self.state = 1373 + self.state = 1383 self.match(PBXProjParser.T__0) - self.state = 1377 + self.state = 1387 self._errHandler.sync(self) _la = self._input.LA(1) - while _la==134: - self.state = 1374 + while _la==135: + self.state = 1384 self.target_attribute() - self.state = 1379 + self.state = 1389 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1380 + self.state = 1390 self.match(PBXProjParser.T__1) - self.state = 1381 + self.state = 1391 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9397,83 +9466,83 @@ def exitRule(self, listener:ParseTreeListener): def target_attribute(self): localctx = PBXProjParser.Target_attributeContext(self, self._ctx, self.state) - self.enterRule(localctx, 256, self.RULE_target_attribute) + self.enterRule(localctx, 258, self.RULE_target_attribute) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1383 + self.state = 1393 self.match(PBXProjParser.REFERENCE) - self.state = 1384 + self.state = 1394 self.match(PBXProjParser.T__2) - self.state = 1385 + self.state = 1395 self.match(PBXProjParser.T__0) - self.state = 1387 + self.state = 1397 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==93: - self.state = 1386 + if _la==94: + self.state = 1396 self.created_on_tools_version() - self.state = 1390 + self.state = 1400 self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,107,self._ctx) + la_ = self._interp.adaptivePredict(self._input,108,self._ctx) if la_ == 1: - self.state = 1389 + self.state = 1399 self.test_target_id() - self.state = 1393 + self.state = 1403 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==95: - self.state = 1392 + if _la==96: + self.state = 1402 self.development_team() - self.state = 1396 + self.state = 1406 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==96: - self.state = 1395 + if _la==97: + self.state = 1405 self.development_team_name() - self.state = 1399 + self.state = 1409 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==85: - self.state = 1398 + if _la==86: + self.state = 1408 self.last_swift_migration() - self.state = 1402 + self.state = 1412 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==97: - self.state = 1401 + if _la==98: + self.state = 1411 self.provisioning_style() - self.state = 1405 + self.state = 1415 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==130: - self.state = 1404 + if _la==131: + self.state = 1414 self.system_capabilities() - self.state = 1408 + self.state = 1418 self._errHandler.sync(self) _la = self._input.LA(1) - if _la==94: - self.state = 1407 + if _la==95: + self.state = 1417 self.test_target_id() - self.state = 1410 + self.state = 1420 self.match(PBXProjParser.T__1) - self.state = 1411 + self.state = 1421 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9514,16 +9583,16 @@ def exitRule(self, listener:ParseTreeListener): def created_on_tools_version(self): localctx = PBXProjParser.Created_on_tools_versionContext(self, self._ctx, self.state) - self.enterRule(localctx, 258, self.RULE_created_on_tools_version) + self.enterRule(localctx, 260, self.RULE_created_on_tools_version) try: self.enterOuterAlt(localctx, 1) - self.state = 1413 + self.state = 1423 self.match(PBXProjParser.CREATED_ON_TOOLS_VERSION) - self.state = 1414 + self.state = 1424 self.match(PBXProjParser.T__2) - self.state = 1415 + self.state = 1425 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1416 + self.state = 1426 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9564,16 +9633,16 @@ def exitRule(self, listener:ParseTreeListener): def test_target_id(self): localctx = PBXProjParser.Test_target_idContext(self, self._ctx, self.state) - self.enterRule(localctx, 260, self.RULE_test_target_id) + self.enterRule(localctx, 262, self.RULE_test_target_id) try: self.enterOuterAlt(localctx, 1) - self.state = 1418 + self.state = 1428 self.match(PBXProjParser.TEST_TARGET_ID) - self.state = 1419 + self.state = 1429 self.match(PBXProjParser.T__2) - self.state = 1420 + self.state = 1430 self.match(PBXProjParser.REFERENCE) - self.state = 1421 + self.state = 1431 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9615,16 +9684,16 @@ def exitRule(self, listener:ParseTreeListener): def development_team(self): localctx = PBXProjParser.Development_teamContext(self, self._ctx, self.state) - self.enterRule(localctx, 262, self.RULE_development_team) + self.enterRule(localctx, 264, self.RULE_development_team) try: self.enterOuterAlt(localctx, 1) - self.state = 1423 + self.state = 1433 self.match(PBXProjParser.DEVELOPMENT_TEAM) - self.state = 1424 + self.state = 1434 self.match(PBXProjParser.T__2) - self.state = 1425 + self.state = 1435 self.any_string() - self.state = 1426 + self.state = 1436 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9666,16 +9735,16 @@ def exitRule(self, listener:ParseTreeListener): def development_team_name(self): localctx = PBXProjParser.Development_team_nameContext(self, self._ctx, self.state) - self.enterRule(localctx, 264, self.RULE_development_team_name) + self.enterRule(localctx, 266, self.RULE_development_team_name) try: self.enterOuterAlt(localctx, 1) - self.state = 1428 + self.state = 1438 self.match(PBXProjParser.DEVELOPMENT_TEAM_NAME) - self.state = 1429 + self.state = 1439 self.match(PBXProjParser.T__2) - self.state = 1430 + self.state = 1440 self.any_string() - self.state = 1431 + self.state = 1441 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9716,16 +9785,16 @@ def exitRule(self, listener:ParseTreeListener): def provisioning_style(self): localctx = PBXProjParser.Provisioning_styleContext(self, self._ctx, self.state) - self.enterRule(localctx, 266, self.RULE_provisioning_style) + self.enterRule(localctx, 268, self.RULE_provisioning_style) try: self.enterOuterAlt(localctx, 1) - self.state = 1433 + self.state = 1443 self.match(PBXProjParser.PROVISIONING_STYLE) - self.state = 1434 + self.state = 1444 self.match(PBXProjParser.T__2) - self.state = 1435 + self.state = 1445 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1436 + self.state = 1446 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9766,16 +9835,16 @@ def exitRule(self, listener:ParseTreeListener): def compatibility_version(self): localctx = PBXProjParser.Compatibility_versionContext(self, self._ctx, self.state) - self.enterRule(localctx, 268, self.RULE_compatibility_version) + self.enterRule(localctx, 270, self.RULE_compatibility_version) try: self.enterOuterAlt(localctx, 1) - self.state = 1438 + self.state = 1448 self.match(PBXProjParser.COMPATIBILITY_VERSION) - self.state = 1439 + self.state = 1449 self.match(PBXProjParser.T__2) - self.state = 1440 + self.state = 1450 self.match(PBXProjParser.QUOTED_STRING) - self.state = 1441 + self.state = 1451 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9816,16 +9885,16 @@ def exitRule(self, listener:ParseTreeListener): def development_region(self): localctx = PBXProjParser.Development_regionContext(self, self._ctx, self.state) - self.enterRule(localctx, 270, self.RULE_development_region) + self.enterRule(localctx, 272, self.RULE_development_region) try: self.enterOuterAlt(localctx, 1) - self.state = 1443 + self.state = 1453 self.match(PBXProjParser.DEVELOPMENT_REGION) - self.state = 1444 + self.state = 1454 self.match(PBXProjParser.T__2) - self.state = 1445 + self.state = 1455 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1446 + self.state = 1456 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9866,16 +9935,16 @@ def exitRule(self, listener:ParseTreeListener): def has_scanned_for_encodings(self): localctx = PBXProjParser.Has_scanned_for_encodingsContext(self, self._ctx, self.state) - self.enterRule(localctx, 272, self.RULE_has_scanned_for_encodings) + self.enterRule(localctx, 274, self.RULE_has_scanned_for_encodings) try: self.enterOuterAlt(localctx, 1) - self.state = 1448 + self.state = 1458 self.match(PBXProjParser.HAS_SCANNED_FOR_ENCODINGS) - self.state = 1449 + self.state = 1459 self.match(PBXProjParser.T__2) - self.state = 1450 + self.state = 1460 self.match(PBXProjParser.NUMBER) - self.state = 1451 + self.state = 1461 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9917,16 +9986,16 @@ def exitRule(self, listener:ParseTreeListener): def known_regions(self): localctx = PBXProjParser.Known_regionsContext(self, self._ctx, self.state) - self.enterRule(localctx, 274, self.RULE_known_regions) + self.enterRule(localctx, 276, self.RULE_known_regions) try: self.enterOuterAlt(localctx, 1) - self.state = 1453 + self.state = 1463 self.match(PBXProjParser.KNOWN_REGIONS) - self.state = 1454 + self.state = 1464 self.match(PBXProjParser.T__2) - self.state = 1455 + self.state = 1465 self.any_string_list() - self.state = 1456 + self.state = 1466 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -9967,16 +10036,16 @@ def exitRule(self, listener:ParseTreeListener): def main_group(self): localctx = PBXProjParser.Main_groupContext(self, self._ctx, self.state) - self.enterRule(localctx, 276, self.RULE_main_group) + self.enterRule(localctx, 278, self.RULE_main_group) try: self.enterOuterAlt(localctx, 1) - self.state = 1458 + self.state = 1468 self.match(PBXProjParser.MAIN_GROUP) - self.state = 1459 + self.state = 1469 self.match(PBXProjParser.T__2) - self.state = 1460 + self.state = 1470 self.match(PBXProjParser.REFERENCE) - self.state = 1461 + self.state = 1471 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10017,16 +10086,16 @@ def exitRule(self, listener:ParseTreeListener): def product_ref_group(self): localctx = PBXProjParser.Product_ref_groupContext(self, self._ctx, self.state) - self.enterRule(localctx, 278, self.RULE_product_ref_group) + self.enterRule(localctx, 280, self.RULE_product_ref_group) try: self.enterOuterAlt(localctx, 1) - self.state = 1463 + self.state = 1473 self.match(PBXProjParser.PRODUCT_REF_GROUP) - self.state = 1464 + self.state = 1474 self.match(PBXProjParser.T__2) - self.state = 1465 + self.state = 1475 self.match(PBXProjParser.REFERENCE) - self.state = 1466 + self.state = 1476 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10068,16 +10137,16 @@ def exitRule(self, listener:ParseTreeListener): def package_references(self): localctx = PBXProjParser.Package_referencesContext(self, self._ctx, self.state) - self.enterRule(localctx, 280, self.RULE_package_references) + self.enterRule(localctx, 282, self.RULE_package_references) try: self.enterOuterAlt(localctx, 1) - self.state = 1468 + self.state = 1478 self.match(PBXProjParser.PACKAGE_REFERENCES) - self.state = 1469 + self.state = 1479 self.match(PBXProjParser.T__2) - self.state = 1470 + self.state = 1480 self.reference_list() - self.state = 1471 + self.state = 1481 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10119,16 +10188,16 @@ def exitRule(self, listener:ParseTreeListener): def project_dir_path(self): localctx = PBXProjParser.Project_dir_pathContext(self, self._ctx, self.state) - self.enterRule(localctx, 282, self.RULE_project_dir_path) + self.enterRule(localctx, 284, self.RULE_project_dir_path) try: self.enterOuterAlt(localctx, 1) - self.state = 1473 + self.state = 1483 self.match(PBXProjParser.PRODUCT_DIR_PATH) - self.state = 1474 + self.state = 1484 self.match(PBXProjParser.T__2) - self.state = 1475 + self.state = 1485 self.any_string() - self.state = 1476 + self.state = 1486 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10174,36 +10243,36 @@ def exitRule(self, listener:ParseTreeListener): def project_references(self): localctx = PBXProjParser.Project_referencesContext(self, self._ctx, self.state) - self.enterRule(localctx, 284, self.RULE_project_references) + self.enterRule(localctx, 286, self.RULE_project_references) try: - self.state = 1490 + self.state = 1500 self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,114,self._ctx) + la_ = self._interp.adaptivePredict(self._input,115,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) - self.state = 1478 + self.state = 1488 self.match(PBXProjParser.PROJECT_REFERENCES) - self.state = 1479 + self.state = 1489 self.match(PBXProjParser.T__2) - self.state = 1480 + self.state = 1490 self.str_number_variable() - self.state = 1481 + self.state = 1491 self.match(PBXProjParser.T__3) pass elif la_ == 2: self.enterOuterAlt(localctx, 2) - self.state = 1483 + self.state = 1493 self.match(PBXProjParser.PROJECT_REFERENCES) - self.state = 1484 + self.state = 1494 self.match(PBXProjParser.T__2) - self.state = 1485 + self.state = 1495 self.match(PBXProjParser.T__4) - self.state = 1486 + self.state = 1496 self.project_references_list() - self.state = 1487 + self.state = 1497 self.match(PBXProjParser.T__6) - self.state = 1488 + self.state = 1498 self.match(PBXProjParser.T__3) pass @@ -10248,16 +10317,16 @@ def exitRule(self, listener:ParseTreeListener): def project_root(self): localctx = PBXProjParser.Project_rootContext(self, self._ctx, self.state) - self.enterRule(localctx, 286, self.RULE_project_root) + self.enterRule(localctx, 288, self.RULE_project_root) try: self.enterOuterAlt(localctx, 1) - self.state = 1492 + self.state = 1502 self.match(PBXProjParser.PROJECT_ROOT) - self.state = 1493 + self.state = 1503 self.match(PBXProjParser.T__2) - self.state = 1494 + self.state = 1504 self.any_string() - self.state = 1495 + self.state = 1505 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10299,16 +10368,16 @@ def exitRule(self, listener:ParseTreeListener): def targets(self): localctx = PBXProjParser.TargetsContext(self, self._ctx, self.state) - self.enterRule(localctx, 288, self.RULE_targets) + self.enterRule(localctx, 290, self.RULE_targets) try: self.enterOuterAlt(localctx, 1) - self.state = 1497 + self.state = 1507 self.match(PBXProjParser.TARGETS) - self.state = 1498 + self.state = 1508 self.match(PBXProjParser.T__2) - self.state = 1499 + self.state = 1509 self.reference_list() - self.state = 1500 + self.state = 1510 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10350,16 +10419,16 @@ def exitRule(self, listener:ParseTreeListener): def input_file_list_paths(self): localctx = PBXProjParser.Input_file_list_pathsContext(self, self._ctx, self.state) - self.enterRule(localctx, 290, self.RULE_input_file_list_paths) + self.enterRule(localctx, 292, self.RULE_input_file_list_paths) try: self.enterOuterAlt(localctx, 1) - self.state = 1502 + self.state = 1512 self.match(PBXProjParser.INPUT_FILE_LIST_PATHS) - self.state = 1503 + self.state = 1513 self.match(PBXProjParser.T__2) - self.state = 1504 + self.state = 1514 self.any_string_list() - self.state = 1505 + self.state = 1515 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10401,16 +10470,16 @@ def exitRule(self, listener:ParseTreeListener): def input_paths(self): localctx = PBXProjParser.Input_pathsContext(self, self._ctx, self.state) - self.enterRule(localctx, 292, self.RULE_input_paths) + self.enterRule(localctx, 294, self.RULE_input_paths) try: self.enterOuterAlt(localctx, 1) - self.state = 1507 + self.state = 1517 self.match(PBXProjParser.INPUT_PATHS) - self.state = 1508 + self.state = 1518 self.match(PBXProjParser.T__2) - self.state = 1509 + self.state = 1519 self.any_string_list() - self.state = 1510 + self.state = 1520 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10452,16 +10521,16 @@ def exitRule(self, listener:ParseTreeListener): def output_file_list_paths(self): localctx = PBXProjParser.Output_file_list_pathsContext(self, self._ctx, self.state) - self.enterRule(localctx, 294, self.RULE_output_file_list_paths) + self.enterRule(localctx, 296, self.RULE_output_file_list_paths) try: self.enterOuterAlt(localctx, 1) - self.state = 1512 + self.state = 1522 self.match(PBXProjParser.OUTPUT_FILE_LIST_PATHS) - self.state = 1513 + self.state = 1523 self.match(PBXProjParser.T__2) - self.state = 1514 + self.state = 1524 self.any_string_list() - self.state = 1515 + self.state = 1525 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10503,16 +10572,16 @@ def exitRule(self, listener:ParseTreeListener): def output_paths(self): localctx = PBXProjParser.Output_pathsContext(self, self._ctx, self.state) - self.enterRule(localctx, 296, self.RULE_output_paths) + self.enterRule(localctx, 298, self.RULE_output_paths) try: self.enterOuterAlt(localctx, 1) - self.state = 1517 + self.state = 1527 self.match(PBXProjParser.OUTPUT_PATHS) - self.state = 1518 + self.state = 1528 self.match(PBXProjParser.T__2) - self.state = 1519 + self.state = 1529 self.any_string_list() - self.state = 1520 + self.state = 1530 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10553,16 +10622,16 @@ def exitRule(self, listener:ParseTreeListener): def shell_path(self): localctx = PBXProjParser.Shell_pathContext(self, self._ctx, self.state) - self.enterRule(localctx, 298, self.RULE_shell_path) + self.enterRule(localctx, 300, self.RULE_shell_path) try: self.enterOuterAlt(localctx, 1) - self.state = 1522 + self.state = 1532 self.match(PBXProjParser.SHELL_PATH) - self.state = 1523 + self.state = 1533 self.match(PBXProjParser.T__2) - self.state = 1524 + self.state = 1534 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1525 + self.state = 1535 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10604,16 +10673,16 @@ def exitRule(self, listener:ParseTreeListener): def shell_script(self): localctx = PBXProjParser.Shell_scriptContext(self, self._ctx, self.state) - self.enterRule(localctx, 300, self.RULE_shell_script) + self.enterRule(localctx, 302, self.RULE_shell_script) try: self.enterOuterAlt(localctx, 1) - self.state = 1527 + self.state = 1537 self.match(PBXProjParser.SHELL_SCRIPT) - self.state = 1528 + self.state = 1538 self.match(PBXProjParser.T__2) - self.state = 1529 + self.state = 1539 self.any_string() - self.state = 1530 + self.state = 1540 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10654,16 +10723,16 @@ def exitRule(self, listener:ParseTreeListener): def show_env_vars_in_log(self): localctx = PBXProjParser.Show_env_vars_in_logContext(self, self._ctx, self.state) - self.enterRule(localctx, 302, self.RULE_show_env_vars_in_log) + self.enterRule(localctx, 304, self.RULE_show_env_vars_in_log) try: self.enterOuterAlt(localctx, 1) - self.state = 1532 + self.state = 1542 self.match(PBXProjParser.SHOW_ENV_VARS_IN_LOG) - self.state = 1533 + self.state = 1543 self.match(PBXProjParser.T__2) - self.state = 1534 + self.state = 1544 self.match(PBXProjParser.NUMBER) - self.state = 1535 + self.state = 1545 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10704,16 +10773,16 @@ def exitRule(self, listener:ParseTreeListener): def target(self): localctx = PBXProjParser.TargetContext(self, self._ctx, self.state) - self.enterRule(localctx, 304, self.RULE_target) + self.enterRule(localctx, 306, self.RULE_target) try: self.enterOuterAlt(localctx, 1) - self.state = 1537 + self.state = 1547 self.match(PBXProjParser.TARGET) - self.state = 1538 + self.state = 1548 self.match(PBXProjParser.T__2) - self.state = 1539 + self.state = 1549 self.match(PBXProjParser.REFERENCE) - self.state = 1540 + self.state = 1550 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10754,16 +10823,16 @@ def exitRule(self, listener:ParseTreeListener): def target_proxy(self): localctx = PBXProjParser.Target_proxyContext(self, self._ctx, self.state) - self.enterRule(localctx, 306, self.RULE_target_proxy) + self.enterRule(localctx, 308, self.RULE_target_proxy) try: self.enterOuterAlt(localctx, 1) - self.state = 1542 + self.state = 1552 self.match(PBXProjParser.TARGET_PROXY) - self.state = 1543 + self.state = 1553 self.match(PBXProjParser.T__2) - self.state = 1544 + self.state = 1554 self.match(PBXProjParser.REFERENCE) - self.state = 1545 + self.state = 1555 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10805,16 +10874,16 @@ def exitRule(self, listener:ParseTreeListener): def file_type(self): localctx = PBXProjParser.File_typeContext(self, self._ctx, self.state) - self.enterRule(localctx, 308, self.RULE_file_type) + self.enterRule(localctx, 310, self.RULE_file_type) try: self.enterOuterAlt(localctx, 1) - self.state = 1547 + self.state = 1557 self.match(PBXProjParser.FILE_TYPE) - self.state = 1548 + self.state = 1558 self.match(PBXProjParser.T__2) - self.state = 1549 + self.state = 1559 self.str_number_variable() - self.state = 1550 + self.state = 1560 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10855,16 +10924,16 @@ def exitRule(self, listener:ParseTreeListener): def remote_ref(self): localctx = PBXProjParser.Remote_refContext(self, self._ctx, self.state) - self.enterRule(localctx, 310, self.RULE_remote_ref) + self.enterRule(localctx, 312, self.RULE_remote_ref) try: self.enterOuterAlt(localctx, 1) - self.state = 1552 + self.state = 1562 self.match(PBXProjParser.REMOTE_REF) - self.state = 1553 + self.state = 1563 self.match(PBXProjParser.T__2) - self.state = 1554 + self.state = 1564 self.match(PBXProjParser.REFERENCE) - self.state = 1555 + self.state = 1565 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10905,16 +10974,16 @@ def exitRule(self, listener:ParseTreeListener): def base_configuration_reference(self): localctx = PBXProjParser.Base_configuration_referenceContext(self, self._ctx, self.state) - self.enterRule(localctx, 312, self.RULE_base_configuration_reference) + self.enterRule(localctx, 314, self.RULE_base_configuration_reference) try: self.enterOuterAlt(localctx, 1) - self.state = 1557 + self.state = 1567 self.match(PBXProjParser.BASE_CONFIGURATION_REFERENCE) - self.state = 1558 + self.state = 1568 self.match(PBXProjParser.T__2) - self.state = 1559 + self.state = 1569 self.match(PBXProjParser.REFERENCE) - self.state = 1560 + self.state = 1570 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -10959,29 +11028,29 @@ def exitRule(self, listener:ParseTreeListener): def build_settings(self): localctx = PBXProjParser.Build_settingsContext(self, self._ctx, self.state) - self.enterRule(localctx, 314, self.RULE_build_settings) + self.enterRule(localctx, 316, self.RULE_build_settings) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1562 + self.state = 1572 self.match(PBXProjParser.BUILD_SETTINGS) - self.state = 1563 + self.state = 1573 self.match(PBXProjParser.T__2) - self.state = 1564 + self.state = 1574 self.match(PBXProjParser.T__0) - self.state = 1568 + self.state = 1578 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & -101059840) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 959) != 0): - self.state = 1565 + while (((_la) & ~0x3f) == 0 and ((1 << _la) & -2199124315392) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 1919) != 0): + self.state = 1575 self.key_value() - self.state = 1570 + self.state = 1580 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1571 + self.state = 1581 self.match(PBXProjParser.T__1) - self.state = 1572 + self.state = 1582 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11023,16 +11092,16 @@ def exitRule(self, listener:ParseTreeListener): def dst_path(self): localctx = PBXProjParser.Dst_pathContext(self, self._ctx, self.state) - self.enterRule(localctx, 316, self.RULE_dst_path) + self.enterRule(localctx, 318, self.RULE_dst_path) try: self.enterOuterAlt(localctx, 1) - self.state = 1574 + self.state = 1584 self.match(PBXProjParser.DST_PATH) - self.state = 1575 + self.state = 1585 self.match(PBXProjParser.T__2) - self.state = 1576 + self.state = 1586 self.any_string() - self.state = 1577 + self.state = 1587 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11073,16 +11142,16 @@ def exitRule(self, listener:ParseTreeListener): def dst_subfolder_spec(self): localctx = PBXProjParser.Dst_subfolder_specContext(self, self._ctx, self.state) - self.enterRule(localctx, 318, self.RULE_dst_subfolder_spec) + self.enterRule(localctx, 320, self.RULE_dst_subfolder_spec) try: self.enterOuterAlt(localctx, 1) - self.state = 1579 + self.state = 1589 self.match(PBXProjParser.DST_SUBFOLDER_SPEC) - self.state = 1580 + self.state = 1590 self.match(PBXProjParser.T__2) - self.state = 1581 + self.state = 1591 self.match(PBXProjParser.NUMBER) - self.state = 1582 + self.state = 1592 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11124,17 +11193,17 @@ def exitRule(self, listener:ParseTreeListener): def project_references_list(self): localctx = PBXProjParser.Project_references_listContext(self, self._ctx, self.state) - self.enterRule(localctx, 320, self.RULE_project_references_list) + self.enterRule(localctx, 322, self.RULE_project_references_list) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1587 + self.state = 1597 self._errHandler.sync(self) _la = self._input.LA(1) while _la==1: - self.state = 1584 + self.state = 1594 self.project_references_list_element() - self.state = 1589 + self.state = 1599 self._errHandler.sync(self) _la = self._input.LA(1) @@ -11183,30 +11252,30 @@ def exitRule(self, listener:ParseTreeListener): def project_references_list_element(self): localctx = PBXProjParser.Project_references_list_elementContext(self, self._ctx, self.state) - self.enterRule(localctx, 322, self.RULE_project_references_list_element) + self.enterRule(localctx, 324, self.RULE_project_references_list_element) try: self.enterOuterAlt(localctx, 1) - self.state = 1590 + self.state = 1600 self.match(PBXProjParser.T__0) - self.state = 1591 + self.state = 1601 self.match(PBXProjParser.PRODUCT_GROUP) - self.state = 1592 + self.state = 1602 self.match(PBXProjParser.T__2) - self.state = 1593 + self.state = 1603 self.match(PBXProjParser.REFERENCE) - self.state = 1594 + self.state = 1604 self.match(PBXProjParser.T__3) - self.state = 1595 + self.state = 1605 self.match(PBXProjParser.PROJECT_REF) - self.state = 1596 + self.state = 1606 self.match(PBXProjParser.T__2) - self.state = 1597 + self.state = 1607 self.match(PBXProjParser.REFERENCE) - self.state = 1598 + self.state = 1608 self.match(PBXProjParser.T__3) - self.state = 1599 + self.state = 1609 self.match(PBXProjParser.T__1) - self.state = 1600 + self.state = 1610 self.match(PBXProjParser.T__5) except RecognitionException as re: localctx.exception = re @@ -11258,87 +11327,87 @@ def exitRule(self, listener:ParseTreeListener): def key_value(self): localctx = PBXProjParser.Key_valueContext(self, self._ctx, self.state) - self.enterRule(localctx, 324, self.RULE_key_value) + self.enterRule(localctx, 326, self.RULE_key_value) self._la = 0 # Token type try: - self.state = 1638 + self.state = 1648 self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,118,self._ctx) + la_ = self._interp.adaptivePredict(self._input,119,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) - self.state = 1602 + self.state = 1612 self.str_number_variable() - self.state = 1603 + self.state = 1613 self.match(PBXProjParser.T__2) - self.state = 1604 + self.state = 1614 self.str_number_variable() - self.state = 1605 + self.state = 1615 self.match(PBXProjParser.T__3) pass elif la_ == 2: self.enterOuterAlt(localctx, 2) - self.state = 1607 + self.state = 1617 self.str_number_variable() - self.state = 1608 + self.state = 1618 self.match(PBXProjParser.T__2) - self.state = 1609 + self.state = 1619 self.match(PBXProjParser.NUMBER) - self.state = 1610 + self.state = 1620 self.match(PBXProjParser.T__3) pass elif la_ == 3: self.enterOuterAlt(localctx, 3) - self.state = 1612 + self.state = 1622 self.str_number_variable() - self.state = 1613 + self.state = 1623 self.match(PBXProjParser.T__2) - self.state = 1614 + self.state = 1624 self.match(PBXProjParser.ALPHA_NUMERIC) - self.state = 1615 + self.state = 1625 self.match(PBXProjParser.T__3) pass elif la_ == 4: self.enterOuterAlt(localctx, 4) - self.state = 1617 + self.state = 1627 self.str_number_variable() - self.state = 1618 + self.state = 1628 self.match(PBXProjParser.T__2) - self.state = 1619 + self.state = 1629 self.match(PBXProjParser.T__0) - self.state = 1620 + self.state = 1630 self.key_value() - self.state = 1621 + self.state = 1631 self.match(PBXProjParser.T__1) - self.state = 1622 + self.state = 1632 self.match(PBXProjParser.T__3) pass elif la_ == 5: self.enterOuterAlt(localctx, 5) - self.state = 1624 + self.state = 1634 self.str_number_variable() - self.state = 1625 + self.state = 1635 self.match(PBXProjParser.T__2) - self.state = 1626 + self.state = 1636 self.match(PBXProjParser.T__4) - self.state = 1632 + self.state = 1642 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & -101059840) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 959) != 0): - self.state = 1627 + while (((_la) & ~0x3f) == 0 and ((1 << _la) & -2199124315392) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 1919) != 0): + self.state = 1637 self.str_number_variable() - self.state = 1628 + self.state = 1638 self.match(PBXProjParser.T__5) - self.state = 1634 + self.state = 1644 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1635 + self.state = 1645 self.match(PBXProjParser.T__6) - self.state = 1636 + self.state = 1646 self.match(PBXProjParser.T__3) pass @@ -11383,16 +11452,16 @@ def exitRule(self, listener:ParseTreeListener): def build_configurations(self): localctx = PBXProjParser.Build_configurationsContext(self, self._ctx, self.state) - self.enterRule(localctx, 326, self.RULE_build_configurations) + self.enterRule(localctx, 328, self.RULE_build_configurations) try: self.enterOuterAlt(localctx, 1) - self.state = 1640 + self.state = 1650 self.match(PBXProjParser.BUILD_CONFIGURATIONS) - self.state = 1641 + self.state = 1651 self.match(PBXProjParser.T__2) - self.state = 1642 + self.state = 1652 self.reference_list() - self.state = 1643 + self.state = 1653 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11433,16 +11502,16 @@ def exitRule(self, listener:ParseTreeListener): def default_configuration_is_visible(self): localctx = PBXProjParser.Default_configuration_is_visibleContext(self, self._ctx, self.state) - self.enterRule(localctx, 328, self.RULE_default_configuration_is_visible) + self.enterRule(localctx, 330, self.RULE_default_configuration_is_visible) try: self.enterOuterAlt(localctx, 1) - self.state = 1645 + self.state = 1655 self.match(PBXProjParser.DEFAULT_CONFIGURATION_IS_VISIBLE) - self.state = 1646 + self.state = 1656 self.match(PBXProjParser.T__2) - self.state = 1647 + self.state = 1657 self.match(PBXProjParser.NUMBER) - self.state = 1648 + self.state = 1658 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11484,16 +11553,16 @@ def exitRule(self, listener:ParseTreeListener): def default_configuration_name(self): localctx = PBXProjParser.Default_configuration_nameContext(self, self._ctx, self.state) - self.enterRule(localctx, 330, self.RULE_default_configuration_name) + self.enterRule(localctx, 332, self.RULE_default_configuration_name) try: self.enterOuterAlt(localctx, 1) - self.state = 1650 + self.state = 1660 self.match(PBXProjParser.DEFAULT_CONFIGURATION_NAME) - self.state = 1651 + self.state = 1661 self.match(PBXProjParser.T__2) - self.state = 1652 + self.state = 1662 self.any_string() - self.state = 1653 + self.state = 1663 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11538,29 +11607,29 @@ def exitRule(self, listener:ParseTreeListener): def settings(self): localctx = PBXProjParser.SettingsContext(self, self._ctx, self.state) - self.enterRule(localctx, 332, self.RULE_settings) + self.enterRule(localctx, 334, self.RULE_settings) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1655 + self.state = 1665 self.match(PBXProjParser.SETTINGS) - self.state = 1656 + self.state = 1666 self.match(PBXProjParser.T__2) - self.state = 1657 + self.state = 1667 self.match(PBXProjParser.T__0) - self.state = 1661 + self.state = 1671 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & -101059840) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 959) != 0): - self.state = 1658 + while (((_la) & ~0x3f) == 0 and ((1 << _la) & -2199124315392) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 1919) != 0): + self.state = 1668 self.key_value() - self.state = 1663 + self.state = 1673 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1664 + self.state = 1674 self.match(PBXProjParser.T__1) - self.state = 1665 + self.state = 1675 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11605,29 +11674,29 @@ def exitRule(self, listener:ParseTreeListener): def system_capabilities(self): localctx = PBXProjParser.System_capabilitiesContext(self, self._ctx, self.state) - self.enterRule(localctx, 334, self.RULE_system_capabilities) + self.enterRule(localctx, 336, self.RULE_system_capabilities) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1667 + self.state = 1677 self.match(PBXProjParser.SYSTEM_CAPABILITIES) - self.state = 1668 + self.state = 1678 self.match(PBXProjParser.T__2) - self.state = 1669 + self.state = 1679 self.match(PBXProjParser.T__0) - self.state = 1673 + self.state = 1683 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & -101059840) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 959) != 0): - self.state = 1670 + while (((_la) & ~0x3f) == 0 and ((1 << _la) & -2199124315392) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & -1) != 0) or ((((_la - 128)) & ~0x3f) == 0 and ((1 << (_la - 128)) & 1919) != 0): + self.state = 1680 self.key_value() - self.state = 1675 + self.state = 1685 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 1676 + self.state = 1686 self.match(PBXProjParser.T__1) - self.state = 1677 + self.state = 1687 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11668,16 +11737,16 @@ def exitRule(self, listener:ParseTreeListener): def current_version(self): localctx = PBXProjParser.Current_versionContext(self, self._ctx, self.state) - self.enterRule(localctx, 336, self.RULE_current_version) + self.enterRule(localctx, 338, self.RULE_current_version) try: self.enterOuterAlt(localctx, 1) - self.state = 1679 + self.state = 1689 self.match(PBXProjParser.CURRENT_VERSION) - self.state = 1680 + self.state = 1690 self.match(PBXProjParser.T__2) - self.state = 1681 + self.state = 1691 self.match(PBXProjParser.REFERENCE) - self.state = 1682 + self.state = 1692 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11718,16 +11787,16 @@ def exitRule(self, listener:ParseTreeListener): def version_group_type(self): localctx = PBXProjParser.Version_group_typeContext(self, self._ctx, self.state) - self.enterRule(localctx, 338, self.RULE_version_group_type) + self.enterRule(localctx, 340, self.RULE_version_group_type) try: self.enterOuterAlt(localctx, 1) - self.state = 1684 + self.state = 1694 self.match(PBXProjParser.VERSION_GROUP_TYPE) - self.state = 1685 + self.state = 1695 self.match(PBXProjParser.T__2) - self.state = 1686 + self.state = 1696 self.match(PBXProjParser.NON_QUOTED_STRING) - self.state = 1687 + self.state = 1697 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11769,16 +11838,16 @@ def exitRule(self, listener:ParseTreeListener): def class_prefix(self): localctx = PBXProjParser.Class_prefixContext(self, self._ctx, self.state) - self.enterRule(localctx, 340, self.RULE_class_prefix) + self.enterRule(localctx, 342, self.RULE_class_prefix) try: self.enterOuterAlt(localctx, 1) - self.state = 1689 + self.state = 1699 self.match(PBXProjParser.CLASSPREFIX) - self.state = 1690 + self.state = 1700 self.match(PBXProjParser.T__2) - self.state = 1691 + self.state = 1701 self.str_number_variable() - self.state = 1692 + self.state = 1702 self.match(PBXProjParser.T__3) except RecognitionException as re: localctx.exception = re @@ -11823,24 +11892,24 @@ def exitRule(self, listener:ParseTreeListener): def any_string(self): localctx = PBXProjParser.Any_stringContext(self, self._ctx, self.state) - self.enterRule(localctx, 342, self.RULE_any_string) + self.enterRule(localctx, 344, self.RULE_any_string) try: - self.state = 1697 + self.state = 1707 self._errHandler.sync(self) token = self._input.LA(1) - if token in [136]: + if token in [137]: self.enterOuterAlt(localctx, 1) - self.state = 1694 + self.state = 1704 self.match(PBXProjParser.NON_QUOTED_STRING) pass - elif token in [135]: + elif token in [136]: self.enterOuterAlt(localctx, 2) - self.state = 1695 + self.state = 1705 self.match(PBXProjParser.QUOTED_STRING) pass - elif token in [8, 9, 12, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133]: + elif token in [8, 9, 12, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134]: self.enterOuterAlt(localctx, 3) - self.state = 1696 + self.state = 1706 self.any_token() pass else: @@ -11889,24 +11958,24 @@ def exitRule(self, listener:ParseTreeListener): def str_number_variable(self): localctx = PBXProjParser.Str_number_variableContext(self, self._ctx, self.state) - self.enterRule(localctx, 344, self.RULE_str_number_variable) + self.enterRule(localctx, 346, self.RULE_str_number_variable) try: - self.state = 1702 + self.state = 1712 self._errHandler.sync(self) token = self._input.LA(1) - if token in [8, 9, 12, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136]: + if token in [8, 9, 12, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137]: self.enterOuterAlt(localctx, 1) - self.state = 1699 + self.state = 1709 self.any_string() pass elif token in [13]: self.enterOuterAlt(localctx, 2) - self.state = 1700 + self.state = 1710 self.match(PBXProjParser.NUMBER) pass - elif token in [137]: + elif token in [138]: self.enterOuterAlt(localctx, 3) - self.state = 1701 + self.state = 1711 self.match(PBXProjParser.VARIABLE) pass else: @@ -12302,13 +12371,13 @@ def exitRule(self, listener:ParseTreeListener): def any_token(self): localctx = PBXProjParser.Any_tokenContext(self, self._ctx, self.state) - self.enterRule(localctx, 346, self.RULE_any_token) + self.enterRule(localctx, 348, self.RULE_any_token) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 1704 + self.state = 1714 _la = self._input.LA(1) - if not(((((_la - 8)) & ~0x3f) == 0 and ((1 << (_la - 8)) & -394797) != 0) or ((((_la - 72)) & ~0x3f) == 0 and ((1 << (_la - 72)) & 4611686018427387903) != 0)): + if not(((((_la - 8)) & ~0x3f) == 0 and ((1 << (_la - 8)) & -8590329389) != 0) or ((((_la - 72)) & ~0x3f) == 0 and ((1 << (_la - 72)) & 9223372036854775807) != 0)): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) diff --git a/tests/ok/014.pbxproj b/tests/ok/014.pbxproj new file mode 100644 index 0000000..511bc66 --- /dev/null +++ b/tests/ok/014.pbxproj @@ -0,0 +1,730 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 4073733CAB3A0DFF92509CB4 /* Pods_MitsumoriUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50207757D99BA58B73384B1C /* Pods_MitsumoriUITests.framework */; }; + 40B8192350A5E6A7FD028AF1 /* Pods_Mitsumori.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9C8B51DFD24BD194B40CE8 /* Pods_Mitsumori.framework */; }; + 490970611C16D9A900200801 /* UIViewTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490970601C16D9A900200801 /* UIViewTransform.swift */; }; + 495413B61C1424A20071F4A0 /* CardViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 495413B51C1424A20071F4A0 /* CardViewModel.swift */; }; + 4959011B1C58F8AB000EE944 /* CustomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4959011A1C58F8AB000EE944 /* CustomView.swift */; }; + 4973659F1C19BC6E00837617 /* MitsumoriUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4973659E1C19BC6E00837617 /* MitsumoriUITests.swift */; }; + 497365A91C19BD5A00837617 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 497365A81C19BD5A00837617 /* Nimble.framework */; }; + 49C4EEDE1C5E152800B38CD9 /* SelectedCardViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49C4EEDD1C5E152800B38CD9 /* SelectedCardViewModel.swift */; }; + 49F0E1DF1C1B28FF0074B5B7 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F0E1DE1C1B28FF0074B5B7 /* SnapshotHelper.swift */; }; + 49F0E1E11C1B300E0074B5B7 /* SnapshotCapturer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F0E1E01C1B300E0074B5B7 /* SnapshotCapturer.swift */; }; + 49F4A5891C583A95007C84A1 /* Animation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5881C583A95007C84A1 /* Animation.swift */; }; + 49F4A58B1C583AB3007C84A1 /* Transform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A58A1C583AB3007C84A1 /* Transform.swift */; }; + 49F4A58D1C583AE3007C84A1 /* CGPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A58C1C583AE3007C84A1 /* CGPoint.swift */; }; + 49F4A58F1C583AF3007C84A1 /* CGSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A58E1C583AF3007C84A1 /* CGSize.swift */; }; + 49F4A5911C583B0C007C84A1 /* Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5901C583B0C007C84A1 /* Card.swift */; }; + 49F4A5931C583B4C007C84A1 /* Double.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5921C583B4C007C84A1 /* Double.swift */; }; + 49F4A5951C583B61007C84A1 /* FrontCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5941C583B61007C84A1 /* FrontCardView.swift */; }; + 49F4A5971C583B94007C84A1 /* FrontCardView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 49F4A5961C583B94007C84A1 /* FrontCardView.xib */; }; + 49F4A5991C583BAF007C84A1 /* Math.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5981C583BAF007C84A1 /* Math.swift */; }; + 49F4A59F1C583D88007C84A1 /* RotateRevealSelectedCardAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A59E1C583D88007C84A1 /* RotateRevealSelectedCardAnimation.swift */; }; + 49F4A5A11C583DAE007C84A1 /* RotateSelectCardAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5A01C583DAE007C84A1 /* RotateSelectCardAnimation.swift */; }; + 49F4A5A31C583DD8007C84A1 /* SlideToSideRestoreAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49F4A5A21C583DD8007C84A1 /* SlideToSideRestoreAnimation.swift */; }; + 49FBBF921C10C2A200A1A4BB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49FBBF911C10C2A200A1A4BB /* AppDelegate.swift */; }; + 49FBBF971C10C2A200A1A4BB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 49FBBF951C10C2A200A1A4BB /* Main.storyboard */; }; + 49FBBF991C10C2A200A1A4BB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 49FBBF981C10C2A200A1A4BB /* Assets.xcassets */; }; + 49FBBF9C1C10C2A200A1A4BB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 49FBBF9A1C10C2A200A1A4BB /* LaunchScreen.storyboard */; }; + 49FBBFC01C10D05800A1A4BB /* CardCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49FBBFBF1C10D05800A1A4BB /* CardCollectionViewCell.swift */; }; + 49FBBFC41C10EBE600A1A4BB /* CardsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49FBBFC31C10EBE600A1A4BB /* CardsViewController.swift */; }; + 49FBBFC81C10FB9C00A1A4BB /* UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49FBBFC71C10FB9C00A1A4BB /* UIView.swift */; }; + EBFE74EE1C4900D000B7B646 /* BackCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBFE74ED1C4900D000B7B646 /* BackCardView.swift */; }; + EBFE74F01C4900EB00B7B646 /* BackCardView.xib in Resources */ = {isa = PBXBuildFile; fileRef = EBFE74EF1C4900EB00B7B646 /* BackCardView.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 497365A11C19BC6E00837617 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 49FBBF861C10C2A200A1A4BB /* Project object */; + proxyType = 1; + remoteGlobalIDString = 49FBBF8D1C10C2A200A1A4BB; + remoteInfo = Mitsumori; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0D90B4EBF4714D2C4F8805EE /* Pods_MitsumoriTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MitsumoriTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 274E42B0193BA6FEFA8FD71C /* Pods-MitsumoriUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MitsumoriUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MitsumoriUITests/Pods-MitsumoriUITests.debug.xcconfig"; sourceTree = ""; }; + 2757E033CFB59572DA4E60B3 /* Pods-MitsumoriUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MitsumoriUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-MitsumoriUITests/Pods-MitsumoriUITests.release.xcconfig"; sourceTree = ""; }; + 490970601C16D9A900200801 /* UIViewTransform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewTransform.swift; sourceTree = ""; }; + 495413B51C1424A20071F4A0 /* CardViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardViewModel.swift; sourceTree = ""; }; + 4959011A1C58F8AB000EE944 /* CustomView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomView.swift; sourceTree = ""; }; + 4973659C1C19BC6E00837617 /* MitsumoriUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MitsumoriUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 4973659E1C19BC6E00837617 /* MitsumoriUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MitsumoriUITests.swift; sourceTree = ""; }; + 497365A01C19BC6E00837617 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 497365A61C19BC9500837617 /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = "Pods/../build/Debug-iphoneos/Nimble.framework"; sourceTree = ""; }; + 497365A81C19BD5A00837617 /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = "Pods/../build/Debug-iphoneos/Nimble.framework"; sourceTree = ""; }; + 49C4EEDD1C5E152800B38CD9 /* SelectedCardViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectedCardViewModel.swift; sourceTree = ""; }; + 49F0E1DE1C1B28FF0074B5B7 /* SnapshotHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotHelper.swift; sourceTree = ""; }; + 49F0E1E01C1B300E0074B5B7 /* SnapshotCapturer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnapshotCapturer.swift; sourceTree = ""; }; + 49F4A5881C583A95007C84A1 /* Animation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Animation.swift; sourceTree = ""; }; + 49F4A58A1C583AB3007C84A1 /* Transform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transform.swift; sourceTree = ""; }; + 49F4A58C1C583AE3007C84A1 /* CGPoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGPoint.swift; sourceTree = ""; }; + 49F4A58E1C583AF3007C84A1 /* CGSize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGSize.swift; sourceTree = ""; }; + 49F4A5901C583B0C007C84A1 /* Card.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Card.swift; sourceTree = ""; }; + 49F4A5921C583B4C007C84A1 /* Double.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Double.swift; sourceTree = ""; }; + 49F4A5941C583B61007C84A1 /* FrontCardView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrontCardView.swift; sourceTree = ""; }; + 49F4A5961C583B94007C84A1 /* FrontCardView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FrontCardView.xib; sourceTree = ""; }; + 49F4A5981C583BAF007C84A1 /* Math.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Math.swift; sourceTree = ""; }; + 49F4A59E1C583D88007C84A1 /* RotateRevealSelectedCardAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RotateRevealSelectedCardAnimation.swift; sourceTree = ""; }; + 49F4A5A01C583DAE007C84A1 /* RotateSelectCardAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RotateSelectCardAnimation.swift; sourceTree = ""; }; + 49F4A5A21C583DD8007C84A1 /* SlideToSideRestoreAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SlideToSideRestoreAnimation.swift; sourceTree = ""; }; + 49FBBF8E1C10C2A200A1A4BB /* Mitsumori.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Mitsumori.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 49FBBF911C10C2A200A1A4BB /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 49FBBF961C10C2A200A1A4BB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 49FBBF981C10C2A200A1A4BB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 49FBBF9B1C10C2A200A1A4BB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 49FBBF9D1C10C2A200A1A4BB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 49FBBFBF1C10D05800A1A4BB /* CardCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardCollectionViewCell.swift; sourceTree = ""; }; + 49FBBFC31C10EBE600A1A4BB /* CardsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardsViewController.swift; sourceTree = ""; }; + 49FBBFC71C10FB9C00A1A4BB /* UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIView.swift; sourceTree = ""; }; + 50207757D99BA58B73384B1C /* Pods_MitsumoriUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MitsumoriUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5E9C8B51DFD24BD194B40CE8 /* Pods_Mitsumori.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Mitsumori.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 83CD4CEBE1B7A02772169FE5 /* Pods-Mitsumori.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mitsumori.release.xcconfig"; path = "Pods/Target Support Files/Pods-Mitsumori/Pods-Mitsumori.release.xcconfig"; sourceTree = ""; }; + EBFE74ED1C4900D000B7B646 /* BackCardView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackCardView.swift; sourceTree = ""; }; + EBFE74EF1C4900EB00B7B646 /* BackCardView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BackCardView.xib; sourceTree = ""; }; + F128C4D0067FEE87B2756BC4 /* Pods-Mitsumori.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mitsumori.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Mitsumori/Pods-Mitsumori.debug.xcconfig"; sourceTree = ""; }; + FR_FE870E28DC2371E7ACA886F03F460581 /* Something.xcconfig */ = {isa = PBXFileReference; explicitFileType = text.xcconfig; name = "Something.xcconfig"; path = "Configurations/Something.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 497365991C19BC6E00837617 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 497365A91C19BD5A00837617 /* Nimble.framework in Frameworks */, + 4073733CAB3A0DFF92509CB4 /* Pods_MitsumoriUITests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 49FBBF8B1C10C2A200A1A4BB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 40B8192350A5E6A7FD028AF1 /* Pods_Mitsumori.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3F7D3EDF02E1003A4134947D /* Pods */ = { + isa = PBXGroup; + children = ( + 274E42B0193BA6FEFA8FD71C /* Pods-MitsumoriUITests.debug.xcconfig */, + 2757E033CFB59572DA4E60B3 /* Pods-MitsumoriUITests.release.xcconfig */, + F128C4D0067FEE87B2756BC4 /* Pods-Mitsumori.debug.xcconfig */, + 83CD4CEBE1B7A02772169FE5 /* Pods-Mitsumori.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + 4973659D1C19BC6E00837617 /* MitsumoriUITests */ = { + isa = PBXGroup; + children = ( + 49F0E1DE1C1B28FF0074B5B7 /* SnapshotHelper.swift */, + 4973659E1C19BC6E00837617 /* MitsumoriUITests.swift */, + 497365A01C19BC6E00837617 /* Info.plist */, + 49F0E1E01C1B300E0074B5B7 /* SnapshotCapturer.swift */, + ); + path = MitsumoriUITests; + sourceTree = ""; + }; + 49F4A5811C583958007C84A1 /* Animation */ = { + isa = PBXGroup; + children = ( + 49F4A5881C583A95007C84A1 /* Animation.swift */, + 49F4A59E1C583D88007C84A1 /* RotateRevealSelectedCardAnimation.swift */, + 49F4A5A01C583DAE007C84A1 /* RotateSelectCardAnimation.swift */, + 49F4A5A21C583DD8007C84A1 /* SlideToSideRestoreAnimation.swift */, + ); + name = Animation; + sourceTree = ""; + }; + 49F4A5821C583998007C84A1 /* Extension */ = { + isa = PBXGroup; + children = ( + 49F4A58C1C583AE3007C84A1 /* CGPoint.swift */, + 49F4A58E1C583AF3007C84A1 /* CGSize.swift */, + 49F4A5921C583B4C007C84A1 /* Double.swift */, + 49FBBFC71C10FB9C00A1A4BB /* UIView.swift */, + 490970601C16D9A900200801 /* UIViewTransform.swift */, + 49F4A5981C583BAF007C84A1 /* Math.swift */, + ); + name = Extension; + sourceTree = ""; + }; + 49F4A5831C5839A1007C84A1 /* Model */ = { + isa = PBXGroup; + children = ( + 49F4A5901C583B0C007C84A1 /* Card.swift */, + ); + name = Model; + sourceTree = ""; + }; + 49F4A5841C5839B0007C84A1 /* Storyboard */ = { + isa = PBXGroup; + children = ( + 49FBBF9A1C10C2A200A1A4BB /* LaunchScreen.storyboard */, + 49FBBF951C10C2A200A1A4BB /* Main.storyboard */, + ); + name = Storyboard; + sourceTree = ""; + }; + 49F4A5851C5839B7007C84A1 /* View */ = { + isa = PBXGroup; + children = ( + EBFE74ED1C4900D000B7B646 /* BackCardView.swift */, + EBFE74EF1C4900EB00B7B646 /* BackCardView.xib */, + 49FBBFBF1C10D05800A1A4BB /* CardCollectionViewCell.swift */, + 4959011A1C58F8AB000EE944 /* CustomView.swift */, + 49F4A5941C583B61007C84A1 /* FrontCardView.swift */, + 49F4A5961C583B94007C84A1 /* FrontCardView.xib */, + 49F4A58A1C583AB3007C84A1 /* Transform.swift */, + ); + name = View; + sourceTree = ""; + }; + 49F4A5861C583A12007C84A1 /* ViewController */ = { + isa = PBXGroup; + children = ( + 49FBBFC31C10EBE600A1A4BB /* CardsViewController.swift */, + ); + name = ViewController; + sourceTree = ""; + }; + 49F4A5871C583A25007C84A1 /* ViewModel */ = { + isa = PBXGroup; + children = ( + 495413B51C1424A20071F4A0 /* CardViewModel.swift */, + 49C4EEDD1C5E152800B38CD9 /* SelectedCardViewModel.swift */, + ); + name = ViewModel; + sourceTree = ""; + }; + 49FBBF851C10C2A200A1A4BB = { + isa = PBXGroup; + children = ( + 49FBBF901C10C2A200A1A4BB /* Mitsumori */, + 4973659D1C19BC6E00837617 /* MitsumoriUITests */, + 49FBBF8F1C10C2A200A1A4BB /* Products */, + 3F7D3EDF02E1003A4134947D /* Pods */, + 843513CC76A2B252F7CE6020 /* Frameworks */, + ); + sourceTree = ""; + }; + 49FBBF8F1C10C2A200A1A4BB /* Products */ = { + isa = PBXGroup; + children = ( + 49FBBF8E1C10C2A200A1A4BB /* Mitsumori.app */, + 4973659C1C19BC6E00837617 /* MitsumoriUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 49FBBF901C10C2A200A1A4BB /* Mitsumori */ = { + isa = PBXGroup; + children = ( + 49FBBF981C10C2A200A1A4BB /* Assets.xcassets */, + 49FBBF9D1C10C2A200A1A4BB /* Info.plist */, + 49F4A5811C583958007C84A1 /* Animation */, + 49F4A5821C583998007C84A1 /* Extension */, + 49F4A5831C5839A1007C84A1 /* Model */, + 49F4A5841C5839B0007C84A1 /* Storyboard */, + 49F4A5851C5839B7007C84A1 /* View */, + 49F4A5861C583A12007C84A1 /* ViewController */, + 49F4A5871C583A25007C84A1 /* ViewModel */, + 49FBBF911C10C2A200A1A4BB /* AppDelegate.swift */, + ); + path = Mitsumori; + sourceTree = ""; + }; + 843513CC76A2B252F7CE6020 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 497365A81C19BD5A00837617 /* Nimble.framework */, + 497365A61C19BC9500837617 /* Nimble.framework */, + 0D90B4EBF4714D2C4F8805EE /* Pods_MitsumoriTests.framework */, + 50207757D99BA58B73384B1C /* Pods_MitsumoriUITests.framework */, + 5E9C8B51DFD24BD194B40CE8 /* Pods_Mitsumori.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + G_78452DDA02BFEF5D6BA29AEFB4B1266A /* Configurations */ = { + isa = PBXGroup; + children = ( + FR_FE870E28DC2371E7ACA886F03F460581 /* Something.xcconfig */, + ); + name = Configurations; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 4973659B1C19BC6E00837617 /* MitsumoriUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 497365A31C19BC6E00837617 /* Build configuration list for PBXNativeTarget "MitsumoriUITests" */; + buildPhases = ( + 0D338338AD469905FE45C5D7 /* Check Pods Manifest.lock */, + 497365981C19BC6E00837617 /* Sources */, + 497365991C19BC6E00837617 /* Frameworks */, + 4973659A1C19BC6E00837617 /* Resources */, + 77A1B287EDAA82F36793B49B /* Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + 497365A21C19BC6E00837617 /* PBXTargetDependency */, + ); + name = MitsumoriUITests; + productName = MitsumoriUITests; + productReference = 4973659C1C19BC6E00837617 /* MitsumoriUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + 49FBBF8D1C10C2A200A1A4BB /* Mitsumori */ = { + isa = PBXNativeTarget; + buildConfigurationList = 49FBBFB61C10C2A200A1A4BB /* Build configuration list for PBXNativeTarget "Mitsumori" */; + buildPhases = ( + B413487ECFAF19CC720F6703 /* Check Pods Manifest.lock */, + 49FBBF8A1C10C2A200A1A4BB /* Sources */, + 49FBBF8B1C10C2A200A1A4BB /* Frameworks */, + 49FBBF8C1C10C2A200A1A4BB /* Resources */, + E09A62F1C2781CCB49DC3900 /* Embed Pods Frameworks */, + 19FA3CFC97A494716FCCD298 /* Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Mitsumori; + productName = Mitsumori; + productReference = 49FBBF8E1C10C2A200A1A4BB /* Mitsumori.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 49FBBF861C10C2A200A1A4BB /* Project object */ = { + isa = PBXProject; + attributes = { + DefaultBuildSystemTypeForWorkspace = Original; + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 0710; + ORGANIZATIONNAME = Karumi; + TargetAttributes = { + 4973659B1C19BC6E00837617 = { + CreatedOnToolsVersion = 7.2; + TestTargetID = 49FBBF8D1C10C2A200A1A4BB; + }; + 49FBBF8D1C10C2A200A1A4BB = { + CreatedOnToolsVersion = 7.1.1; + DevelopmentTeam = BD48FG9BMV; + }; + }; + }; + buildConfigurationList = 49FBBF891C10C2A200A1A4BB /* Build configuration list for PBXProject "Mitsumori" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 49FBBF851C10C2A200A1A4BB; + productRefGroup = 49FBBF8F1C10C2A200A1A4BB /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 49FBBF8D1C10C2A200A1A4BB /* Mitsumori */, + 4973659B1C19BC6E00837617 /* MitsumoriUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 4973659A1C19BC6E00837617 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 49FBBF8C1C10C2A200A1A4BB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 49F4A5971C583B94007C84A1 /* FrontCardView.xib in Resources */, + 49FBBF9C1C10C2A200A1A4BB /* LaunchScreen.storyboard in Resources */, + 49FBBF991C10C2A200A1A4BB /* Assets.xcassets in Resources */, + 49FBBF971C10C2A200A1A4BB /* Main.storyboard in Resources */, + EBFE74F01C4900EB00B7B646 /* BackCardView.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 298710CD23D9224C00289428 /* SwiftLint */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 12; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = SwiftLint; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [ \"${CONFIGURATION}\" = \"Debug\" ]; then\n if which \"${SRCROOT}/scripts/swiftlint\" > /dev/null; then\n \"${SRCROOT}/scripts/swiftlint\" --fix --config \"$SRCROOT/.swiftlint.yml\" && \"${SRCROOT}/scripts/swiftlint\" lint --config \"$SRCROOT/.swiftlint.yml\"\n else\n echo \"warning: SwiftLint not installed, ask for help in #ask-ios as it should be present by default.\"\n fi\nfi\n"; + }; + 0D338338AD469905FE45C5D7 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + 19FA3CFC97A494716FCCD298 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Mitsumori/Pods-Mitsumori-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 77A1B287EDAA82F36793B49B /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = (); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MitsumoriUITests/Pods-MitsumoriUITests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + B413487ECFAF19CC720F6703 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + E09A62F1C2781CCB49DC3900 /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Mitsumori/Pods-Mitsumori-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 497365981C19BC6E00837617 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 49F0E1E11C1B300E0074B5B7 /* SnapshotCapturer.swift in Sources */, + 4973659F1C19BC6E00837617 /* MitsumoriUITests.swift in Sources */, + 49F0E1DF1C1B28FF0074B5B7 /* SnapshotHelper.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 49FBBF8A1C10C2A200A1A4BB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 49F4A58D1C583AE3007C84A1 /* CGPoint.swift in Sources */, + 49FBBFC81C10FB9C00A1A4BB /* UIView.swift in Sources */, + 49FBBFC41C10EBE600A1A4BB /* CardsViewController.swift in Sources */, + 49F4A58B1C583AB3007C84A1 /* Transform.swift in Sources */, + 49F4A5911C583B0C007C84A1 /* Card.swift in Sources */, + 49F4A58F1C583AF3007C84A1 /* CGSize.swift in Sources */, + 49F4A5931C583B4C007C84A1 /* Double.swift in Sources */, + 4959011B1C58F8AB000EE944 /* CustomView.swift in Sources */, + 490970611C16D9A900200801 /* UIViewTransform.swift in Sources */, + EBFE74EE1C4900D000B7B646 /* BackCardView.swift in Sources */, + 495413B61C1424A20071F4A0 /* CardViewModel.swift in Sources */, + 49FBBF921C10C2A200A1A4BB /* AppDelegate.swift in Sources */, + 49F4A5891C583A95007C84A1 /* Animation.swift in Sources */, + 49C4EEDE1C5E152800B38CD9 /* SelectedCardViewModel.swift in Sources */, + 49F4A5A11C583DAE007C84A1 /* RotateSelectCardAnimation.swift in Sources */, + 49FBBFC01C10D05800A1A4BB /* CardCollectionViewCell.swift in Sources */, + 49F4A5951C583B61007C84A1 /* FrontCardView.swift in Sources */, + 49F4A59F1C583D88007C84A1 /* RotateRevealSelectedCardAnimation.swift in Sources */, + 49F4A5A31C583DD8007C84A1 /* SlideToSideRestoreAnimation.swift in Sources */, + 49F4A5991C583BAF007C84A1 /* Math.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 497365A21C19BC6E00837617 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = F5F961FF2AD03AE000D334DA /* SwiftlintPlugin */; + target = 49FBBF8D1C10C2A200A1A4BB /* Mitsumori */; + targetProxy = 497365A11C19BC6E00837617 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 49FBBF951C10C2A200A1A4BB /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 49FBBF961C10C2A200A1A4BB /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 49FBBF9A1C10C2A200A1A4BB /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 49FBBF9B1C10C2A200A1A4BB /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 497365A41C19BC6E00837617 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 274E42B0193BA6FEFA8FD71C /* Pods-MitsumoriUITests.debug.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/build/Debug-iphoneos", + ); + INFOPLIST_FILE = MitsumoriUITests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.karumi.MitsumoriUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_TARGET_NAME = Mitsumori; + USES_XCTRUNNER = YES; + }; + name = Debug; + }; + 497365A51C19BC6E00837617 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2757E033CFB59572DA4E60B3 /* Pods-MitsumoriUITests.release.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/build/Debug-iphoneos", + ); + INFOPLIST_FILE = MitsumoriUITests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.karumi.MitsumoriUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_TARGET_NAME = Mitsumori; + USES_XCTRUNNER = YES; + }; + name = Release; + }; + 49FBBFB41C10C2A200A1A4BB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.1; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 49FBBFB51C10C2A200A1A4BB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Distribution: Gokarumi S.L. (BD48FG9BMV)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 49FBBFB71C10C2A200A1A4BB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F128C4D0067FEE87B2756BC4 /* Pods-Mitsumori.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 10; + INFOPLIST_FILE = Mitsumori/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.karumi.mitsumori; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 49FBBFB81C10C2A200A1A4BB /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 83CD4CEBE1B7A02772169FE5 /* Pods-Mitsumori.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 10; + INFOPLIST_FILE = Mitsumori/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.karumi.mitsumori; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 497365A31C19BC6E00837617 /* Build configuration list for PBXNativeTarget "MitsumoriUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 497365A41C19BC6E00837617 /* Debug */, + 497365A51C19BC6E00837617 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 49FBBF891C10C2A200A1A4BB /* Build configuration list for PBXProject "Mitsumori" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 49FBBFB41C10C2A200A1A4BB /* Debug */, + 49FBBFB51C10C2A200A1A4BB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 49FBBFB61C10C2A200A1A4BB /* Build configuration list for PBXNativeTarget "Mitsumori" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 49FBBFB71C10C2A200A1A4BB /* Debug */, + 49FBBFB81C10C2A200A1A4BB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 49FBBF861C10C2A200A1A4BB /* Project object */; +}