diff options
Diffstat (limited to 'lib/unicode/prop/uprop_get_gcb.c')
-rw-r--r-- | lib/unicode/prop/uprop_get_gcb.c | 2486 |
1 files changed, 1271 insertions, 1215 deletions
diff --git a/lib/unicode/prop/uprop_get_gcb.c b/lib/unicode/prop/uprop_get_gcb.c index 5fe941a..3d2804a 100644 --- a/lib/unicode/prop/uprop_get_gcb.c +++ b/lib/unicode/prop/uprop_get_gcb.c @@ -3,1097 +3,553 @@ #include "unicode/prop.h" static constexpr uint8_t stage1[] = { - 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, 3, 3, - 3, 3, 6, 3, 3, 3, 7, 8, 9, 10, 3, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 24, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 3, 50, 51, 52, 53, 3, 3, 3, 3, 3, 54, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 55, 56, 57, 58, - 59, 3, 60, 3, 61, 3, 3, 3, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 3, 3, 71, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, - 72, 73, 3, 74, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 75, 3, 76, 3, 77, 3, 3, 3, 3, 3, 3, 3, 3, - 78, 3, 79, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 80, 81, 82, 3, 3, 3, 3, - 83, 3, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 3, 3, 3, 94, - 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, - 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, - 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, - 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, - 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, - 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, - 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, - 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, - 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, - 99, 100, 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, - 101, 95, 96, 97, 98, 99, 100, 101, 95, 96, 97, 98, 99, 100, 102, 103, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 104, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 105, 3, 3, 1, 3, 3, 81, 106, - 3, 3, 3, 3, 3, 3, 3, 107, 3, 3, 3, 108, 3, 109, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 110, 3, 3, 111, 3, 3, 3, 3, - 3, 3, 3, 3, 112, 3, 3, 3, 3, 3, 113, 114, 3, 115, 116, 3, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 3, 127, 35, 128, 3, 3, - 129, 130, 131, 132, 3, 3, 133, 134, 135, 136, 137, 3, 138, 3, 3, 3, - 139, 3, 3, 3, 140, 141, 3, 142, 143, 144, 145, 3, 3, 3, 3, 3, - 146, 3, 147, 3, 148, 149, 150, 3, 3, 3, 3, 151, 152, 153, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 154, 155, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 156, 157, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 158, 159, 160, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 161, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 162, 163, 3, 3, - 3, 3, 3, 3, 3, 164, 165, 3, 3, 166, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 167, 168, 169, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 170, 3, 171, 3, 157, 3, 3, 3, 3, 3, 172, 173, 3, 3, 3, 3, - 3, 3, 3, 173, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 174, 3, 175, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 176, 3, 3, 3, 3, 3, 3, 3, 177, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 178, 4, 179, 179, 4, 4, 4, 180, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 0, 1, 2, 2, 2, 2, 3, 2, 2, 4, 2, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 2, 2, 30, 2, 2, 2, 2, 2, 2, 2, 31, 32, + 33, 34, 35, 2, 36, 37, 38, 39, 40, 41, 2, 42, 2, 2, 2, 2, + 43, 44, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 45, 46, 47, 2, 2, 2, 2, + 48, 49, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 51, 2, 2, + 52, 53, 54, 55, 56, 57, 2, 58, 59, 60, 61, 62, 63, 64, 65, 59, + 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, + 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, + 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, + 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, + 61, 62, 63, 64, 65, 59, 60, 61, 62, 63, 64, 65, 59, 60, 61, 66, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 67, 2, 2, 2, 2, 2, 68, 69, 2, 70, + 2, 2, 2, 71, 2, 72, 73, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 74, 75, 2, 2, 2, 2, 76, 2, 2, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 2, 87, 88, 2, 89, 90, 91, 92, 2, + 93, 2, 94, 95, 96, 97, 2, 2, 98, 99, 100, 101, 2, 102, 103, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 104, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 105, 106, 2, 2, 2, 2, 2, 2, 2, 107, 108, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 109, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 110, 2, + 2, 2, 111, 112, 113, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 114, 115, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 116, 117, 106, 2, 2, 118, 2, 2, 2, 119, 2, 2, 2, 2, 2, 2, + 2, 120, 121, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 122, 2, 2, 2, 123, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 124, 125, 126, 127, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; -static constexpr enum uprop_gcb stage2[][64] = { +static constexpr enum uprop_gcb stage2[][128] = { {GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_LF, GCB_CN, GCB_CN, GCB_CR, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, @@ -1101,8 +557,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1117,6 +573,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1125,6 +589,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1133,8 +605,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1149,6 +621,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1157,8 +637,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX}, - {GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, + GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1173,8 +653,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1184,6 +664,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_PP, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX, @@ -1197,8 +685,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1213,8 +701,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1229,8 +717,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1245,8 +733,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1261,8 +749,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_SM, GCB_SM}, - {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_SM, GCB_SM, + GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1277,8 +765,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_SM}, - {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_SM, + GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1293,8 +781,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM}, - {GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM, + GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1302,7 +790,15 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, + {GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM, + GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1317,8 +813,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX}, - {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, + GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1333,8 +829,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM}, - {GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, + GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1349,8 +845,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, + GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1365,8 +861,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX}, - {GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_SM, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, + GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1381,8 +877,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_SM}, - {GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_SM, + GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_SM, + GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_PP, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1397,8 +893,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, @@ -1413,8 +909,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1429,8 +925,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1445,8 +941,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, - GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1461,8 +957,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1477,8 +973,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, @@ -1493,6 +989,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, @@ -1501,8 +1005,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, - GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L}, - {GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, + GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, + GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, GCB_L, @@ -1517,8 +1021,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, - GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T}, - {GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, + GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, + GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, @@ -1529,6 +1033,14 @@ static constexpr enum uprop_gcb stage2[][64] = { {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1541,8 +1053,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1557,8 +1069,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM}, - {GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_SM, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, + GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, @@ -1573,6 +1085,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1581,6 +1101,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1589,7 +1117,15 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, - GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, + GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, @@ -1597,8 +1133,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, @@ -1613,8 +1149,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1629,8 +1165,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_SM}, - {GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_SM, + GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1645,8 +1181,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1661,9 +1197,25 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1671,14 +1223,30 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, + {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_EX, GCB_ZWJ, GCB_CN, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1688,6 +1256,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1699,6 +1275,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, @@ -1709,11 +1293,27 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1725,6 +1325,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1733,12 +1341,28 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX}, @@ -1749,8 +1373,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1765,6 +1389,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1773,8 +1405,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, - GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM}, - {GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, + GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, + GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1789,8 +1421,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1805,8 +1437,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM}, - {GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM, + GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1821,8 +1453,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1837,8 +1469,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX, - GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX}, - {GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, + GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1850,6 +1482,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1861,8 +1501,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, - GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT}, - {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, @@ -1877,8 +1517,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, - GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT}, - {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, @@ -1893,16 +1533,72 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT}, {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT}, + {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT}, + {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT}, {GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, + GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LV, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, @@ -1917,8 +1613,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_LVT, GCB_LVT, GCB_LVT, GCB_LVT, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, - GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V}, - {GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_XX, + GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, + GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_V, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, GCB_T, @@ -1933,6 +1629,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -1941,6 +1645,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1948,6 +1660,30 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN}, + {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1957,11 +1693,27 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1972,6 +1724,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, @@ -1981,11 +1741,27 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX}, + GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -1997,6 +1773,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2005,8 +1789,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2014,7 +1798,15 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, + {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2029,6 +1821,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_SM, GCB_EX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2037,8 +1837,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2053,8 +1853,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, - GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_PP, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_PP, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_PP, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2069,8 +1869,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2085,8 +1885,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM}, - {GCB_SM, GCB_XX, GCB_PP, GCB_PP, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, + GCB_SM, GCB_XX, GCB_PP, GCB_PP, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2101,8 +1901,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX, GCB_EX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX}, - {GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, + GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2113,12 +1913,28 @@ static constexpr enum uprop_gcb stage2[][64] = { {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM, + {GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_SM, + GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2133,8 +1949,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, @@ -2149,8 +1965,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX}, - {GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX, + GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2165,8 +1981,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, - GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX}, - {GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX, + GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, @@ -2181,8 +1997,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX}, - {GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_SM, GCB_EX, + GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2197,6 +2013,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2205,6 +2029,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2213,7 +2045,15 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, + GCB_SM, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2221,8 +2061,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_XX, GCB_SM, - GCB_SM, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_PP}, - {GCB_SM, GCB_PP, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_SM, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_PP, + GCB_SM, GCB_PP, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2232,6 +2072,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_XX, GCB_XX, GCB_XX, @@ -2245,8 +2093,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_SM, GCB_PP, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, + GCB_EX, GCB_SM, GCB_PP, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2261,6 +2109,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2269,7 +2125,15 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX}, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -2277,6 +2141,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2285,8 +2157,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, - GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_PP, GCB_EX, + GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_PP, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2301,6 +2173,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2308,6 +2188,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_SM, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_EX, GCB_EX, GCB_PP, GCB_SM, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2317,8 +2205,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM}, - {GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_SM, + GCB_EX, GCB_SM, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2333,8 +2221,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, - GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN}, - {GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2348,6 +2236,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2357,8 +2253,24 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, GCB_SM, @@ -2373,8 +2285,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2389,6 +2301,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -2397,8 +2317,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, - GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2410,6 +2330,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_SM, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, @@ -2421,8 +2349,24 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, + {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2437,8 +2381,8 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, - GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, - {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -2453,6 +2397,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -2461,6 +2413,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, @@ -2469,6 +2429,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2477,24 +2445,56 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX}, - {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + {GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, @@ -2506,6 +2506,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, GCB_RI, @@ -2517,6 +2525,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, + GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_XX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, {GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, @@ -2525,6 +2541,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, {GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, @@ -2533,6 +2557,14 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, + GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN}, {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, @@ -2540,6 +2572,30 @@ static constexpr enum uprop_gcb stage2[][64] = { GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX}, + {GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, + GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_EX, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN, GCB_CN}, }; @@ -2547,5 +2603,5 @@ static constexpr enum uprop_gcb stage2[][64] = { enum uprop_gcb uprop_get_gcb(rune ch) { - return stage2[stage1[ch / 64]][ch % 64]; + return stage2[stage1[ch / 128]][ch % 128]; } |