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