1 using System;
 2 
 3 private byte[] classMapData = [0u, 120u, 156u, 236u, 221u, 135u, 110u, 227u, 54u, 24u, 0u, 96u, 119u, 219u, 238u, 76u, 247u, 30u, 239u, 255u, 144u, 173u, 3u, 36u, 128u, 75u, 72u, 20u, 167u, 72u, 217u, 223u, 1u, 31u, 124u, 137u, 53u, 168u, 127u, 80u, 180u, 207u, 185u, 156u, 94u, 78u, 167u, 127u, 111u, 127u, 78u, 167u, 211u, 203u, 134u, 79u, 111u, 62u, 190u, 251u, 250u, 147u, 132u, 125u, 82u, 125u, 118u, 243u, 221u, 205u, 7u, 111u, 95u, 255u, 118u, 247u, 220u, 235u, 159u, 191u, 111u, 254u, 185u, 249u, 233u, 230u, 199u, 155u, 223u, 111u, 190u, 188u, 249u, 234u, 230u, 151u, 155u, 111u, 18u, 253u, 250u, 118u, 204u, 239u, 111u, 190u, 189u, 249u, 225u, 237u, 235u, 63u, 110u, 206u, 59u, 249u, 243u, 237u, 156u, 127u, 189u, 61u, 126u, 254u, 246u, 184u, 215u, 249u, 95u, 207u, 245u, 115u, 195u, 220u, 237u, 233u, 195u, 130u, 109u, 191u, 78u, 216u, 191u, 119u, 188u, 247u, 202u, 237u, 140u, 231u, 7u, 128u, 217u, 93u, 3u, 181u, 251u, 167u, 202u, 61u, 214u, 57u, 120u, 172u, 245u, 5u, 135u, 182u, 86u, 63u, 97u, 45u, 133u, 219u, 188u, 156u, 226u, 53u, 244u, 250u, 220u, 101u, 229u, 184u, 37u, 253u, 145u, 210u, 63u, 163u, 231u, 128u, 71u, 34u, 158u, 228u, 120u, 173u, 151u, 203u, 130u, 210u, 251u, 33u, 236u, 97u, 230u, 218u, 12u, 215u, 108u, 169u, 235u, 191u, 217u, 108u, 173u, 33u, 151u, 230u, 141u, 217u, 93u, 131u, 199u, 181u, 191u, 151u, 172u, 223u, 247u, 202u, 67u, 110u, 158u, 122u, 200u, 141u, 249u, 17u, 235u, 255u, 221u, 232u, 122u, 93u, 138u, 91u, 184u, 70u, 103u, 172u, 251u, 215u, 78u, 91u, 185u, 92u, 123u, 62u, 172u, 183u, 165u, 109u, 115u, 107u, 50u, 28u, 99u, 171u, 247u, 16u, 70u, 215u, 224u, 136u, 30u, 28u, 93u, 99u, 207u, 32u, 39u, 47u, 53u, 117u, 92u, 210u, 63u, 51u, 199u, 228u, 125u, 219u, 165u, 62u, 189u, 191u, 230u, 222u, 181u, 188u, 52u, 174u, 212u, 241u, 167u, 236u, 215u, 106u, 253u, 178u, 119u, 222u, 106u, 206u, 63u, 98u, 125u, 215u, 91u, 143u, 120u, 167u, 28u, 183u, 199u, 181u, 212u, 222u, 91u, 246u, 188u, 151u, 205u, 60u, 207u, 245u, 238u, 193u, 212u, 185u, 168u, 100u, 190u, 42u, 141u, 103u, 56u, 63u, 228u, 212u, 77u, 235u, 249u, 41u, 181u, 119u, 214u, 190u, 222u, 187u, 159u, 195u, 251u, 219u, 210u, 246u, 247u, 113u, 221u, 202u, 89u, 152u, 131u, 165u, 156u, 164u, 204u, 33u, 177u, 249u, 62u, 28u, 99u, 105u, 254u, 195u, 235u, 75u, 153u, 111u, 195u, 177u, 165u, 230u, 63u, 118u, 45u, 51u, 228u, 127u, 235u, 239u, 247u, 215u, 29u, 203u, 123u, 74u, 254u, 183u, 242u, 188u, 85u, 139u, 91u, 57u, 171u, 153u, 183u, 183u, 198u, 19u, 59u, 87u, 106u, 30u, 195u, 237u, 102u, 204u, 127u, 105u, 255u, 47u, 213u, 200u, 90u, 254u, 115u, 122u, 47u, 86u, 27u, 53u, 243u, 127u, 202u, 57u, 114u, 174u, 51u, 37u, 31u, 71u, 232u, 255u, 210u, 252u, 231u, 246u, 127u, 172u, 167u, 98u, 115u, 102u, 216u, 179u, 53u, 247u, 255u, 154u, 26u, 188u, 143u, 75u, 44u, 214u, 107u, 115u, 218u, 218u, 28u, 183u, 118u, 205u, 75u, 181u, 179u, 245u, 189u, 216u, 247u, 83u, 107u, 104u, 107u, 126u, 141u, 205u, 137u, 107u, 219u, 198u, 98u, 159u, 59u, 15u, 111u, 141u, 175u, 180u, 255u, 115u, 207u, 147u, 219u, 143u, 61u, 123u, 191u, 213u, 241u, 83u, 231u, 195u, 148u, 185u, 127u, 43u, 238u, 107u, 115u, 233u, 210u, 182u, 45u, 250u, 191u, 70u, 24u, 139u, 148u, 88u, 207u, 156u, 255u, 181u, 109u, 195u, 121u, 110u, 175u, 252u, 199u, 226u, 222u, 42u, 255u, 177u, 250u, 202u, 237u, 255u, 25u, 243u, 223u, 202u, 253u, 252u, 86u, 155u, 255u, 173u, 126u, 62u, 159u, 254u, 159u, 207u, 148u, 109u, 123u, 246u, 255u, 214u, 188u, 152u, 147u, 255u, 156u, 94u, 220u, 58u, 127u, 203u, 115u, 229u, 108u, 151u, 50u, 174u, 176u, 79u, 82u, 238u, 157u, 151u, 96u, 251u, 210u, 252u, 229u, 230u, 191u, 230u, 126u, 48u, 186u, 47u, 91u, 244u, 117u, 216u, 71u, 169u, 177u, 222u, 58u, 110u, 206u, 60u, 209u, 243u, 62u, 221u, 211u, 82u, 111u, 212u, 244u, 88u, 139u, 62u, 206u, 57u, 87u, 106u, 254u, 151u, 230u, 238u, 173u, 49u, 164u, 246u, 93u, 106u, 254u, 99u, 115u, 204u, 168u, 220u, 247u, 60u, 126u, 235u, 121u, 46u, 245u, 156u, 75u, 143u, 75u, 231u, 77u, 173u, 199u, 153u, 148u, 198u, 48u, 39u, 214u, 177u, 248u, 148u, 30u, 107u, 22u, 57u, 53u, 244u, 232u, 70u, 215u, 114u, 142u, 214u, 117u, 144u, 115u, 204u, 220u, 248u, 45u, 157u, 107u, 237u, 249u, 165u, 175u, 183u, 198u, 150u, 115u, 174u, 30u, 177u, 173u, 205u, 199u, 236u, 245u, 23u, 187u, 55u, 158u, 79u, 243u, 143u, 63u, 118u, 77u, 0u, 164u, 89u, 154u, 55u, 83u, 230u, 255u, 107u, 229u, 254u, 179u, 152u, 125u, 252u, 179u, 230u, 103u, 150u, 248u, 204u, 26u, 255u, 103u, 179u, 244u, 122u, 61u, 245u, 181u, 104u, 139u, 215u, 180u, 61u, 94u, 255u, 61u, 211u, 235u, 207u, 35u, 217u, 138u, 175u, 28u, 0u, 0u, 28u, 71u, 203u, 117u, 219u, 158u, 235u, 63u, 235u, 255u, 118u, 241u, 171u, 141u, 123u, 77u, 252u, 151u, 246u, 43u, 125u, 45u, 218u, 42u, 54u, 179u, 156u, 127u, 143u, 215u, 191u, 225u, 126u, 215u, 157u, 207u, 63u, 179u, 61u, 63u, 71u, 176u, 245u, 62u, 204u, 82u, 239u, 157u, 131u, 237u, 106u, 255u, 253u, 121u, 79u, 75u, 227u, 233u, 245u, 239u, 231u, 180u, 115u, 244u, 254u, 127u, 255u, 188u, 193u, 81u, 199u, 63u, 91u, 206u, 103u, 137u, 95u, 206u, 252u, 177u, 54u, 143u, 212u, 238u, 159u, 50u, 215u, 109u, 125u, 14u, 102u, 100u, 126u, 107u, 114u, 63u, 58u, 255u, 45u, 234u, 122u, 212u, 121u, 75u, 234u, 111u, 244u, 253u, 123u, 239u, 252u, 167u, 196u, 96u, 116u, 61u, 237u, 117u, 221u, 107u, 177u, 24u, 185u, 70u, 109u, 81u, 187u, 61u, 107u, 63u, 214u, 119u, 165u, 243u, 255u, 204u, 189u, 56u, 194u, 76u, 247u, 180u, 61u, 123u, 175u, 244u, 158u, 190u, 103u, 253u, 151u, 156u, 171u, 230u, 152u, 71u, 202u, 89u, 238u, 190u, 163u, 235u, 114u, 175u, 58u, 46u, 153u, 99u, 103u, 210u, 162u, 127u, 115u, 226u, 81u, 114u, 156u, 146u, 241u, 142u, 142u, 107u, 40u, 39u, 255u, 71u, 170u, 159u, 220u, 107u, 110u, 57u, 39u, 231u, 212u, 83u, 205u, 253u, 40u, 86u, 79u, 107u, 115u, 227u, 218u, 181u, 142u, 206u, 9u, 140u, 212u, 163u, 95u, 103u, 244u, 136u, 107u, 125u, 96u, 78u, 91u, 235u, 139u, 217u, 215u, 31u, 173u, 198u, 127u, 221u, 120u, 156u, 245u, 250u, 142u, 108u, 235u, 186u, 238u, 115u, 176u, 246u, 154u, 32u, 37u, 118u, 75u, 219u, 165u, 214u, 77u, 77u, 252u, 183u, 214u, 241u, 57u, 227u, 207u, 253u, 61u, 236u, 165u, 251u, 205u, 232u, 253u, 119u, 104u, 182u, 60u, 230u, 71u, 59u, 95u, 195u, 82u, 45u, 231u, 188u, 247u, 83u, 251u, 250u, 183u, 85u, 253u, 30u, 85u, 139u, 247u, 164u, 194u, 239u, 213u, 30u, 175u, 85u, 45u, 148u, 220u, 39u, 82u, 247u, 219u, 26u, 199u, 210u, 99u, 237u, 61u, 97u, 233u, 56u, 169u, 53u, 221u, 163u, 119u, 90u, 92u, 215u, 30u, 98u, 227u, 31u, 61u, 135u, 3u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 60u, 155u, 209u, 159u, 45u, 173u, 253u, 92u, 234u, 232u, 49u, 60u, 243u, 248u, 233u, 35u, 245u, 179u, 226u, 75u, 63u, 199u, 251u, 40u, 159u, 63u, 143u, 125u, 198u, 254u, 124u, 154u, 127u, 252u, 189u, 107u, 161u, 197u, 207u, 32u, 244u, 254u, 249u, 239u, 218u, 250u, 123u, 134u, 231u, 103u, 248u, 127u, 1u, 0u, 128u, 99u, 105u, 241u, 30u, 64u, 120u, 204u, 220u, 53u, 92u, 173u, 148u, 181u, 100u, 108u, 253u, 18u, 91u, 123u, 166u, 172u, 75u, 247u, 90u, 203u, 63u, 155u, 247u, 248u, 198u, 254u, 175u, 41u, 241u, 223u, 55u, 31u, 107u, 57u, 58u, 106u, 63u, 28u, 109u, 188u, 143u, 100u, 175u, 185u, 127u, 166u, 241u, 206u, 70u, 76u, 0u, 128u, 92u, 163u, 215u, 144u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 204u, 101u, 244u, 239u, 213u, 57u, 138u, 209u, 121u, 2u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 56u, 170u, 107u, 165u, 209u, 227u, 7u, 0u, 0u, 0u, 96u, 62u, 181u, 239u, 57u, 61u, 146u, 209u, 185u, 168u, 205u, 225u, 232u, 113u, 0u, 199u, 210u, 114u, 254u, 187u, 36u, 90u, 58u, 247u, 51u, 207u, 223u, 239u, 177u, 11u, 175u, 39u, 53u, 158u, 163u, 175u, 61u, 204u, 43u, 117u, 113u, 28u, 189u, 14u, 42u, 237u, 173u, 71u, 232u, 195u, 71u, 247u, 200u, 57u, 138u, 93u, 219u, 232u, 254u, 217u, 243u, 222u, 22u, 206u, 197u, 75u, 115u, 115u, 239u, 249u, 122u, 237u, 62u, 53u, 75u, 140u, 142u, 32u, 247u, 250u, 31u, 237u, 62u, 156u, 186u, 254u, 73u, 89u, 31u, 229u, 196u, 175u, 244u, 120u, 173u, 198u, 155u, 82u, 15u, 231u, 211u, 255u, 107u, 190u, 197u, 241u, 71u, 229u, 113u, 143u, 254u, 237u, 89u, 55u, 35u, 231u, 159u, 88u, 253u, 141u, 238u, 223u, 189u, 243u, 85u, 115u, 143u, 201u, 57u, 103u, 78u, 254u, 115u, 242u, 80u, 211u, 191u, 71u, 185u, 255u, 245u, 204u, 107u, 110u, 220u, 195u, 99u, 247u, 200u, 127u, 43u, 177u, 90u, 29u, 157u, 211u, 150u, 181u, 177u, 118u, 109u, 177u, 107u, 189u, 4u, 251u, 134u, 241u, 234u, 189u, 214u, 44u, 201u, 127u, 234u, 125u, 48u, 119u, 94u, 219u, 170u, 159u, 218u, 231u, 75u, 239u, 127u, 181u, 207u, 207u, 166u, 100u, 188u, 51u, 174u, 31u, 232u, 35u, 229u, 30u, 114u, 164u, 251u, 15u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 192u, 35u, 187u, 102u, 218u, 115u, 44u, 163u, 99u, 211u, 227u, 154u, 94u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 224u, 137u, 157u, 1u, 56u, 148u, 235u, 155u, 209u, 227u, 32u, 47u, 95u, 179u, 105u, 57u, 230u, 212u, 99u, 188u, 126u, 255u, 146u, 25u, 187u, 210u, 152u, 199u, 190u, 127u, 93u, 217u, 86u, 95u, 29u, 207u, 232u, 62u, 82u, 51u, 0u, 199u, 96u, 206u, 111u, 27u, 199u, 209u, 227u, 24u, 85u, 39u, 71u, 123u, 255u, 46u, 28u, 255u, 165u, 82u, 109u, 255u, 180u, 60u, 127u, 171u, 49u, 229u, 140u, 121u, 198u, 53u, 231u, 35u, 247u, 35u, 245u, 122u, 245u, 66u, 233u, 60u, 49u, 234u, 186u, 47u, 131u, 207u, 63u, 67u, 76u, 158u, 89u, 74u, 188u, 123u, 60u, 63u, 250u, 158u, 241u, 234u, 125u, 253u, 48u, 122u, 28u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 189u, 189u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 255u, 181u, 15u, 7u, 36u, 0u, 0u, 0u, 0u, 130u, 254u, 191u, 238u, 65u, 11u, 20u, 84u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 85u, 245u, 6u, 54u, 198u, 195u, 133u];
 4 private int* classMap = null;
 5 private bool classMapDataCompressed = true;
 6 public static class XPathClassMap
 7 {
 8     public static void Init()
 9     {
10         if (classMap == null)
11         {
12             classMap = System.Lex.CreateClassMap(classMapData.Begin()classMapData.Length()classMapDataCompressed);
13         }
14     }
15     public static int GetClass(uchar c)
16     {
17         int i = cast<int>(c);
18         if (i < 1114112)
19         {
20             return classMap[i];
21         }
22         else
23         {
24             return -1;
25         }
26     }
27 }