des
The DES library, a software library dedicated to the Data Encryption Standard (DES).
:Date: 2020-05-04 :Authors: - Renaud Pacalet, renaud.pacalet@telecom-paris.fr
Attention
- Most functions of the des library check their input parameters and issue warnings or errors when they carry invalid values. Warnings are printed on the standard error output. Errors are also printed on the standard error output and the program exits.
- The des library uses a single data type to represent all the data of the DES standard: unsigned integers.
- Data are always right aligned: the meaningful bits are always the rightmost bits of the unsigned integer.
1# MAIN-ONLY: DO NOT MODIFY THIS FILE 2 3# 4# Copyright (C) Telecom Paris 5# 6# This file must be used under the terms of the CeCILL. This source 7# file is licensed as described in the file COPYING, which you should 8# have received as part of this distribution. The terms are also 9# available at: 10# https://cecill.info/licences/Licence_CeCILL_V2.1-en.html 11# 12 13""" 14The DES library, a software library dedicated to the Data Encryption Standard (DES). 15 16:Date: 2020-05-04 17:Authors: 18 - Renaud Pacalet, renaud.pacalet@telecom-paris.fr 19 20Attention 21========= 22 231. Most functions of the des library check their input parameters and issue 24warnings or errors when they carry invalid values. Warnings are printed on the 25standard error output. Errors are also printed on the standard error output and 26the program exits. 272. The des library uses a single data type to represent all the data of the DES 28standard: unsigned integers. 293. Data are always right aligned: the meaningful bits are always the rightmost 30bits of the unsigned integer. 31 32""" 33 34import sys 35 36# Number of test vectors 37NUM_TEST_VECTORS = 64 38 39# IP permutation table 40IP_K = ( 41 0x0000000000000000, 0x0000008000000000, 42 0x0000000000000080, 0x0000008000000080, 43 0x0000800000000000, 0x0000808000000000, 44 0x0000800000000080, 0x0000808000000080, 45 0x0000000000008000, 0x0000008000008000, 46 0x0000000000008080, 0x0000008000008080, 47 0x0000800000008000, 0x0000808000008000, 48 0x0000800000008080, 0x0000808000008080, 49 0x0080000000000000, 0x0080008000000000, 50 0x0080000000000080, 0x0080008000000080, 51 0x0080800000000000, 0x0080808000000000, 52 0x0080800000000080, 0x0080808000000080, 53 0x0080000000008000, 0x0080008000008000, 54 0x0080000000008080, 0x0080008000008080, 55 0x0080800000008000, 0x0080808000008000, 56 0x0080800000008080, 0x0080808000008080, 57 0x0000000000800000, 0x0000008000800000, 58 0x0000000000800080, 0x0000008000800080, 59 0x0000800000800000, 0x0000808000800000, 60 0x0000800000800080, 0x0000808000800080, 61 0x0000000000808000, 0x0000008000808000, 62 0x0000000000808080, 0x0000008000808080, 63 0x0000800000808000, 0x0000808000808000, 64 0x0000800000808080, 0x0000808000808080, 65 0x0080000000800000, 0x0080008000800000, 66 0x0080000000800080, 0x0080008000800080, 67 0x0080800000800000, 0x0080808000800000, 68 0x0080800000800080, 0x0080808000800080, 69 0x0080000000808000, 0x0080008000808000, 70 0x0080000000808080, 0x0080008000808080, 71 0x0080800000808000, 0x0080808000808000, 72 0x0080800000808080, 0x0080808000808080, 73 0x8000000000000000, 0x8000008000000000, 74 0x8000000000000080, 0x8000008000000080, 75 0x8000800000000000, 0x8000808000000000, 76 0x8000800000000080, 0x8000808000000080, 77 0x8000000000008000, 0x8000008000008000, 78 0x8000000000008080, 0x8000008000008080, 79 0x8000800000008000, 0x8000808000008000, 80 0x8000800000008080, 0x8000808000008080, 81 0x8080000000000000, 0x8080008000000000, 82 0x8080000000000080, 0x8080008000000080, 83 0x8080800000000000, 0x8080808000000000, 84 0x8080800000000080, 0x8080808000000080, 85 0x8080000000008000, 0x8080008000008000, 86 0x8080000000008080, 0x8080008000008080, 87 0x8080800000008000, 0x8080808000008000, 88 0x8080800000008080, 0x8080808000008080, 89 0x8000000000800000, 0x8000008000800000, 90 0x8000000000800080, 0x8000008000800080, 91 0x8000800000800000, 0x8000808000800000, 92 0x8000800000800080, 0x8000808000800080, 93 0x8000000000808000, 0x8000008000808000, 94 0x8000000000808080, 0x8000008000808080, 95 0x8000800000808000, 0x8000808000808000, 96 0x8000800000808080, 0x8000808000808080, 97 0x8080000000800000, 0x8080008000800000, 98 0x8080000000800080, 0x8080008000800080, 99 0x8080800000800000, 0x8080808000800000, 100 0x8080800000800080, 0x8080808000800080, 101 0x8080000000808000, 0x8080008000808000, 102 0x8080000000808080, 0x8080008000808080, 103 0x8080800000808000, 0x8080808000808000, 104 0x8080800000808080, 0x8080808000808080, 105 0x0000000080000000, 0x0000008080000000, 106 0x0000000080000080, 0x0000008080000080, 107 0x0000800080000000, 0x0000808080000000, 108 0x0000800080000080, 0x0000808080000080, 109 0x0000000080008000, 0x0000008080008000, 110 0x0000000080008080, 0x0000008080008080, 111 0x0000800080008000, 0x0000808080008000, 112 0x0000800080008080, 0x0000808080008080, 113 0x0080000080000000, 0x0080008080000000, 114 0x0080000080000080, 0x0080008080000080, 115 0x0080800080000000, 0x0080808080000000, 116 0x0080800080000080, 0x0080808080000080, 117 0x0080000080008000, 0x0080008080008000, 118 0x0080000080008080, 0x0080008080008080, 119 0x0080800080008000, 0x0080808080008000, 120 0x0080800080008080, 0x0080808080008080, 121 0x0000000080800000, 0x0000008080800000, 122 0x0000000080800080, 0x0000008080800080, 123 0x0000800080800000, 0x0000808080800000, 124 0x0000800080800080, 0x0000808080800080, 125 0x0000000080808000, 0x0000008080808000, 126 0x0000000080808080, 0x0000008080808080, 127 0x0000800080808000, 0x0000808080808000, 128 0x0000800080808080, 0x0000808080808080, 129 0x0080000080800000, 0x0080008080800000, 130 0x0080000080800080, 0x0080008080800080, 131 0x0080800080800000, 0x0080808080800000, 132 0x0080800080800080, 0x0080808080800080, 133 0x0080000080808000, 0x0080008080808000, 134 0x0080000080808080, 0x0080008080808080, 135 0x0080800080808000, 0x0080808080808000, 136 0x0080800080808080, 0x0080808080808080, 137 0x8000000080000000, 0x8000008080000000, 138 0x8000000080000080, 0x8000008080000080, 139 0x8000800080000000, 0x8000808080000000, 140 0x8000800080000080, 0x8000808080000080, 141 0x8000000080008000, 0x8000008080008000, 142 0x8000000080008080, 0x8000008080008080, 143 0x8000800080008000, 0x8000808080008000, 144 0x8000800080008080, 0x8000808080008080, 145 0x8080000080000000, 0x8080008080000000, 146 0x8080000080000080, 0x8080008080000080, 147 0x8080800080000000, 0x8080808080000000, 148 0x8080800080000080, 0x8080808080000080, 149 0x8080000080008000, 0x8080008080008000, 150 0x8080000080008080, 0x8080008080008080, 151 0x8080800080008000, 0x8080808080008000, 152 0x8080800080008080, 0x8080808080008080, 153 0x8000000080800000, 0x8000008080800000, 154 0x8000000080800080, 0x8000008080800080, 155 0x8000800080800000, 0x8000808080800000, 156 0x8000800080800080, 0x8000808080800080, 157 0x8000000080808000, 0x8000008080808000, 158 0x8000000080808080, 0x8000008080808080, 159 0x8000800080808000, 0x8000808080808000, 160 0x8000800080808080, 0x8000808080808080, 161 0x8080000080800000, 0x8080008080800000, 162 0x8080000080800080, 0x8080008080800080, 163 0x8080800080800000, 0x8080808080800000, 164 0x8080800080800080, 0x8080808080800080, 165 0x8080000080808000, 0x8080008080808000, 166 0x8080000080808080, 0x8080008080808080, 167 0x8080800080808000, 0x8080808080808000, 168 0x8080800080808080, 0x8080808080808080, 169 0x0000000000000000, 0x0000004000000000, 170 0x0000000000000040, 0x0000004000000040, 171 0x0000400000000000, 0x0000404000000000, 172 0x0000400000000040, 0x0000404000000040, 173 0x0000000000004000, 0x0000004000004000, 174 0x0000000000004040, 0x0000004000004040, 175 0x0000400000004000, 0x0000404000004000, 176 0x0000400000004040, 0x0000404000004040, 177 0x0040000000000000, 0x0040004000000000, 178 0x0040000000000040, 0x0040004000000040, 179 0x0040400000000000, 0x0040404000000000, 180 0x0040400000000040, 0x0040404000000040, 181 0x0040000000004000, 0x0040004000004000, 182 0x0040000000004040, 0x0040004000004040, 183 0x0040400000004000, 0x0040404000004000, 184 0x0040400000004040, 0x0040404000004040, 185 0x0000000000400000, 0x0000004000400000, 186 0x0000000000400040, 0x0000004000400040, 187 0x0000400000400000, 0x0000404000400000, 188 0x0000400000400040, 0x0000404000400040, 189 0x0000000000404000, 0x0000004000404000, 190 0x0000000000404040, 0x0000004000404040, 191 0x0000400000404000, 0x0000404000404000, 192 0x0000400000404040, 0x0000404000404040, 193 0x0040000000400000, 0x0040004000400000, 194 0x0040000000400040, 0x0040004000400040, 195 0x0040400000400000, 0x0040404000400000, 196 0x0040400000400040, 0x0040404000400040, 197 0x0040000000404000, 0x0040004000404000, 198 0x0040000000404040, 0x0040004000404040, 199 0x0040400000404000, 0x0040404000404000, 200 0x0040400000404040, 0x0040404000404040, 201 0x4000000000000000, 0x4000004000000000, 202 0x4000000000000040, 0x4000004000000040, 203 0x4000400000000000, 0x4000404000000000, 204 0x4000400000000040, 0x4000404000000040, 205 0x4000000000004000, 0x4000004000004000, 206 0x4000000000004040, 0x4000004000004040, 207 0x4000400000004000, 0x4000404000004000, 208 0x4000400000004040, 0x4000404000004040, 209 0x4040000000000000, 0x4040004000000000, 210 0x4040000000000040, 0x4040004000000040, 211 0x4040400000000000, 0x4040404000000000, 212 0x4040400000000040, 0x4040404000000040, 213 0x4040000000004000, 0x4040004000004000, 214 0x4040000000004040, 0x4040004000004040, 215 0x4040400000004000, 0x4040404000004000, 216 0x4040400000004040, 0x4040404000004040, 217 0x4000000000400000, 0x4000004000400000, 218 0x4000000000400040, 0x4000004000400040, 219 0x4000400000400000, 0x4000404000400000, 220 0x4000400000400040, 0x4000404000400040, 221 0x4000000000404000, 0x4000004000404000, 222 0x4000000000404040, 0x4000004000404040, 223 0x4000400000404000, 0x4000404000404000, 224 0x4000400000404040, 0x4000404000404040, 225 0x4040000000400000, 0x4040004000400000, 226 0x4040000000400040, 0x4040004000400040, 227 0x4040400000400000, 0x4040404000400000, 228 0x4040400000400040, 0x4040404000400040, 229 0x4040000000404000, 0x4040004000404000, 230 0x4040000000404040, 0x4040004000404040, 231 0x4040400000404000, 0x4040404000404000, 232 0x4040400000404040, 0x4040404000404040, 233 0x0000000040000000, 0x0000004040000000, 234 0x0000000040000040, 0x0000004040000040, 235 0x0000400040000000, 0x0000404040000000, 236 0x0000400040000040, 0x0000404040000040, 237 0x0000000040004000, 0x0000004040004000, 238 0x0000000040004040, 0x0000004040004040, 239 0x0000400040004000, 0x0000404040004000, 240 0x0000400040004040, 0x0000404040004040, 241 0x0040000040000000, 0x0040004040000000, 242 0x0040000040000040, 0x0040004040000040, 243 0x0040400040000000, 0x0040404040000000, 244 0x0040400040000040, 0x0040404040000040, 245 0x0040000040004000, 0x0040004040004000, 246 0x0040000040004040, 0x0040004040004040, 247 0x0040400040004000, 0x0040404040004000, 248 0x0040400040004040, 0x0040404040004040, 249 0x0000000040400000, 0x0000004040400000, 250 0x0000000040400040, 0x0000004040400040, 251 0x0000400040400000, 0x0000404040400000, 252 0x0000400040400040, 0x0000404040400040, 253 0x0000000040404000, 0x0000004040404000, 254 0x0000000040404040, 0x0000004040404040, 255 0x0000400040404000, 0x0000404040404000, 256 0x0000400040404040, 0x0000404040404040, 257 0x0040000040400000, 0x0040004040400000, 258 0x0040000040400040, 0x0040004040400040, 259 0x0040400040400000, 0x0040404040400000, 260 0x0040400040400040, 0x0040404040400040, 261 0x0040000040404000, 0x0040004040404000, 262 0x0040000040404040, 0x0040004040404040, 263 0x0040400040404000, 0x0040404040404000, 264 0x0040400040404040, 0x0040404040404040, 265 0x4000000040000000, 0x4000004040000000, 266 0x4000000040000040, 0x4000004040000040, 267 0x4000400040000000, 0x4000404040000000, 268 0x4000400040000040, 0x4000404040000040, 269 0x4000000040004000, 0x4000004040004000, 270 0x4000000040004040, 0x4000004040004040, 271 0x4000400040004000, 0x4000404040004000, 272 0x4000400040004040, 0x4000404040004040, 273 0x4040000040000000, 0x4040004040000000, 274 0x4040000040000040, 0x4040004040000040, 275 0x4040400040000000, 0x4040404040000000, 276 0x4040400040000040, 0x4040404040000040, 277 0x4040000040004000, 0x4040004040004000, 278 0x4040000040004040, 0x4040004040004040, 279 0x4040400040004000, 0x4040404040004000, 280 0x4040400040004040, 0x4040404040004040, 281 0x4000000040400000, 0x4000004040400000, 282 0x4000000040400040, 0x4000004040400040, 283 0x4000400040400000, 0x4000404040400000, 284 0x4000400040400040, 0x4000404040400040, 285 0x4000000040404000, 0x4000004040404000, 286 0x4000000040404040, 0x4000004040404040, 287 0x4000400040404000, 0x4000404040404000, 288 0x4000400040404040, 0x4000404040404040, 289 0x4040000040400000, 0x4040004040400000, 290 0x4040000040400040, 0x4040004040400040, 291 0x4040400040400000, 0x4040404040400000, 292 0x4040400040400040, 0x4040404040400040, 293 0x4040000040404000, 0x4040004040404000, 294 0x4040000040404040, 0x4040004040404040, 295 0x4040400040404000, 0x4040404040404000, 296 0x4040400040404040, 0x4040404040404040, 297 0x0000000000000000, 0x0000002000000000, 298 0x0000000000000020, 0x0000002000000020, 299 0x0000200000000000, 0x0000202000000000, 300 0x0000200000000020, 0x0000202000000020, 301 0x0000000000002000, 0x0000002000002000, 302 0x0000000000002020, 0x0000002000002020, 303 0x0000200000002000, 0x0000202000002000, 304 0x0000200000002020, 0x0000202000002020, 305 0x0020000000000000, 0x0020002000000000, 306 0x0020000000000020, 0x0020002000000020, 307 0x0020200000000000, 0x0020202000000000, 308 0x0020200000000020, 0x0020202000000020, 309 0x0020000000002000, 0x0020002000002000, 310 0x0020000000002020, 0x0020002000002020, 311 0x0020200000002000, 0x0020202000002000, 312 0x0020200000002020, 0x0020202000002020, 313 0x0000000000200000, 0x0000002000200000, 314 0x0000000000200020, 0x0000002000200020, 315 0x0000200000200000, 0x0000202000200000, 316 0x0000200000200020, 0x0000202000200020, 317 0x0000000000202000, 0x0000002000202000, 318 0x0000000000202020, 0x0000002000202020, 319 0x0000200000202000, 0x0000202000202000, 320 0x0000200000202020, 0x0000202000202020, 321 0x0020000000200000, 0x0020002000200000, 322 0x0020000000200020, 0x0020002000200020, 323 0x0020200000200000, 0x0020202000200000, 324 0x0020200000200020, 0x0020202000200020, 325 0x0020000000202000, 0x0020002000202000, 326 0x0020000000202020, 0x0020002000202020, 327 0x0020200000202000, 0x0020202000202000, 328 0x0020200000202020, 0x0020202000202020, 329 0x2000000000000000, 0x2000002000000000, 330 0x2000000000000020, 0x2000002000000020, 331 0x2000200000000000, 0x2000202000000000, 332 0x2000200000000020, 0x2000202000000020, 333 0x2000000000002000, 0x2000002000002000, 334 0x2000000000002020, 0x2000002000002020, 335 0x2000200000002000, 0x2000202000002000, 336 0x2000200000002020, 0x2000202000002020, 337 0x2020000000000000, 0x2020002000000000, 338 0x2020000000000020, 0x2020002000000020, 339 0x2020200000000000, 0x2020202000000000, 340 0x2020200000000020, 0x2020202000000020, 341 0x2020000000002000, 0x2020002000002000, 342 0x2020000000002020, 0x2020002000002020, 343 0x2020200000002000, 0x2020202000002000, 344 0x2020200000002020, 0x2020202000002020, 345 0x2000000000200000, 0x2000002000200000, 346 0x2000000000200020, 0x2000002000200020, 347 0x2000200000200000, 0x2000202000200000, 348 0x2000200000200020, 0x2000202000200020, 349 0x2000000000202000, 0x2000002000202000, 350 0x2000000000202020, 0x2000002000202020, 351 0x2000200000202000, 0x2000202000202000, 352 0x2000200000202020, 0x2000202000202020, 353 0x2020000000200000, 0x2020002000200000, 354 0x2020000000200020, 0x2020002000200020, 355 0x2020200000200000, 0x2020202000200000, 356 0x2020200000200020, 0x2020202000200020, 357 0x2020000000202000, 0x2020002000202000, 358 0x2020000000202020, 0x2020002000202020, 359 0x2020200000202000, 0x2020202000202000, 360 0x2020200000202020, 0x2020202000202020, 361 0x0000000020000000, 0x0000002020000000, 362 0x0000000020000020, 0x0000002020000020, 363 0x0000200020000000, 0x0000202020000000, 364 0x0000200020000020, 0x0000202020000020, 365 0x0000000020002000, 0x0000002020002000, 366 0x0000000020002020, 0x0000002020002020, 367 0x0000200020002000, 0x0000202020002000, 368 0x0000200020002020, 0x0000202020002020, 369 0x0020000020000000, 0x0020002020000000, 370 0x0020000020000020, 0x0020002020000020, 371 0x0020200020000000, 0x0020202020000000, 372 0x0020200020000020, 0x0020202020000020, 373 0x0020000020002000, 0x0020002020002000, 374 0x0020000020002020, 0x0020002020002020, 375 0x0020200020002000, 0x0020202020002000, 376 0x0020200020002020, 0x0020202020002020, 377 0x0000000020200000, 0x0000002020200000, 378 0x0000000020200020, 0x0000002020200020, 379 0x0000200020200000, 0x0000202020200000, 380 0x0000200020200020, 0x0000202020200020, 381 0x0000000020202000, 0x0000002020202000, 382 0x0000000020202020, 0x0000002020202020, 383 0x0000200020202000, 0x0000202020202000, 384 0x0000200020202020, 0x0000202020202020, 385 0x0020000020200000, 0x0020002020200000, 386 0x0020000020200020, 0x0020002020200020, 387 0x0020200020200000, 0x0020202020200000, 388 0x0020200020200020, 0x0020202020200020, 389 0x0020000020202000, 0x0020002020202000, 390 0x0020000020202020, 0x0020002020202020, 391 0x0020200020202000, 0x0020202020202000, 392 0x0020200020202020, 0x0020202020202020, 393 0x2000000020000000, 0x2000002020000000, 394 0x2000000020000020, 0x2000002020000020, 395 0x2000200020000000, 0x2000202020000000, 396 0x2000200020000020, 0x2000202020000020, 397 0x2000000020002000, 0x2000002020002000, 398 0x2000000020002020, 0x2000002020002020, 399 0x2000200020002000, 0x2000202020002000, 400 0x2000200020002020, 0x2000202020002020, 401 0x2020000020000000, 0x2020002020000000, 402 0x2020000020000020, 0x2020002020000020, 403 0x2020200020000000, 0x2020202020000000, 404 0x2020200020000020, 0x2020202020000020, 405 0x2020000020002000, 0x2020002020002000, 406 0x2020000020002020, 0x2020002020002020, 407 0x2020200020002000, 0x2020202020002000, 408 0x2020200020002020, 0x2020202020002020, 409 0x2000000020200000, 0x2000002020200000, 410 0x2000000020200020, 0x2000002020200020, 411 0x2000200020200000, 0x2000202020200000, 412 0x2000200020200020, 0x2000202020200020, 413 0x2000000020202000, 0x2000002020202000, 414 0x2000000020202020, 0x2000002020202020, 415 0x2000200020202000, 0x2000202020202000, 416 0x2000200020202020, 0x2000202020202020, 417 0x2020000020200000, 0x2020002020200000, 418 0x2020000020200020, 0x2020002020200020, 419 0x2020200020200000, 0x2020202020200000, 420 0x2020200020200020, 0x2020202020200020, 421 0x2020000020202000, 0x2020002020202000, 422 0x2020000020202020, 0x2020002020202020, 423 0x2020200020202000, 0x2020202020202000, 424 0x2020200020202020, 0x2020202020202020, 425 0x0000000000000000, 0x0000001000000000, 426 0x0000000000000010, 0x0000001000000010, 427 0x0000100000000000, 0x0000101000000000, 428 0x0000100000000010, 0x0000101000000010, 429 0x0000000000001000, 0x0000001000001000, 430 0x0000000000001010, 0x0000001000001010, 431 0x0000100000001000, 0x0000101000001000, 432 0x0000100000001010, 0x0000101000001010, 433 0x0010000000000000, 0x0010001000000000, 434 0x0010000000000010, 0x0010001000000010, 435 0x0010100000000000, 0x0010101000000000, 436 0x0010100000000010, 0x0010101000000010, 437 0x0010000000001000, 0x0010001000001000, 438 0x0010000000001010, 0x0010001000001010, 439 0x0010100000001000, 0x0010101000001000, 440 0x0010100000001010, 0x0010101000001010, 441 0x0000000000100000, 0x0000001000100000, 442 0x0000000000100010, 0x0000001000100010, 443 0x0000100000100000, 0x0000101000100000, 444 0x0000100000100010, 0x0000101000100010, 445 0x0000000000101000, 0x0000001000101000, 446 0x0000000000101010, 0x0000001000101010, 447 0x0000100000101000, 0x0000101000101000, 448 0x0000100000101010, 0x0000101000101010, 449 0x0010000000100000, 0x0010001000100000, 450 0x0010000000100010, 0x0010001000100010, 451 0x0010100000100000, 0x0010101000100000, 452 0x0010100000100010, 0x0010101000100010, 453 0x0010000000101000, 0x0010001000101000, 454 0x0010000000101010, 0x0010001000101010, 455 0x0010100000101000, 0x0010101000101000, 456 0x0010100000101010, 0x0010101000101010, 457 0x1000000000000000, 0x1000001000000000, 458 0x1000000000000010, 0x1000001000000010, 459 0x1000100000000000, 0x1000101000000000, 460 0x1000100000000010, 0x1000101000000010, 461 0x1000000000001000, 0x1000001000001000, 462 0x1000000000001010, 0x1000001000001010, 463 0x1000100000001000, 0x1000101000001000, 464 0x1000100000001010, 0x1000101000001010, 465 0x1010000000000000, 0x1010001000000000, 466 0x1010000000000010, 0x1010001000000010, 467 0x1010100000000000, 0x1010101000000000, 468 0x1010100000000010, 0x1010101000000010, 469 0x1010000000001000, 0x1010001000001000, 470 0x1010000000001010, 0x1010001000001010, 471 0x1010100000001000, 0x1010101000001000, 472 0x1010100000001010, 0x1010101000001010, 473 0x1000000000100000, 0x1000001000100000, 474 0x1000000000100010, 0x1000001000100010, 475 0x1000100000100000, 0x1000101000100000, 476 0x1000100000100010, 0x1000101000100010, 477 0x1000000000101000, 0x1000001000101000, 478 0x1000000000101010, 0x1000001000101010, 479 0x1000100000101000, 0x1000101000101000, 480 0x1000100000101010, 0x1000101000101010, 481 0x1010000000100000, 0x1010001000100000, 482 0x1010000000100010, 0x1010001000100010, 483 0x1010100000100000, 0x1010101000100000, 484 0x1010100000100010, 0x1010101000100010, 485 0x1010000000101000, 0x1010001000101000, 486 0x1010000000101010, 0x1010001000101010, 487 0x1010100000101000, 0x1010101000101000, 488 0x1010100000101010, 0x1010101000101010, 489 0x0000000010000000, 0x0000001010000000, 490 0x0000000010000010, 0x0000001010000010, 491 0x0000100010000000, 0x0000101010000000, 492 0x0000100010000010, 0x0000101010000010, 493 0x0000000010001000, 0x0000001010001000, 494 0x0000000010001010, 0x0000001010001010, 495 0x0000100010001000, 0x0000101010001000, 496 0x0000100010001010, 0x0000101010001010, 497 0x0010000010000000, 0x0010001010000000, 498 0x0010000010000010, 0x0010001010000010, 499 0x0010100010000000, 0x0010101010000000, 500 0x0010100010000010, 0x0010101010000010, 501 0x0010000010001000, 0x0010001010001000, 502 0x0010000010001010, 0x0010001010001010, 503 0x0010100010001000, 0x0010101010001000, 504 0x0010100010001010, 0x0010101010001010, 505 0x0000000010100000, 0x0000001010100000, 506 0x0000000010100010, 0x0000001010100010, 507 0x0000100010100000, 0x0000101010100000, 508 0x0000100010100010, 0x0000101010100010, 509 0x0000000010101000, 0x0000001010101000, 510 0x0000000010101010, 0x0000001010101010, 511 0x0000100010101000, 0x0000101010101000, 512 0x0000100010101010, 0x0000101010101010, 513 0x0010000010100000, 0x0010001010100000, 514 0x0010000010100010, 0x0010001010100010, 515 0x0010100010100000, 0x0010101010100000, 516 0x0010100010100010, 0x0010101010100010, 517 0x0010000010101000, 0x0010001010101000, 518 0x0010000010101010, 0x0010001010101010, 519 0x0010100010101000, 0x0010101010101000, 520 0x0010100010101010, 0x0010101010101010, 521 0x1000000010000000, 0x1000001010000000, 522 0x1000000010000010, 0x1000001010000010, 523 0x1000100010000000, 0x1000101010000000, 524 0x1000100010000010, 0x1000101010000010, 525 0x1000000010001000, 0x1000001010001000, 526 0x1000000010001010, 0x1000001010001010, 527 0x1000100010001000, 0x1000101010001000, 528 0x1000100010001010, 0x1000101010001010, 529 0x1010000010000000, 0x1010001010000000, 530 0x1010000010000010, 0x1010001010000010, 531 0x1010100010000000, 0x1010101010000000, 532 0x1010100010000010, 0x1010101010000010, 533 0x1010000010001000, 0x1010001010001000, 534 0x1010000010001010, 0x1010001010001010, 535 0x1010100010001000, 0x1010101010001000, 536 0x1010100010001010, 0x1010101010001010, 537 0x1000000010100000, 0x1000001010100000, 538 0x1000000010100010, 0x1000001010100010, 539 0x1000100010100000, 0x1000101010100000, 540 0x1000100010100010, 0x1000101010100010, 541 0x1000000010101000, 0x1000001010101000, 542 0x1000000010101010, 0x1000001010101010, 543 0x1000100010101000, 0x1000101010101000, 544 0x1000100010101010, 0x1000101010101010, 545 0x1010000010100000, 0x1010001010100000, 546 0x1010000010100010, 0x1010001010100010, 547 0x1010100010100000, 0x1010101010100000, 548 0x1010100010100010, 0x1010101010100010, 549 0x1010000010101000, 0x1010001010101000, 550 0x1010000010101010, 0x1010001010101010, 551 0x1010100010101000, 0x1010101010101000, 552 0x1010100010101010, 0x1010101010101010, 553 0x0000000000000000, 0x0000000800000000, 554 0x0000000000000008, 0x0000000800000008, 555 0x0000080000000000, 0x0000080800000000, 556 0x0000080000000008, 0x0000080800000008, 557 0x0000000000000800, 0x0000000800000800, 558 0x0000000000000808, 0x0000000800000808, 559 0x0000080000000800, 0x0000080800000800, 560 0x0000080000000808, 0x0000080800000808, 561 0x0008000000000000, 0x0008000800000000, 562 0x0008000000000008, 0x0008000800000008, 563 0x0008080000000000, 0x0008080800000000, 564 0x0008080000000008, 0x0008080800000008, 565 0x0008000000000800, 0x0008000800000800, 566 0x0008000000000808, 0x0008000800000808, 567 0x0008080000000800, 0x0008080800000800, 568 0x0008080000000808, 0x0008080800000808, 569 0x0000000000080000, 0x0000000800080000, 570 0x0000000000080008, 0x0000000800080008, 571 0x0000080000080000, 0x0000080800080000, 572 0x0000080000080008, 0x0000080800080008, 573 0x0000000000080800, 0x0000000800080800, 574 0x0000000000080808, 0x0000000800080808, 575 0x0000080000080800, 0x0000080800080800, 576 0x0000080000080808, 0x0000080800080808, 577 0x0008000000080000, 0x0008000800080000, 578 0x0008000000080008, 0x0008000800080008, 579 0x0008080000080000, 0x0008080800080000, 580 0x0008080000080008, 0x0008080800080008, 581 0x0008000000080800, 0x0008000800080800, 582 0x0008000000080808, 0x0008000800080808, 583 0x0008080000080800, 0x0008080800080800, 584 0x0008080000080808, 0x0008080800080808, 585 0x0800000000000000, 0x0800000800000000, 586 0x0800000000000008, 0x0800000800000008, 587 0x0800080000000000, 0x0800080800000000, 588 0x0800080000000008, 0x0800080800000008, 589 0x0800000000000800, 0x0800000800000800, 590 0x0800000000000808, 0x0800000800000808, 591 0x0800080000000800, 0x0800080800000800, 592 0x0800080000000808, 0x0800080800000808, 593 0x0808000000000000, 0x0808000800000000, 594 0x0808000000000008, 0x0808000800000008, 595 0x0808080000000000, 0x0808080800000000, 596 0x0808080000000008, 0x0808080800000008, 597 0x0808000000000800, 0x0808000800000800, 598 0x0808000000000808, 0x0808000800000808, 599 0x0808080000000800, 0x0808080800000800, 600 0x0808080000000808, 0x0808080800000808, 601 0x0800000000080000, 0x0800000800080000, 602 0x0800000000080008, 0x0800000800080008, 603 0x0800080000080000, 0x0800080800080000, 604 0x0800080000080008, 0x0800080800080008, 605 0x0800000000080800, 0x0800000800080800, 606 0x0800000000080808, 0x0800000800080808, 607 0x0800080000080800, 0x0800080800080800, 608 0x0800080000080808, 0x0800080800080808, 609 0x0808000000080000, 0x0808000800080000, 610 0x0808000000080008, 0x0808000800080008, 611 0x0808080000080000, 0x0808080800080000, 612 0x0808080000080008, 0x0808080800080008, 613 0x0808000000080800, 0x0808000800080800, 614 0x0808000000080808, 0x0808000800080808, 615 0x0808080000080800, 0x0808080800080800, 616 0x0808080000080808, 0x0808080800080808, 617 0x0000000008000000, 0x0000000808000000, 618 0x0000000008000008, 0x0000000808000008, 619 0x0000080008000000, 0x0000080808000000, 620 0x0000080008000008, 0x0000080808000008, 621 0x0000000008000800, 0x0000000808000800, 622 0x0000000008000808, 0x0000000808000808, 623 0x0000080008000800, 0x0000080808000800, 624 0x0000080008000808, 0x0000080808000808, 625 0x0008000008000000, 0x0008000808000000, 626 0x0008000008000008, 0x0008000808000008, 627 0x0008080008000000, 0x0008080808000000, 628 0x0008080008000008, 0x0008080808000008, 629 0x0008000008000800, 0x0008000808000800, 630 0x0008000008000808, 0x0008000808000808, 631 0x0008080008000800, 0x0008080808000800, 632 0x0008080008000808, 0x0008080808000808, 633 0x0000000008080000, 0x0000000808080000, 634 0x0000000008080008, 0x0000000808080008, 635 0x0000080008080000, 0x0000080808080000, 636 0x0000080008080008, 0x0000080808080008, 637 0x0000000008080800, 0x0000000808080800, 638 0x0000000008080808, 0x0000000808080808, 639 0x0000080008080800, 0x0000080808080800, 640 0x0000080008080808, 0x0000080808080808, 641 0x0008000008080000, 0x0008000808080000, 642 0x0008000008080008, 0x0008000808080008, 643 0x0008080008080000, 0x0008080808080000, 644 0x0008080008080008, 0x0008080808080008, 645 0x0008000008080800, 0x0008000808080800, 646 0x0008000008080808, 0x0008000808080808, 647 0x0008080008080800, 0x0008080808080800, 648 0x0008080008080808, 0x0008080808080808, 649 0x0800000008000000, 0x0800000808000000, 650 0x0800000008000008, 0x0800000808000008, 651 0x0800080008000000, 0x0800080808000000, 652 0x0800080008000008, 0x0800080808000008, 653 0x0800000008000800, 0x0800000808000800, 654 0x0800000008000808, 0x0800000808000808, 655 0x0800080008000800, 0x0800080808000800, 656 0x0800080008000808, 0x0800080808000808, 657 0x0808000008000000, 0x0808000808000000, 658 0x0808000008000008, 0x0808000808000008, 659 0x0808080008000000, 0x0808080808000000, 660 0x0808080008000008, 0x0808080808000008, 661 0x0808000008000800, 0x0808000808000800, 662 0x0808000008000808, 0x0808000808000808, 663 0x0808080008000800, 0x0808080808000800, 664 0x0808080008000808, 0x0808080808000808, 665 0x0800000008080000, 0x0800000808080000, 666 0x0800000008080008, 0x0800000808080008, 667 0x0800080008080000, 0x0800080808080000, 668 0x0800080008080008, 0x0800080808080008, 669 0x0800000008080800, 0x0800000808080800, 670 0x0800000008080808, 0x0800000808080808, 671 0x0800080008080800, 0x0800080808080800, 672 0x0800080008080808, 0x0800080808080808, 673 0x0808000008080000, 0x0808000808080000, 674 0x0808000008080008, 0x0808000808080008, 675 0x0808080008080000, 0x0808080808080000, 676 0x0808080008080008, 0x0808080808080008, 677 0x0808000008080800, 0x0808000808080800, 678 0x0808000008080808, 0x0808000808080808, 679 0x0808080008080800, 0x0808080808080800, 680 0x0808080008080808, 0x0808080808080808, 681 0x0000000000000000, 0x0000000400000000, 682 0x0000000000000004, 0x0000000400000004, 683 0x0000040000000000, 0x0000040400000000, 684 0x0000040000000004, 0x0000040400000004, 685 0x0000000000000400, 0x0000000400000400, 686 0x0000000000000404, 0x0000000400000404, 687 0x0000040000000400, 0x0000040400000400, 688 0x0000040000000404, 0x0000040400000404, 689 0x0004000000000000, 0x0004000400000000, 690 0x0004000000000004, 0x0004000400000004, 691 0x0004040000000000, 0x0004040400000000, 692 0x0004040000000004, 0x0004040400000004, 693 0x0004000000000400, 0x0004000400000400, 694 0x0004000000000404, 0x0004000400000404, 695 0x0004040000000400, 0x0004040400000400, 696 0x0004040000000404, 0x0004040400000404, 697 0x0000000000040000, 0x0000000400040000, 698 0x0000000000040004, 0x0000000400040004, 699 0x0000040000040000, 0x0000040400040000, 700 0x0000040000040004, 0x0000040400040004, 701 0x0000000000040400, 0x0000000400040400, 702 0x0000000000040404, 0x0000000400040404, 703 0x0000040000040400, 0x0000040400040400, 704 0x0000040000040404, 0x0000040400040404, 705 0x0004000000040000, 0x0004000400040000, 706 0x0004000000040004, 0x0004000400040004, 707 0x0004040000040000, 0x0004040400040000, 708 0x0004040000040004, 0x0004040400040004, 709 0x0004000000040400, 0x0004000400040400, 710 0x0004000000040404, 0x0004000400040404, 711 0x0004040000040400, 0x0004040400040400, 712 0x0004040000040404, 0x0004040400040404, 713 0x0400000000000000, 0x0400000400000000, 714 0x0400000000000004, 0x0400000400000004, 715 0x0400040000000000, 0x0400040400000000, 716 0x0400040000000004, 0x0400040400000004, 717 0x0400000000000400, 0x0400000400000400, 718 0x0400000000000404, 0x0400000400000404, 719 0x0400040000000400, 0x0400040400000400, 720 0x0400040000000404, 0x0400040400000404, 721 0x0404000000000000, 0x0404000400000000, 722 0x0404000000000004, 0x0404000400000004, 723 0x0404040000000000, 0x0404040400000000, 724 0x0404040000000004, 0x0404040400000004, 725 0x0404000000000400, 0x0404000400000400, 726 0x0404000000000404, 0x0404000400000404, 727 0x0404040000000400, 0x0404040400000400, 728 0x0404040000000404, 0x0404040400000404, 729 0x0400000000040000, 0x0400000400040000, 730 0x0400000000040004, 0x0400000400040004, 731 0x0400040000040000, 0x0400040400040000, 732 0x0400040000040004, 0x0400040400040004, 733 0x0400000000040400, 0x0400000400040400, 734 0x0400000000040404, 0x0400000400040404, 735 0x0400040000040400, 0x0400040400040400, 736 0x0400040000040404, 0x0400040400040404, 737 0x0404000000040000, 0x0404000400040000, 738 0x0404000000040004, 0x0404000400040004, 739 0x0404040000040000, 0x0404040400040000, 740 0x0404040000040004, 0x0404040400040004, 741 0x0404000000040400, 0x0404000400040400, 742 0x0404000000040404, 0x0404000400040404, 743 0x0404040000040400, 0x0404040400040400, 744 0x0404040000040404, 0x0404040400040404, 745 0x0000000004000000, 0x0000000404000000, 746 0x0000000004000004, 0x0000000404000004, 747 0x0000040004000000, 0x0000040404000000, 748 0x0000040004000004, 0x0000040404000004, 749 0x0000000004000400, 0x0000000404000400, 750 0x0000000004000404, 0x0000000404000404, 751 0x0000040004000400, 0x0000040404000400, 752 0x0000040004000404, 0x0000040404000404, 753 0x0004000004000000, 0x0004000404000000, 754 0x0004000004000004, 0x0004000404000004, 755 0x0004040004000000, 0x0004040404000000, 756 0x0004040004000004, 0x0004040404000004, 757 0x0004000004000400, 0x0004000404000400, 758 0x0004000004000404, 0x0004000404000404, 759 0x0004040004000400, 0x0004040404000400, 760 0x0004040004000404, 0x0004040404000404, 761 0x0000000004040000, 0x0000000404040000, 762 0x0000000004040004, 0x0000000404040004, 763 0x0000040004040000, 0x0000040404040000, 764 0x0000040004040004, 0x0000040404040004, 765 0x0000000004040400, 0x0000000404040400, 766 0x0000000004040404, 0x0000000404040404, 767 0x0000040004040400, 0x0000040404040400, 768 0x0000040004040404, 0x0000040404040404, 769 0x0004000004040000, 0x0004000404040000, 770 0x0004000004040004, 0x0004000404040004, 771 0x0004040004040000, 0x0004040404040000, 772 0x0004040004040004, 0x0004040404040004, 773 0x0004000004040400, 0x0004000404040400, 774 0x0004000004040404, 0x0004000404040404, 775 0x0004040004040400, 0x0004040404040400, 776 0x0004040004040404, 0x0004040404040404, 777 0x0400000004000000, 0x0400000404000000, 778 0x0400000004000004, 0x0400000404000004, 779 0x0400040004000000, 0x0400040404000000, 780 0x0400040004000004, 0x0400040404000004, 781 0x0400000004000400, 0x0400000404000400, 782 0x0400000004000404, 0x0400000404000404, 783 0x0400040004000400, 0x0400040404000400, 784 0x0400040004000404, 0x0400040404000404, 785 0x0404000004000000, 0x0404000404000000, 786 0x0404000004000004, 0x0404000404000004, 787 0x0404040004000000, 0x0404040404000000, 788 0x0404040004000004, 0x0404040404000004, 789 0x0404000004000400, 0x0404000404000400, 790 0x0404000004000404, 0x0404000404000404, 791 0x0404040004000400, 0x0404040404000400, 792 0x0404040004000404, 0x0404040404000404, 793 0x0400000004040000, 0x0400000404040000, 794 0x0400000004040004, 0x0400000404040004, 795 0x0400040004040000, 0x0400040404040000, 796 0x0400040004040004, 0x0400040404040004, 797 0x0400000004040400, 0x0400000404040400, 798 0x0400000004040404, 0x0400000404040404, 799 0x0400040004040400, 0x0400040404040400, 800 0x0400040004040404, 0x0400040404040404, 801 0x0404000004040000, 0x0404000404040000, 802 0x0404000004040004, 0x0404000404040004, 803 0x0404040004040000, 0x0404040404040000, 804 0x0404040004040004, 0x0404040404040004, 805 0x0404000004040400, 0x0404000404040400, 806 0x0404000004040404, 0x0404000404040404, 807 0x0404040004040400, 0x0404040404040400, 808 0x0404040004040404, 0x0404040404040404, 809 0x0000000000000000, 0x0000000200000000, 810 0x0000000000000002, 0x0000000200000002, 811 0x0000020000000000, 0x0000020200000000, 812 0x0000020000000002, 0x0000020200000002, 813 0x0000000000000200, 0x0000000200000200, 814 0x0000000000000202, 0x0000000200000202, 815 0x0000020000000200, 0x0000020200000200, 816 0x0000020000000202, 0x0000020200000202, 817 0x0002000000000000, 0x0002000200000000, 818 0x0002000000000002, 0x0002000200000002, 819 0x0002020000000000, 0x0002020200000000, 820 0x0002020000000002, 0x0002020200000002, 821 0x0002000000000200, 0x0002000200000200, 822 0x0002000000000202, 0x0002000200000202, 823 0x0002020000000200, 0x0002020200000200, 824 0x0002020000000202, 0x0002020200000202, 825 0x0000000000020000, 0x0000000200020000, 826 0x0000000000020002, 0x0000000200020002, 827 0x0000020000020000, 0x0000020200020000, 828 0x0000020000020002, 0x0000020200020002, 829 0x0000000000020200, 0x0000000200020200, 830 0x0000000000020202, 0x0000000200020202, 831 0x0000020000020200, 0x0000020200020200, 832 0x0000020000020202, 0x0000020200020202, 833 0x0002000000020000, 0x0002000200020000, 834 0x0002000000020002, 0x0002000200020002, 835 0x0002020000020000, 0x0002020200020000, 836 0x0002020000020002, 0x0002020200020002, 837 0x0002000000020200, 0x0002000200020200, 838 0x0002000000020202, 0x0002000200020202, 839 0x0002020000020200, 0x0002020200020200, 840 0x0002020000020202, 0x0002020200020202, 841 0x0200000000000000, 0x0200000200000000, 842 0x0200000000000002, 0x0200000200000002, 843 0x0200020000000000, 0x0200020200000000, 844 0x0200020000000002, 0x0200020200000002, 845 0x0200000000000200, 0x0200000200000200, 846 0x0200000000000202, 0x0200000200000202, 847 0x0200020000000200, 0x0200020200000200, 848 0x0200020000000202, 0x0200020200000202, 849 0x0202000000000000, 0x0202000200000000, 850 0x0202000000000002, 0x0202000200000002, 851 0x0202020000000000, 0x0202020200000000, 852 0x0202020000000002, 0x0202020200000002, 853 0x0202000000000200, 0x0202000200000200, 854 0x0202000000000202, 0x0202000200000202, 855 0x0202020000000200, 0x0202020200000200, 856 0x0202020000000202, 0x0202020200000202, 857 0x0200000000020000, 0x0200000200020000, 858 0x0200000000020002, 0x0200000200020002, 859 0x0200020000020000, 0x0200020200020000, 860 0x0200020000020002, 0x0200020200020002, 861 0x0200000000020200, 0x0200000200020200, 862 0x0200000000020202, 0x0200000200020202, 863 0x0200020000020200, 0x0200020200020200, 864 0x0200020000020202, 0x0200020200020202, 865 0x0202000000020000, 0x0202000200020000, 866 0x0202000000020002, 0x0202000200020002, 867 0x0202020000020000, 0x0202020200020000, 868 0x0202020000020002, 0x0202020200020002, 869 0x0202000000020200, 0x0202000200020200, 870 0x0202000000020202, 0x0202000200020202, 871 0x0202020000020200, 0x0202020200020200, 872 0x0202020000020202, 0x0202020200020202, 873 0x0000000002000000, 0x0000000202000000, 874 0x0000000002000002, 0x0000000202000002, 875 0x0000020002000000, 0x0000020202000000, 876 0x0000020002000002, 0x0000020202000002, 877 0x0000000002000200, 0x0000000202000200, 878 0x0000000002000202, 0x0000000202000202, 879 0x0000020002000200, 0x0000020202000200, 880 0x0000020002000202, 0x0000020202000202, 881 0x0002000002000000, 0x0002000202000000, 882 0x0002000002000002, 0x0002000202000002, 883 0x0002020002000000, 0x0002020202000000, 884 0x0002020002000002, 0x0002020202000002, 885 0x0002000002000200, 0x0002000202000200, 886 0x0002000002000202, 0x0002000202000202, 887 0x0002020002000200, 0x0002020202000200, 888 0x0002020002000202, 0x0002020202000202, 889 0x0000000002020000, 0x0000000202020000, 890 0x0000000002020002, 0x0000000202020002, 891 0x0000020002020000, 0x0000020202020000, 892 0x0000020002020002, 0x0000020202020002, 893 0x0000000002020200, 0x0000000202020200, 894 0x0000000002020202, 0x0000000202020202, 895 0x0000020002020200, 0x0000020202020200, 896 0x0000020002020202, 0x0000020202020202, 897 0x0002000002020000, 0x0002000202020000, 898 0x0002000002020002, 0x0002000202020002, 899 0x0002020002020000, 0x0002020202020000, 900 0x0002020002020002, 0x0002020202020002, 901 0x0002000002020200, 0x0002000202020200, 902 0x0002000002020202, 0x0002000202020202, 903 0x0002020002020200, 0x0002020202020200, 904 0x0002020002020202, 0x0002020202020202, 905 0x0200000002000000, 0x0200000202000000, 906 0x0200000002000002, 0x0200000202000002, 907 0x0200020002000000, 0x0200020202000000, 908 0x0200020002000002, 0x0200020202000002, 909 0x0200000002000200, 0x0200000202000200, 910 0x0200000002000202, 0x0200000202000202, 911 0x0200020002000200, 0x0200020202000200, 912 0x0200020002000202, 0x0200020202000202, 913 0x0202000002000000, 0x0202000202000000, 914 0x0202000002000002, 0x0202000202000002, 915 0x0202020002000000, 0x0202020202000000, 916 0x0202020002000002, 0x0202020202000002, 917 0x0202000002000200, 0x0202000202000200, 918 0x0202000002000202, 0x0202000202000202, 919 0x0202020002000200, 0x0202020202000200, 920 0x0202020002000202, 0x0202020202000202, 921 0x0200000002020000, 0x0200000202020000, 922 0x0200000002020002, 0x0200000202020002, 923 0x0200020002020000, 0x0200020202020000, 924 0x0200020002020002, 0x0200020202020002, 925 0x0200000002020200, 0x0200000202020200, 926 0x0200000002020202, 0x0200000202020202, 927 0x0200020002020200, 0x0200020202020200, 928 0x0200020002020202, 0x0200020202020202, 929 0x0202000002020000, 0x0202000202020000, 930 0x0202000002020002, 0x0202000202020002, 931 0x0202020002020000, 0x0202020202020000, 932 0x0202020002020002, 0x0202020202020002, 933 0x0202000002020200, 0x0202000202020200, 934 0x0202000002020202, 0x0202000202020202, 935 0x0202020002020200, 0x0202020202020200, 936 0x0202020002020202, 0x0202020202020202, 937 0x0000000000000000, 0x0000000100000000, 938 0x0000000000000001, 0x0000000100000001, 939 0x0000010000000000, 0x0000010100000000, 940 0x0000010000000001, 0x0000010100000001, 941 0x0000000000000100, 0x0000000100000100, 942 0x0000000000000101, 0x0000000100000101, 943 0x0000010000000100, 0x0000010100000100, 944 0x0000010000000101, 0x0000010100000101, 945 0x0001000000000000, 0x0001000100000000, 946 0x0001000000000001, 0x0001000100000001, 947 0x0001010000000000, 0x0001010100000000, 948 0x0001010000000001, 0x0001010100000001, 949 0x0001000000000100, 0x0001000100000100, 950 0x0001000000000101, 0x0001000100000101, 951 0x0001010000000100, 0x0001010100000100, 952 0x0001010000000101, 0x0001010100000101, 953 0x0000000000010000, 0x0000000100010000, 954 0x0000000000010001, 0x0000000100010001, 955 0x0000010000010000, 0x0000010100010000, 956 0x0000010000010001, 0x0000010100010001, 957 0x0000000000010100, 0x0000000100010100, 958 0x0000000000010101, 0x0000000100010101, 959 0x0000010000010100, 0x0000010100010100, 960 0x0000010000010101, 0x0000010100010101, 961 0x0001000000010000, 0x0001000100010000, 962 0x0001000000010001, 0x0001000100010001, 963 0x0001010000010000, 0x0001010100010000, 964 0x0001010000010001, 0x0001010100010001, 965 0x0001000000010100, 0x0001000100010100, 966 0x0001000000010101, 0x0001000100010101, 967 0x0001010000010100, 0x0001010100010100, 968 0x0001010000010101, 0x0001010100010101, 969 0x0100000000000000, 0x0100000100000000, 970 0x0100000000000001, 0x0100000100000001, 971 0x0100010000000000, 0x0100010100000000, 972 0x0100010000000001, 0x0100010100000001, 973 0x0100000000000100, 0x0100000100000100, 974 0x0100000000000101, 0x0100000100000101, 975 0x0100010000000100, 0x0100010100000100, 976 0x0100010000000101, 0x0100010100000101, 977 0x0101000000000000, 0x0101000100000000, 978 0x0101000000000001, 0x0101000100000001, 979 0x0101010000000000, 0x0101010100000000, 980 0x0101010000000001, 0x0101010100000001, 981 0x0101000000000100, 0x0101000100000100, 982 0x0101000000000101, 0x0101000100000101, 983 0x0101010000000100, 0x0101010100000100, 984 0x0101010000000101, 0x0101010100000101, 985 0x0100000000010000, 0x0100000100010000, 986 0x0100000000010001, 0x0100000100010001, 987 0x0100010000010000, 0x0100010100010000, 988 0x0100010000010001, 0x0100010100010001, 989 0x0100000000010100, 0x0100000100010100, 990 0x0100000000010101, 0x0100000100010101, 991 0x0100010000010100, 0x0100010100010100, 992 0x0100010000010101, 0x0100010100010101, 993 0x0101000000010000, 0x0101000100010000, 994 0x0101000000010001, 0x0101000100010001, 995 0x0101010000010000, 0x0101010100010000, 996 0x0101010000010001, 0x0101010100010001, 997 0x0101000000010100, 0x0101000100010100, 998 0x0101000000010101, 0x0101000100010101, 999 0x0101010000010100, 0x0101010100010100, 1000 0x0101010000010101, 0x0101010100010101, 1001 0x0000000001000000, 0x0000000101000000, 1002 0x0000000001000001, 0x0000000101000001, 1003 0x0000010001000000, 0x0000010101000000, 1004 0x0000010001000001, 0x0000010101000001, 1005 0x0000000001000100, 0x0000000101000100, 1006 0x0000000001000101, 0x0000000101000101, 1007 0x0000010001000100, 0x0000010101000100, 1008 0x0000010001000101, 0x0000010101000101, 1009 0x0001000001000000, 0x0001000101000000, 1010 0x0001000001000001, 0x0001000101000001, 1011 0x0001010001000000, 0x0001010101000000, 1012 0x0001010001000001, 0x0001010101000001, 1013 0x0001000001000100, 0x0001000101000100, 1014 0x0001000001000101, 0x0001000101000101, 1015 0x0001010001000100, 0x0001010101000100, 1016 0x0001010001000101, 0x0001010101000101, 1017 0x0000000001010000, 0x0000000101010000, 1018 0x0000000001010001, 0x0000000101010001, 1019 0x0000010001010000, 0x0000010101010000, 1020 0x0000010001010001, 0x0000010101010001, 1021 0x0000000001010100, 0x0000000101010100, 1022 0x0000000001010101, 0x0000000101010101, 1023 0x0000010001010100, 0x0000010101010100, 1024 0x0000010001010101, 0x0000010101010101, 1025 0x0001000001010000, 0x0001000101010000, 1026 0x0001000001010001, 0x0001000101010001, 1027 0x0001010001010000, 0x0001010101010000, 1028 0x0001010001010001, 0x0001010101010001, 1029 0x0001000001010100, 0x0001000101010100, 1030 0x0001000001010101, 0x0001000101010101, 1031 0x0001010001010100, 0x0001010101010100, 1032 0x0001010001010101, 0x0001010101010101, 1033 0x0100000001000000, 0x0100000101000000, 1034 0x0100000001000001, 0x0100000101000001, 1035 0x0100010001000000, 0x0100010101000000, 1036 0x0100010001000001, 0x0100010101000001, 1037 0x0100000001000100, 0x0100000101000100, 1038 0x0100000001000101, 0x0100000101000101, 1039 0x0100010001000100, 0x0100010101000100, 1040 0x0100010001000101, 0x0100010101000101, 1041 0x0101000001000000, 0x0101000101000000, 1042 0x0101000001000001, 0x0101000101000001, 1043 0x0101010001000000, 0x0101010101000000, 1044 0x0101010001000001, 0x0101010101000001, 1045 0x0101000001000100, 0x0101000101000100, 1046 0x0101000001000101, 0x0101000101000101, 1047 0x0101010001000100, 0x0101010101000100, 1048 0x0101010001000101, 0x0101010101000101, 1049 0x0100000001010000, 0x0100000101010000, 1050 0x0100000001010001, 0x0100000101010001, 1051 0x0100010001010000, 0x0100010101010000, 1052 0x0100010001010001, 0x0100010101010001, 1053 0x0100000001010100, 0x0100000101010100, 1054 0x0100000001010101, 0x0100000101010101, 1055 0x0100010001010100, 0x0100010101010100, 1056 0x0100010001010101, 0x0100010101010101, 1057 0x0101000001010000, 0x0101000101010000, 1058 0x0101000001010001, 0x0101000101010001, 1059 0x0101010001010000, 0x0101010101010000, 1060 0x0101010001010001, 0x0101010101010001, 1061 0x0101000001010100, 0x0101000101010100, 1062 0x0101000001010101, 0x0101000101010101, 1063 0x0101010001010100, 0x0101010101010100, 1064 0x0101010001010101, 0x0101010101010101 1065) 1066 1067# FP permutation table 1068N_IP_K = ( 1069 0x0000000000000000, 0x0200000000000000, 1070 0x0002000000000000, 0x0202000000000000, 1071 0x0000020000000000, 0x0200020000000000, 1072 0x0002020000000000, 0x0202020000000000, 1073 0x0000000200000000, 0x0200000200000000, 1074 0x0002000200000000, 0x0202000200000000, 1075 0x0000020200000000, 0x0200020200000000, 1076 0x0002020200000000, 0x0202020200000000, 1077 0x0000000002000000, 0x0200000002000000, 1078 0x0002000002000000, 0x0202000002000000, 1079 0x0000020002000000, 0x0200020002000000, 1080 0x0002020002000000, 0x0202020002000000, 1081 0x0000000202000000, 0x0200000202000000, 1082 0x0002000202000000, 0x0202000202000000, 1083 0x0000020202000000, 0x0200020202000000, 1084 0x0002020202000000, 0x0202020202000000, 1085 0x0000000000020000, 0x0200000000020000, 1086 0x0002000000020000, 0x0202000000020000, 1087 0x0000020000020000, 0x0200020000020000, 1088 0x0002020000020000, 0x0202020000020000, 1089 0x0000000200020000, 0x0200000200020000, 1090 0x0002000200020000, 0x0202000200020000, 1091 0x0000020200020000, 0x0200020200020000, 1092 0x0002020200020000, 0x0202020200020000, 1093 0x0000000002020000, 0x0200000002020000, 1094 0x0002000002020000, 0x0202000002020000, 1095 0x0000020002020000, 0x0200020002020000, 1096 0x0002020002020000, 0x0202020002020000, 1097 0x0000000202020000, 0x0200000202020000, 1098 0x0002000202020000, 0x0202000202020000, 1099 0x0000020202020000, 0x0200020202020000, 1100 0x0002020202020000, 0x0202020202020000, 1101 0x0000000000000200, 0x0200000000000200, 1102 0x0002000000000200, 0x0202000000000200, 1103 0x0000020000000200, 0x0200020000000200, 1104 0x0002020000000200, 0x0202020000000200, 1105 0x0000000200000200, 0x0200000200000200, 1106 0x0002000200000200, 0x0202000200000200, 1107 0x0000020200000200, 0x0200020200000200, 1108 0x0002020200000200, 0x0202020200000200, 1109 0x0000000002000200, 0x0200000002000200, 1110 0x0002000002000200, 0x0202000002000200, 1111 0x0000020002000200, 0x0200020002000200, 1112 0x0002020002000200, 0x0202020002000200, 1113 0x0000000202000200, 0x0200000202000200, 1114 0x0002000202000200, 0x0202000202000200, 1115 0x0000020202000200, 0x0200020202000200, 1116 0x0002020202000200, 0x0202020202000200, 1117 0x0000000000020200, 0x0200000000020200, 1118 0x0002000000020200, 0x0202000000020200, 1119 0x0000020000020200, 0x0200020000020200, 1120 0x0002020000020200, 0x0202020000020200, 1121 0x0000000200020200, 0x0200000200020200, 1122 0x0002000200020200, 0x0202000200020200, 1123 0x0000020200020200, 0x0200020200020200, 1124 0x0002020200020200, 0x0202020200020200, 1125 0x0000000002020200, 0x0200000002020200, 1126 0x0002000002020200, 0x0202000002020200, 1127 0x0000020002020200, 0x0200020002020200, 1128 0x0002020002020200, 0x0202020002020200, 1129 0x0000000202020200, 0x0200000202020200, 1130 0x0002000202020200, 0x0202000202020200, 1131 0x0000020202020200, 0x0200020202020200, 1132 0x0002020202020200, 0x0202020202020200, 1133 0x0000000000000002, 0x0200000000000002, 1134 0x0002000000000002, 0x0202000000000002, 1135 0x0000020000000002, 0x0200020000000002, 1136 0x0002020000000002, 0x0202020000000002, 1137 0x0000000200000002, 0x0200000200000002, 1138 0x0002000200000002, 0x0202000200000002, 1139 0x0000020200000002, 0x0200020200000002, 1140 0x0002020200000002, 0x0202020200000002, 1141 0x0000000002000002, 0x0200000002000002, 1142 0x0002000002000002, 0x0202000002000002, 1143 0x0000020002000002, 0x0200020002000002, 1144 0x0002020002000002, 0x0202020002000002, 1145 0x0000000202000002, 0x0200000202000002, 1146 0x0002000202000002, 0x0202000202000002, 1147 0x0000020202000002, 0x0200020202000002, 1148 0x0002020202000002, 0x0202020202000002, 1149 0x0000000000020002, 0x0200000000020002, 1150 0x0002000000020002, 0x0202000000020002, 1151 0x0000020000020002, 0x0200020000020002, 1152 0x0002020000020002, 0x0202020000020002, 1153 0x0000000200020002, 0x0200000200020002, 1154 0x0002000200020002, 0x0202000200020002, 1155 0x0000020200020002, 0x0200020200020002, 1156 0x0002020200020002, 0x0202020200020002, 1157 0x0000000002020002, 0x0200000002020002, 1158 0x0002000002020002, 0x0202000002020002, 1159 0x0000020002020002, 0x0200020002020002, 1160 0x0002020002020002, 0x0202020002020002, 1161 0x0000000202020002, 0x0200000202020002, 1162 0x0002000202020002, 0x0202000202020002, 1163 0x0000020202020002, 0x0200020202020002, 1164 0x0002020202020002, 0x0202020202020002, 1165 0x0000000000000202, 0x0200000000000202, 1166 0x0002000000000202, 0x0202000000000202, 1167 0x0000020000000202, 0x0200020000000202, 1168 0x0002020000000202, 0x0202020000000202, 1169 0x0000000200000202, 0x0200000200000202, 1170 0x0002000200000202, 0x0202000200000202, 1171 0x0000020200000202, 0x0200020200000202, 1172 0x0002020200000202, 0x0202020200000202, 1173 0x0000000002000202, 0x0200000002000202, 1174 0x0002000002000202, 0x0202000002000202, 1175 0x0000020002000202, 0x0200020002000202, 1176 0x0002020002000202, 0x0202020002000202, 1177 0x0000000202000202, 0x0200000202000202, 1178 0x0002000202000202, 0x0202000202000202, 1179 0x0000020202000202, 0x0200020202000202, 1180 0x0002020202000202, 0x0202020202000202, 1181 0x0000000000020202, 0x0200000000020202, 1182 0x0002000000020202, 0x0202000000020202, 1183 0x0000020000020202, 0x0200020000020202, 1184 0x0002020000020202, 0x0202020000020202, 1185 0x0000000200020202, 0x0200000200020202, 1186 0x0002000200020202, 0x0202000200020202, 1187 0x0000020200020202, 0x0200020200020202, 1188 0x0002020200020202, 0x0202020200020202, 1189 0x0000000002020202, 0x0200000002020202, 1190 0x0002000002020202, 0x0202000002020202, 1191 0x0000020002020202, 0x0200020002020202, 1192 0x0002020002020202, 0x0202020002020202, 1193 0x0000000202020202, 0x0200000202020202, 1194 0x0002000202020202, 0x0202000202020202, 1195 0x0000020202020202, 0x0200020202020202, 1196 0x0002020202020202, 0x0202020202020202, 1197 0x0000000000000000, 0x0800000000000000, 1198 0x0008000000000000, 0x0808000000000000, 1199 0x0000080000000000, 0x0800080000000000, 1200 0x0008080000000000, 0x0808080000000000, 1201 0x0000000800000000, 0x0800000800000000, 1202 0x0008000800000000, 0x0808000800000000, 1203 0x0000080800000000, 0x0800080800000000, 1204 0x0008080800000000, 0x0808080800000000, 1205 0x0000000008000000, 0x0800000008000000, 1206 0x0008000008000000, 0x0808000008000000, 1207 0x0000080008000000, 0x0800080008000000, 1208 0x0008080008000000, 0x0808080008000000, 1209 0x0000000808000000, 0x0800000808000000, 1210 0x0008000808000000, 0x0808000808000000, 1211 0x0000080808000000, 0x0800080808000000, 1212 0x0008080808000000, 0x0808080808000000, 1213 0x0000000000080000, 0x0800000000080000, 1214 0x0008000000080000, 0x0808000000080000, 1215 0x0000080000080000, 0x0800080000080000, 1216 0x0008080000080000, 0x0808080000080000, 1217 0x0000000800080000, 0x0800000800080000, 1218 0x0008000800080000, 0x0808000800080000, 1219 0x0000080800080000, 0x0800080800080000, 1220 0x0008080800080000, 0x0808080800080000, 1221 0x0000000008080000, 0x0800000008080000, 1222 0x0008000008080000, 0x0808000008080000, 1223 0x0000080008080000, 0x0800080008080000, 1224 0x0008080008080000, 0x0808080008080000, 1225 0x0000000808080000, 0x0800000808080000, 1226 0x0008000808080000, 0x0808000808080000, 1227 0x0000080808080000, 0x0800080808080000, 1228 0x0008080808080000, 0x0808080808080000, 1229 0x0000000000000800, 0x0800000000000800, 1230 0x0008000000000800, 0x0808000000000800, 1231 0x0000080000000800, 0x0800080000000800, 1232 0x0008080000000800, 0x0808080000000800, 1233 0x0000000800000800, 0x0800000800000800, 1234 0x0008000800000800, 0x0808000800000800, 1235 0x0000080800000800, 0x0800080800000800, 1236 0x0008080800000800, 0x0808080800000800, 1237 0x0000000008000800, 0x0800000008000800, 1238 0x0008000008000800, 0x0808000008000800, 1239 0x0000080008000800, 0x0800080008000800, 1240 0x0008080008000800, 0x0808080008000800, 1241 0x0000000808000800, 0x0800000808000800, 1242 0x0008000808000800, 0x0808000808000800, 1243 0x0000080808000800, 0x0800080808000800, 1244 0x0008080808000800, 0x0808080808000800, 1245 0x0000000000080800, 0x0800000000080800, 1246 0x0008000000080800, 0x0808000000080800, 1247 0x0000080000080800, 0x0800080000080800, 1248 0x0008080000080800, 0x0808080000080800, 1249 0x0000000800080800, 0x0800000800080800, 1250 0x0008000800080800, 0x0808000800080800, 1251 0x0000080800080800, 0x0800080800080800, 1252 0x0008080800080800, 0x0808080800080800, 1253 0x0000000008080800, 0x0800000008080800, 1254 0x0008000008080800, 0x0808000008080800, 1255 0x0000080008080800, 0x0800080008080800, 1256 0x0008080008080800, 0x0808080008080800, 1257 0x0000000808080800, 0x0800000808080800, 1258 0x0008000808080800, 0x0808000808080800, 1259 0x0000080808080800, 0x0800080808080800, 1260 0x0008080808080800, 0x0808080808080800, 1261 0x0000000000000008, 0x0800000000000008, 1262 0x0008000000000008, 0x0808000000000008, 1263 0x0000080000000008, 0x0800080000000008, 1264 0x0008080000000008, 0x0808080000000008, 1265 0x0000000800000008, 0x0800000800000008, 1266 0x0008000800000008, 0x0808000800000008, 1267 0x0000080800000008, 0x0800080800000008, 1268 0x0008080800000008, 0x0808080800000008, 1269 0x0000000008000008, 0x0800000008000008, 1270 0x0008000008000008, 0x0808000008000008, 1271 0x0000080008000008, 0x0800080008000008, 1272 0x0008080008000008, 0x0808080008000008, 1273 0x0000000808000008, 0x0800000808000008, 1274 0x0008000808000008, 0x0808000808000008, 1275 0x0000080808000008, 0x0800080808000008, 1276 0x0008080808000008, 0x0808080808000008, 1277 0x0000000000080008, 0x0800000000080008, 1278 0x0008000000080008, 0x0808000000080008, 1279 0x0000080000080008, 0x0800080000080008, 1280 0x0008080000080008, 0x0808080000080008, 1281 0x0000000800080008, 0x0800000800080008, 1282 0x0008000800080008, 0x0808000800080008, 1283 0x0000080800080008, 0x0800080800080008, 1284 0x0008080800080008, 0x0808080800080008, 1285 0x0000000008080008, 0x0800000008080008, 1286 0x0008000008080008, 0x0808000008080008, 1287 0x0000080008080008, 0x0800080008080008, 1288 0x0008080008080008, 0x0808080008080008, 1289 0x0000000808080008, 0x0800000808080008, 1290 0x0008000808080008, 0x0808000808080008, 1291 0x0000080808080008, 0x0800080808080008, 1292 0x0008080808080008, 0x0808080808080008, 1293 0x0000000000000808, 0x0800000000000808, 1294 0x0008000000000808, 0x0808000000000808, 1295 0x0000080000000808, 0x0800080000000808, 1296 0x0008080000000808, 0x0808080000000808, 1297 0x0000000800000808, 0x0800000800000808, 1298 0x0008000800000808, 0x0808000800000808, 1299 0x0000080800000808, 0x0800080800000808, 1300 0x0008080800000808, 0x0808080800000808, 1301 0x0000000008000808, 0x0800000008000808, 1302 0x0008000008000808, 0x0808000008000808, 1303 0x0000080008000808, 0x0800080008000808, 1304 0x0008080008000808, 0x0808080008000808, 1305 0x0000000808000808, 0x0800000808000808, 1306 0x0008000808000808, 0x0808000808000808, 1307 0x0000080808000808, 0x0800080808000808, 1308 0x0008080808000808, 0x0808080808000808, 1309 0x0000000000080808, 0x0800000000080808, 1310 0x0008000000080808, 0x0808000000080808, 1311 0x0000080000080808, 0x0800080000080808, 1312 0x0008080000080808, 0x0808080000080808, 1313 0x0000000800080808, 0x0800000800080808, 1314 0x0008000800080808, 0x0808000800080808, 1315 0x0000080800080808, 0x0800080800080808, 1316 0x0008080800080808, 0x0808080800080808, 1317 0x0000000008080808, 0x0800000008080808, 1318 0x0008000008080808, 0x0808000008080808, 1319 0x0000080008080808, 0x0800080008080808, 1320 0x0008080008080808, 0x0808080008080808, 1321 0x0000000808080808, 0x0800000808080808, 1322 0x0008000808080808, 0x0808000808080808, 1323 0x0000080808080808, 0x0800080808080808, 1324 0x0008080808080808, 0x0808080808080808, 1325 0x0000000000000000, 0x2000000000000000, 1326 0x0020000000000000, 0x2020000000000000, 1327 0x0000200000000000, 0x2000200000000000, 1328 0x0020200000000000, 0x2020200000000000, 1329 0x0000002000000000, 0x2000002000000000, 1330 0x0020002000000000, 0x2020002000000000, 1331 0x0000202000000000, 0x2000202000000000, 1332 0x0020202000000000, 0x2020202000000000, 1333 0x0000000020000000, 0x2000000020000000, 1334 0x0020000020000000, 0x2020000020000000, 1335 0x0000200020000000, 0x2000200020000000, 1336 0x0020200020000000, 0x2020200020000000, 1337 0x0000002020000000, 0x2000002020000000, 1338 0x0020002020000000, 0x2020002020000000, 1339 0x0000202020000000, 0x2000202020000000, 1340 0x0020202020000000, 0x2020202020000000, 1341 0x0000000000200000, 0x2000000000200000, 1342 0x0020000000200000, 0x2020000000200000, 1343 0x0000200000200000, 0x2000200000200000, 1344 0x0020200000200000, 0x2020200000200000, 1345 0x0000002000200000, 0x2000002000200000, 1346 0x0020002000200000, 0x2020002000200000, 1347 0x0000202000200000, 0x2000202000200000, 1348 0x0020202000200000, 0x2020202000200000, 1349 0x0000000020200000, 0x2000000020200000, 1350 0x0020000020200000, 0x2020000020200000, 1351 0x0000200020200000, 0x2000200020200000, 1352 0x0020200020200000, 0x2020200020200000, 1353 0x0000002020200000, 0x2000002020200000, 1354 0x0020002020200000, 0x2020002020200000, 1355 0x0000202020200000, 0x2000202020200000, 1356 0x0020202020200000, 0x2020202020200000, 1357 0x0000000000002000, 0x2000000000002000, 1358 0x0020000000002000, 0x2020000000002000, 1359 0x0000200000002000, 0x2000200000002000, 1360 0x0020200000002000, 0x2020200000002000, 1361 0x0000002000002000, 0x2000002000002000, 1362 0x0020002000002000, 0x2020002000002000, 1363 0x0000202000002000, 0x2000202000002000, 1364 0x0020202000002000, 0x2020202000002000, 1365 0x0000000020002000, 0x2000000020002000, 1366 0x0020000020002000, 0x2020000020002000, 1367 0x0000200020002000, 0x2000200020002000, 1368 0x0020200020002000, 0x2020200020002000, 1369 0x0000002020002000, 0x2000002020002000, 1370 0x0020002020002000, 0x2020002020002000, 1371 0x0000202020002000, 0x2000202020002000, 1372 0x0020202020002000, 0x2020202020002000, 1373 0x0000000000202000, 0x2000000000202000, 1374 0x0020000000202000, 0x2020000000202000, 1375 0x0000200000202000, 0x2000200000202000, 1376 0x0020200000202000, 0x2020200000202000, 1377 0x0000002000202000, 0x2000002000202000, 1378 0x0020002000202000, 0x2020002000202000, 1379 0x0000202000202000, 0x2000202000202000, 1380 0x0020202000202000, 0x2020202000202000, 1381 0x0000000020202000, 0x2000000020202000, 1382 0x0020000020202000, 0x2020000020202000, 1383 0x0000200020202000, 0x2000200020202000, 1384 0x0020200020202000, 0x2020200020202000, 1385 0x0000002020202000, 0x2000002020202000, 1386 0x0020002020202000, 0x2020002020202000, 1387 0x0000202020202000, 0x2000202020202000, 1388 0x0020202020202000, 0x2020202020202000, 1389 0x0000000000000020, 0x2000000000000020, 1390 0x0020000000000020, 0x2020000000000020, 1391 0x0000200000000020, 0x2000200000000020, 1392 0x0020200000000020, 0x2020200000000020, 1393 0x0000002000000020, 0x2000002000000020, 1394 0x0020002000000020, 0x2020002000000020, 1395 0x0000202000000020, 0x2000202000000020, 1396 0x0020202000000020, 0x2020202000000020, 1397 0x0000000020000020, 0x2000000020000020, 1398 0x0020000020000020, 0x2020000020000020, 1399 0x0000200020000020, 0x2000200020000020, 1400 0x0020200020000020, 0x2020200020000020, 1401 0x0000002020000020, 0x2000002020000020, 1402 0x0020002020000020, 0x2020002020000020, 1403 0x0000202020000020, 0x2000202020000020, 1404 0x0020202020000020, 0x2020202020000020, 1405 0x0000000000200020, 0x2000000000200020, 1406 0x0020000000200020, 0x2020000000200020, 1407 0x0000200000200020, 0x2000200000200020, 1408 0x0020200000200020, 0x2020200000200020, 1409 0x0000002000200020, 0x2000002000200020, 1410 0x0020002000200020, 0x2020002000200020, 1411 0x0000202000200020, 0x2000202000200020, 1412 0x0020202000200020, 0x2020202000200020, 1413 0x0000000020200020, 0x2000000020200020, 1414 0x0020000020200020, 0x2020000020200020, 1415 0x0000200020200020, 0x2000200020200020, 1416 0x0020200020200020, 0x2020200020200020, 1417 0x0000002020200020, 0x2000002020200020, 1418 0x0020002020200020, 0x2020002020200020, 1419 0x0000202020200020, 0x2000202020200020, 1420 0x0020202020200020, 0x2020202020200020, 1421 0x0000000000002020, 0x2000000000002020, 1422 0x0020000000002020, 0x2020000000002020, 1423 0x0000200000002020, 0x2000200000002020, 1424 0x0020200000002020, 0x2020200000002020, 1425 0x0000002000002020, 0x2000002000002020, 1426 0x0020002000002020, 0x2020002000002020, 1427 0x0000202000002020, 0x2000202000002020, 1428 0x0020202000002020, 0x2020202000002020, 1429 0x0000000020002020, 0x2000000020002020, 1430 0x0020000020002020, 0x2020000020002020, 1431 0x0000200020002020, 0x2000200020002020, 1432 0x0020200020002020, 0x2020200020002020, 1433 0x0000002020002020, 0x2000002020002020, 1434 0x0020002020002020, 0x2020002020002020, 1435 0x0000202020002020, 0x2000202020002020, 1436 0x0020202020002020, 0x2020202020002020, 1437 0x0000000000202020, 0x2000000000202020, 1438 0x0020000000202020, 0x2020000000202020, 1439 0x0000200000202020, 0x2000200000202020, 1440 0x0020200000202020, 0x2020200000202020, 1441 0x0000002000202020, 0x2000002000202020, 1442 0x0020002000202020, 0x2020002000202020, 1443 0x0000202000202020, 0x2000202000202020, 1444 0x0020202000202020, 0x2020202000202020, 1445 0x0000000020202020, 0x2000000020202020, 1446 0x0020000020202020, 0x2020000020202020, 1447 0x0000200020202020, 0x2000200020202020, 1448 0x0020200020202020, 0x2020200020202020, 1449 0x0000002020202020, 0x2000002020202020, 1450 0x0020002020202020, 0x2020002020202020, 1451 0x0000202020202020, 0x2000202020202020, 1452 0x0020202020202020, 0x2020202020202020, 1453 0x0000000000000000, 0x8000000000000000, 1454 0x0080000000000000, 0x8080000000000000, 1455 0x0000800000000000, 0x8000800000000000, 1456 0x0080800000000000, 0x8080800000000000, 1457 0x0000008000000000, 0x8000008000000000, 1458 0x0080008000000000, 0x8080008000000000, 1459 0x0000808000000000, 0x8000808000000000, 1460 0x0080808000000000, 0x8080808000000000, 1461 0x0000000080000000, 0x8000000080000000, 1462 0x0080000080000000, 0x8080000080000000, 1463 0x0000800080000000, 0x8000800080000000, 1464 0x0080800080000000, 0x8080800080000000, 1465 0x0000008080000000, 0x8000008080000000, 1466 0x0080008080000000, 0x8080008080000000, 1467 0x0000808080000000, 0x8000808080000000, 1468 0x0080808080000000, 0x8080808080000000, 1469 0x0000000000800000, 0x8000000000800000, 1470 0x0080000000800000, 0x8080000000800000, 1471 0x0000800000800000, 0x8000800000800000, 1472 0x0080800000800000, 0x8080800000800000, 1473 0x0000008000800000, 0x8000008000800000, 1474 0x0080008000800000, 0x8080008000800000, 1475 0x0000808000800000, 0x8000808000800000, 1476 0x0080808000800000, 0x8080808000800000, 1477 0x0000000080800000, 0x8000000080800000, 1478 0x0080000080800000, 0x8080000080800000, 1479 0x0000800080800000, 0x8000800080800000, 1480 0x0080800080800000, 0x8080800080800000, 1481 0x0000008080800000, 0x8000008080800000, 1482 0x0080008080800000, 0x8080008080800000, 1483 0x0000808080800000, 0x8000808080800000, 1484 0x0080808080800000, 0x8080808080800000, 1485 0x0000000000008000, 0x8000000000008000, 1486 0x0080000000008000, 0x8080000000008000, 1487 0x0000800000008000, 0x8000800000008000, 1488 0x0080800000008000, 0x8080800000008000, 1489 0x0000008000008000, 0x8000008000008000, 1490 0x0080008000008000, 0x8080008000008000, 1491 0x0000808000008000, 0x8000808000008000, 1492 0x0080808000008000, 0x8080808000008000, 1493 0x0000000080008000, 0x8000000080008000, 1494 0x0080000080008000, 0x8080000080008000, 1495 0x0000800080008000, 0x8000800080008000, 1496 0x0080800080008000, 0x8080800080008000, 1497 0x0000008080008000, 0x8000008080008000, 1498 0x0080008080008000, 0x8080008080008000, 1499 0x0000808080008000, 0x8000808080008000, 1500 0x0080808080008000, 0x8080808080008000, 1501 0x0000000000808000, 0x8000000000808000, 1502 0x0080000000808000, 0x8080000000808000, 1503 0x0000800000808000, 0x8000800000808000, 1504 0x0080800000808000, 0x8080800000808000, 1505 0x0000008000808000, 0x8000008000808000, 1506 0x0080008000808000, 0x8080008000808000, 1507 0x0000808000808000, 0x8000808000808000, 1508 0x0080808000808000, 0x8080808000808000, 1509 0x0000000080808000, 0x8000000080808000, 1510 0x0080000080808000, 0x8080000080808000, 1511 0x0000800080808000, 0x8000800080808000, 1512 0x0080800080808000, 0x8080800080808000, 1513 0x0000008080808000, 0x8000008080808000, 1514 0x0080008080808000, 0x8080008080808000, 1515 0x0000808080808000, 0x8000808080808000, 1516 0x0080808080808000, 0x8080808080808000, 1517 0x0000000000000080, 0x8000000000000080, 1518 0x0080000000000080, 0x8080000000000080, 1519 0x0000800000000080, 0x8000800000000080, 1520 0x0080800000000080, 0x8080800000000080, 1521 0x0000008000000080, 0x8000008000000080, 1522 0x0080008000000080, 0x8080008000000080, 1523 0x0000808000000080, 0x8000808000000080, 1524 0x0080808000000080, 0x8080808000000080, 1525 0x0000000080000080, 0x8000000080000080, 1526 0x0080000080000080, 0x8080000080000080, 1527 0x0000800080000080, 0x8000800080000080, 1528 0x0080800080000080, 0x8080800080000080, 1529 0x0000008080000080, 0x8000008080000080, 1530 0x0080008080000080, 0x8080008080000080, 1531 0x0000808080000080, 0x8000808080000080, 1532 0x0080808080000080, 0x8080808080000080, 1533 0x0000000000800080, 0x8000000000800080, 1534 0x0080000000800080, 0x8080000000800080, 1535 0x0000800000800080, 0x8000800000800080, 1536 0x0080800000800080, 0x8080800000800080, 1537 0x0000008000800080, 0x8000008000800080, 1538 0x0080008000800080, 0x8080008000800080, 1539 0x0000808000800080, 0x8000808000800080, 1540 0x0080808000800080, 0x8080808000800080, 1541 0x0000000080800080, 0x8000000080800080, 1542 0x0080000080800080, 0x8080000080800080, 1543 0x0000800080800080, 0x8000800080800080, 1544 0x0080800080800080, 0x8080800080800080, 1545 0x0000008080800080, 0x8000008080800080, 1546 0x0080008080800080, 0x8080008080800080, 1547 0x0000808080800080, 0x8000808080800080, 1548 0x0080808080800080, 0x8080808080800080, 1549 0x0000000000008080, 0x8000000000008080, 1550 0x0080000000008080, 0x8080000000008080, 1551 0x0000800000008080, 0x8000800000008080, 1552 0x0080800000008080, 0x8080800000008080, 1553 0x0000008000008080, 0x8000008000008080, 1554 0x0080008000008080, 0x8080008000008080, 1555 0x0000808000008080, 0x8000808000008080, 1556 0x0080808000008080, 0x8080808000008080, 1557 0x0000000080008080, 0x8000000080008080, 1558 0x0080000080008080, 0x8080000080008080, 1559 0x0000800080008080, 0x8000800080008080, 1560 0x0080800080008080, 0x8080800080008080, 1561 0x0000008080008080, 0x8000008080008080, 1562 0x0080008080008080, 0x8080008080008080, 1563 0x0000808080008080, 0x8000808080008080, 1564 0x0080808080008080, 0x8080808080008080, 1565 0x0000000000808080, 0x8000000000808080, 1566 0x0080000000808080, 0x8080000000808080, 1567 0x0000800000808080, 0x8000800000808080, 1568 0x0080800000808080, 0x8080800000808080, 1569 0x0000008000808080, 0x8000008000808080, 1570 0x0080008000808080, 0x8080008000808080, 1571 0x0000808000808080, 0x8000808000808080, 1572 0x0080808000808080, 0x8080808000808080, 1573 0x0000000080808080, 0x8000000080808080, 1574 0x0080000080808080, 0x8080000080808080, 1575 0x0000800080808080, 0x8000800080808080, 1576 0x0080800080808080, 0x8080800080808080, 1577 0x0000008080808080, 0x8000008080808080, 1578 0x0080008080808080, 0x8080008080808080, 1579 0x0000808080808080, 0x8000808080808080, 1580 0x0080808080808080, 0x8080808080808080, 1581 0x0000000000000000, 0x0100000000000000, 1582 0x0001000000000000, 0x0101000000000000, 1583 0x0000010000000000, 0x0100010000000000, 1584 0x0001010000000000, 0x0101010000000000, 1585 0x0000000100000000, 0x0100000100000000, 1586 0x0001000100000000, 0x0101000100000000, 1587 0x0000010100000000, 0x0100010100000000, 1588 0x0001010100000000, 0x0101010100000000, 1589 0x0000000001000000, 0x0100000001000000, 1590 0x0001000001000000, 0x0101000001000000, 1591 0x0000010001000000, 0x0100010001000000, 1592 0x0001010001000000, 0x0101010001000000, 1593 0x0000000101000000, 0x0100000101000000, 1594 0x0001000101000000, 0x0101000101000000, 1595 0x0000010101000000, 0x0100010101000000, 1596 0x0001010101000000, 0x0101010101000000, 1597 0x0000000000010000, 0x0100000000010000, 1598 0x0001000000010000, 0x0101000000010000, 1599 0x0000010000010000, 0x0100010000010000, 1600 0x0001010000010000, 0x0101010000010000, 1601 0x0000000100010000, 0x0100000100010000, 1602 0x0001000100010000, 0x0101000100010000, 1603 0x0000010100010000, 0x0100010100010000, 1604 0x0001010100010000, 0x0101010100010000, 1605 0x0000000001010000, 0x0100000001010000, 1606 0x0001000001010000, 0x0101000001010000, 1607 0x0000010001010000, 0x0100010001010000, 1608 0x0001010001010000, 0x0101010001010000, 1609 0x0000000101010000, 0x0100000101010000, 1610 0x0001000101010000, 0x0101000101010000, 1611 0x0000010101010000, 0x0100010101010000, 1612 0x0001010101010000, 0x0101010101010000, 1613 0x0000000000000100, 0x0100000000000100, 1614 0x0001000000000100, 0x0101000000000100, 1615 0x0000010000000100, 0x0100010000000100, 1616 0x0001010000000100, 0x0101010000000100, 1617 0x0000000100000100, 0x0100000100000100, 1618 0x0001000100000100, 0x0101000100000100, 1619 0x0000010100000100, 0x0100010100000100, 1620 0x0001010100000100, 0x0101010100000100, 1621 0x0000000001000100, 0x0100000001000100, 1622 0x0001000001000100, 0x0101000001000100, 1623 0x0000010001000100, 0x0100010001000100, 1624 0x0001010001000100, 0x0101010001000100, 1625 0x0000000101000100, 0x0100000101000100, 1626 0x0001000101000100, 0x0101000101000100, 1627 0x0000010101000100, 0x0100010101000100, 1628 0x0001010101000100, 0x0101010101000100, 1629 0x0000000000010100, 0x0100000000010100, 1630 0x0001000000010100, 0x0101000000010100, 1631 0x0000010000010100, 0x0100010000010100, 1632 0x0001010000010100, 0x0101010000010100, 1633 0x0000000100010100, 0x0100000100010100, 1634 0x0001000100010100, 0x0101000100010100, 1635 0x0000010100010100, 0x0100010100010100, 1636 0x0001010100010100, 0x0101010100010100, 1637 0x0000000001010100, 0x0100000001010100, 1638 0x0001000001010100, 0x0101000001010100, 1639 0x0000010001010100, 0x0100010001010100, 1640 0x0001010001010100, 0x0101010001010100, 1641 0x0000000101010100, 0x0100000101010100, 1642 0x0001000101010100, 0x0101000101010100, 1643 0x0000010101010100, 0x0100010101010100, 1644 0x0001010101010100, 0x0101010101010100, 1645 0x0000000000000001, 0x0100000000000001, 1646 0x0001000000000001, 0x0101000000000001, 1647 0x0000010000000001, 0x0100010000000001, 1648 0x0001010000000001, 0x0101010000000001, 1649 0x0000000100000001, 0x0100000100000001, 1650 0x0001000100000001, 0x0101000100000001, 1651 0x0000010100000001, 0x0100010100000001, 1652 0x0001010100000001, 0x0101010100000001, 1653 0x0000000001000001, 0x0100000001000001, 1654 0x0001000001000001, 0x0101000001000001, 1655 0x0000010001000001, 0x0100010001000001, 1656 0x0001010001000001, 0x0101010001000001, 1657 0x0000000101000001, 0x0100000101000001, 1658 0x0001000101000001, 0x0101000101000001, 1659 0x0000010101000001, 0x0100010101000001, 1660 0x0001010101000001, 0x0101010101000001, 1661 0x0000000000010001, 0x0100000000010001, 1662 0x0001000000010001, 0x0101000000010001, 1663 0x0000010000010001, 0x0100010000010001, 1664 0x0001010000010001, 0x0101010000010001, 1665 0x0000000100010001, 0x0100000100010001, 1666 0x0001000100010001, 0x0101000100010001, 1667 0x0000010100010001, 0x0100010100010001, 1668 0x0001010100010001, 0x0101010100010001, 1669 0x0000000001010001, 0x0100000001010001, 1670 0x0001000001010001, 0x0101000001010001, 1671 0x0000010001010001, 0x0100010001010001, 1672 0x0001010001010001, 0x0101010001010001, 1673 0x0000000101010001, 0x0100000101010001, 1674 0x0001000101010001, 0x0101000101010001, 1675 0x0000010101010001, 0x0100010101010001, 1676 0x0001010101010001, 0x0101010101010001, 1677 0x0000000000000101, 0x0100000000000101, 1678 0x0001000000000101, 0x0101000000000101, 1679 0x0000010000000101, 0x0100010000000101, 1680 0x0001010000000101, 0x0101010000000101, 1681 0x0000000100000101, 0x0100000100000101, 1682 0x0001000100000101, 0x0101000100000101, 1683 0x0000010100000101, 0x0100010100000101, 1684 0x0001010100000101, 0x0101010100000101, 1685 0x0000000001000101, 0x0100000001000101, 1686 0x0001000001000101, 0x0101000001000101, 1687 0x0000010001000101, 0x0100010001000101, 1688 0x0001010001000101, 0x0101010001000101, 1689 0x0000000101000101, 0x0100000101000101, 1690 0x0001000101000101, 0x0101000101000101, 1691 0x0000010101000101, 0x0100010101000101, 1692 0x0001010101000101, 0x0101010101000101, 1693 0x0000000000010101, 0x0100000000010101, 1694 0x0001000000010101, 0x0101000000010101, 1695 0x0000010000010101, 0x0100010000010101, 1696 0x0001010000010101, 0x0101010000010101, 1697 0x0000000100010101, 0x0100000100010101, 1698 0x0001000100010101, 0x0101000100010101, 1699 0x0000010100010101, 0x0100010100010101, 1700 0x0001010100010101, 0x0101010100010101, 1701 0x0000000001010101, 0x0100000001010101, 1702 0x0001000001010101, 0x0101000001010101, 1703 0x0000010001010101, 0x0100010001010101, 1704 0x0001010001010101, 0x0101010001010101, 1705 0x0000000101010101, 0x0100000101010101, 1706 0x0001000101010101, 0x0101000101010101, 1707 0x0000010101010101, 0x0100010101010101, 1708 0x0001010101010101, 0x0101010101010101, 1709 0x0000000000000000, 0x0400000000000000, 1710 0x0004000000000000, 0x0404000000000000, 1711 0x0000040000000000, 0x0400040000000000, 1712 0x0004040000000000, 0x0404040000000000, 1713 0x0000000400000000, 0x0400000400000000, 1714 0x0004000400000000, 0x0404000400000000, 1715 0x0000040400000000, 0x0400040400000000, 1716 0x0004040400000000, 0x0404040400000000, 1717 0x0000000004000000, 0x0400000004000000, 1718 0x0004000004000000, 0x0404000004000000, 1719 0x0000040004000000, 0x0400040004000000, 1720 0x0004040004000000, 0x0404040004000000, 1721 0x0000000404000000, 0x0400000404000000, 1722 0x0004000404000000, 0x0404000404000000, 1723 0x0000040404000000, 0x0400040404000000, 1724 0x0004040404000000, 0x0404040404000000, 1725 0x0000000000040000, 0x0400000000040000, 1726 0x0004000000040000, 0x0404000000040000, 1727 0x0000040000040000, 0x0400040000040000, 1728 0x0004040000040000, 0x0404040000040000, 1729 0x0000000400040000, 0x0400000400040000, 1730 0x0004000400040000, 0x0404000400040000, 1731 0x0000040400040000, 0x0400040400040000, 1732 0x0004040400040000, 0x0404040400040000, 1733 0x0000000004040000, 0x0400000004040000, 1734 0x0004000004040000, 0x0404000004040000, 1735 0x0000040004040000, 0x0400040004040000, 1736 0x0004040004040000, 0x0404040004040000, 1737 0x0000000404040000, 0x0400000404040000, 1738 0x0004000404040000, 0x0404000404040000, 1739 0x0000040404040000, 0x0400040404040000, 1740 0x0004040404040000, 0x0404040404040000, 1741 0x0000000000000400, 0x0400000000000400, 1742 0x0004000000000400, 0x0404000000000400, 1743 0x0000040000000400, 0x0400040000000400, 1744 0x0004040000000400, 0x0404040000000400, 1745 0x0000000400000400, 0x0400000400000400, 1746 0x0004000400000400, 0x0404000400000400, 1747 0x0000040400000400, 0x0400040400000400, 1748 0x0004040400000400, 0x0404040400000400, 1749 0x0000000004000400, 0x0400000004000400, 1750 0x0004000004000400, 0x0404000004000400, 1751 0x0000040004000400, 0x0400040004000400, 1752 0x0004040004000400, 0x0404040004000400, 1753 0x0000000404000400, 0x0400000404000400, 1754 0x0004000404000400, 0x0404000404000400, 1755 0x0000040404000400, 0x0400040404000400, 1756 0x0004040404000400, 0x0404040404000400, 1757 0x0000000000040400, 0x0400000000040400, 1758 0x0004000000040400, 0x0404000000040400, 1759 0x0000040000040400, 0x0400040000040400, 1760 0x0004040000040400, 0x0404040000040400, 1761 0x0000000400040400, 0x0400000400040400, 1762 0x0004000400040400, 0x0404000400040400, 1763 0x0000040400040400, 0x0400040400040400, 1764 0x0004040400040400, 0x0404040400040400, 1765 0x0000000004040400, 0x0400000004040400, 1766 0x0004000004040400, 0x0404000004040400, 1767 0x0000040004040400, 0x0400040004040400, 1768 0x0004040004040400, 0x0404040004040400, 1769 0x0000000404040400, 0x0400000404040400, 1770 0x0004000404040400, 0x0404000404040400, 1771 0x0000040404040400, 0x0400040404040400, 1772 0x0004040404040400, 0x0404040404040400, 1773 0x0000000000000004, 0x0400000000000004, 1774 0x0004000000000004, 0x0404000000000004, 1775 0x0000040000000004, 0x0400040000000004, 1776 0x0004040000000004, 0x0404040000000004, 1777 0x0000000400000004, 0x0400000400000004, 1778 0x0004000400000004, 0x0404000400000004, 1779 0x0000040400000004, 0x0400040400000004, 1780 0x0004040400000004, 0x0404040400000004, 1781 0x0000000004000004, 0x0400000004000004, 1782 0x0004000004000004, 0x0404000004000004, 1783 0x0000040004000004, 0x0400040004000004, 1784 0x0004040004000004, 0x0404040004000004, 1785 0x0000000404000004, 0x0400000404000004, 1786 0x0004000404000004, 0x0404000404000004, 1787 0x0000040404000004, 0x0400040404000004, 1788 0x0004040404000004, 0x0404040404000004, 1789 0x0000000000040004, 0x0400000000040004, 1790 0x0004000000040004, 0x0404000000040004, 1791 0x0000040000040004, 0x0400040000040004, 1792 0x0004040000040004, 0x0404040000040004, 1793 0x0000000400040004, 0x0400000400040004, 1794 0x0004000400040004, 0x0404000400040004, 1795 0x0000040400040004, 0x0400040400040004, 1796 0x0004040400040004, 0x0404040400040004, 1797 0x0000000004040004, 0x0400000004040004, 1798 0x0004000004040004, 0x0404000004040004, 1799 0x0000040004040004, 0x0400040004040004, 1800 0x0004040004040004, 0x0404040004040004, 1801 0x0000000404040004, 0x0400000404040004, 1802 0x0004000404040004, 0x0404000404040004, 1803 0x0000040404040004, 0x0400040404040004, 1804 0x0004040404040004, 0x0404040404040004, 1805 0x0000000000000404, 0x0400000000000404, 1806 0x0004000000000404, 0x0404000000000404, 1807 0x0000040000000404, 0x0400040000000404, 1808 0x0004040000000404, 0x0404040000000404, 1809 0x0000000400000404, 0x0400000400000404, 1810 0x0004000400000404, 0x0404000400000404, 1811 0x0000040400000404, 0x0400040400000404, 1812 0x0004040400000404, 0x0404040400000404, 1813 0x0000000004000404, 0x0400000004000404, 1814 0x0004000004000404, 0x0404000004000404, 1815 0x0000040004000404, 0x0400040004000404, 1816 0x0004040004000404, 0x0404040004000404, 1817 0x0000000404000404, 0x0400000404000404, 1818 0x0004000404000404, 0x0404000404000404, 1819 0x0000040404000404, 0x0400040404000404, 1820 0x0004040404000404, 0x0404040404000404, 1821 0x0000000000040404, 0x0400000000040404, 1822 0x0004000000040404, 0x0404000000040404, 1823 0x0000040000040404, 0x0400040000040404, 1824 0x0004040000040404, 0x0404040000040404, 1825 0x0000000400040404, 0x0400000400040404, 1826 0x0004000400040404, 0x0404000400040404, 1827 0x0000040400040404, 0x0400040400040404, 1828 0x0004040400040404, 0x0404040400040404, 1829 0x0000000004040404, 0x0400000004040404, 1830 0x0004000004040404, 0x0404000004040404, 1831 0x0000040004040404, 0x0400040004040404, 1832 0x0004040004040404, 0x0404040004040404, 1833 0x0000000404040404, 0x0400000404040404, 1834 0x0004000404040404, 0x0404000404040404, 1835 0x0000040404040404, 0x0400040404040404, 1836 0x0004040404040404, 0x0404040404040404, 1837 0x0000000000000000, 0x1000000000000000, 1838 0x0010000000000000, 0x1010000000000000, 1839 0x0000100000000000, 0x1000100000000000, 1840 0x0010100000000000, 0x1010100000000000, 1841 0x0000001000000000, 0x1000001000000000, 1842 0x0010001000000000, 0x1010001000000000, 1843 0x0000101000000000, 0x1000101000000000, 1844 0x0010101000000000, 0x1010101000000000, 1845 0x0000000010000000, 0x1000000010000000, 1846 0x0010000010000000, 0x1010000010000000, 1847 0x0000100010000000, 0x1000100010000000, 1848 0x0010100010000000, 0x1010100010000000, 1849 0x0000001010000000, 0x1000001010000000, 1850 0x0010001010000000, 0x1010001010000000, 1851 0x0000101010000000, 0x1000101010000000, 1852 0x0010101010000000, 0x1010101010000000, 1853 0x0000000000100000, 0x1000000000100000, 1854 0x0010000000100000, 0x1010000000100000, 1855 0x0000100000100000, 0x1000100000100000, 1856 0x0010100000100000, 0x1010100000100000, 1857 0x0000001000100000, 0x1000001000100000, 1858 0x0010001000100000, 0x1010001000100000, 1859 0x0000101000100000, 0x1000101000100000, 1860 0x0010101000100000, 0x1010101000100000, 1861 0x0000000010100000, 0x1000000010100000, 1862 0x0010000010100000, 0x1010000010100000, 1863 0x0000100010100000, 0x1000100010100000, 1864 0x0010100010100000, 0x1010100010100000, 1865 0x0000001010100000, 0x1000001010100000, 1866 0x0010001010100000, 0x1010001010100000, 1867 0x0000101010100000, 0x1000101010100000, 1868 0x0010101010100000, 0x1010101010100000, 1869 0x0000000000001000, 0x1000000000001000, 1870 0x0010000000001000, 0x1010000000001000, 1871 0x0000100000001000, 0x1000100000001000, 1872 0x0010100000001000, 0x1010100000001000, 1873 0x0000001000001000, 0x1000001000001000, 1874 0x0010001000001000, 0x1010001000001000, 1875 0x0000101000001000, 0x1000101000001000, 1876 0x0010101000001000, 0x1010101000001000, 1877 0x0000000010001000, 0x1000000010001000, 1878 0x0010000010001000, 0x1010000010001000, 1879 0x0000100010001000, 0x1000100010001000, 1880 0x0010100010001000, 0x1010100010001000, 1881 0x0000001010001000, 0x1000001010001000, 1882 0x0010001010001000, 0x1010001010001000, 1883 0x0000101010001000, 0x1000101010001000, 1884 0x0010101010001000, 0x1010101010001000, 1885 0x0000000000101000, 0x1000000000101000, 1886 0x0010000000101000, 0x1010000000101000, 1887 0x0000100000101000, 0x1000100000101000, 1888 0x0010100000101000, 0x1010100000101000, 1889 0x0000001000101000, 0x1000001000101000, 1890 0x0010001000101000, 0x1010001000101000, 1891 0x0000101000101000, 0x1000101000101000, 1892 0x0010101000101000, 0x1010101000101000, 1893 0x0000000010101000, 0x1000000010101000, 1894 0x0010000010101000, 0x1010000010101000, 1895 0x0000100010101000, 0x1000100010101000, 1896 0x0010100010101000, 0x1010100010101000, 1897 0x0000001010101000, 0x1000001010101000, 1898 0x0010001010101000, 0x1010001010101000, 1899 0x0000101010101000, 0x1000101010101000, 1900 0x0010101010101000, 0x1010101010101000, 1901 0x0000000000000010, 0x1000000000000010, 1902 0x0010000000000010, 0x1010000000000010, 1903 0x0000100000000010, 0x1000100000000010, 1904 0x0010100000000010, 0x1010100000000010, 1905 0x0000001000000010, 0x1000001000000010, 1906 0x0010001000000010, 0x1010001000000010, 1907 0x0000101000000010, 0x1000101000000010, 1908 0x0010101000000010, 0x1010101000000010, 1909 0x0000000010000010, 0x1000000010000010, 1910 0x0010000010000010, 0x1010000010000010, 1911 0x0000100010000010, 0x1000100010000010, 1912 0x0010100010000010, 0x1010100010000010, 1913 0x0000001010000010, 0x1000001010000010, 1914 0x0010001010000010, 0x1010001010000010, 1915 0x0000101010000010, 0x1000101010000010, 1916 0x0010101010000010, 0x1010101010000010, 1917 0x0000000000100010, 0x1000000000100010, 1918 0x0010000000100010, 0x1010000000100010, 1919 0x0000100000100010, 0x1000100000100010, 1920 0x0010100000100010, 0x1010100000100010, 1921 0x0000001000100010, 0x1000001000100010, 1922 0x0010001000100010, 0x1010001000100010, 1923 0x0000101000100010, 0x1000101000100010, 1924 0x0010101000100010, 0x1010101000100010, 1925 0x0000000010100010, 0x1000000010100010, 1926 0x0010000010100010, 0x1010000010100010, 1927 0x0000100010100010, 0x1000100010100010, 1928 0x0010100010100010, 0x1010100010100010, 1929 0x0000001010100010, 0x1000001010100010, 1930 0x0010001010100010, 0x1010001010100010, 1931 0x0000101010100010, 0x1000101010100010, 1932 0x0010101010100010, 0x1010101010100010, 1933 0x0000000000001010, 0x1000000000001010, 1934 0x0010000000001010, 0x1010000000001010, 1935 0x0000100000001010, 0x1000100000001010, 1936 0x0010100000001010, 0x1010100000001010, 1937 0x0000001000001010, 0x1000001000001010, 1938 0x0010001000001010, 0x1010001000001010, 1939 0x0000101000001010, 0x1000101000001010, 1940 0x0010101000001010, 0x1010101000001010, 1941 0x0000000010001010, 0x1000000010001010, 1942 0x0010000010001010, 0x1010000010001010, 1943 0x0000100010001010, 0x1000100010001010, 1944 0x0010100010001010, 0x1010100010001010, 1945 0x0000001010001010, 0x1000001010001010, 1946 0x0010001010001010, 0x1010001010001010, 1947 0x0000101010001010, 0x1000101010001010, 1948 0x0010101010001010, 0x1010101010001010, 1949 0x0000000000101010, 0x1000000000101010, 1950 0x0010000000101010, 0x1010000000101010, 1951 0x0000100000101010, 0x1000100000101010, 1952 0x0010100000101010, 0x1010100000101010, 1953 0x0000001000101010, 0x1000001000101010, 1954 0x0010001000101010, 0x1010001000101010, 1955 0x0000101000101010, 0x1000101000101010, 1956 0x0010101000101010, 0x1010101000101010, 1957 0x0000000010101010, 0x1000000010101010, 1958 0x0010000010101010, 0x1010000010101010, 1959 0x0000100010101010, 0x1000100010101010, 1960 0x0010100010101010, 0x1010100010101010, 1961 0x0000001010101010, 0x1000001010101010, 1962 0x0010001010101010, 0x1010001010101010, 1963 0x0000101010101010, 0x1000101010101010, 1964 0x0010101010101010, 0x1010101010101010, 1965 0x0000000000000000, 0x4000000000000000, 1966 0x0040000000000000, 0x4040000000000000, 1967 0x0000400000000000, 0x4000400000000000, 1968 0x0040400000000000, 0x4040400000000000, 1969 0x0000004000000000, 0x4000004000000000, 1970 0x0040004000000000, 0x4040004000000000, 1971 0x0000404000000000, 0x4000404000000000, 1972 0x0040404000000000, 0x4040404000000000, 1973 0x0000000040000000, 0x4000000040000000, 1974 0x0040000040000000, 0x4040000040000000, 1975 0x0000400040000000, 0x4000400040000000, 1976 0x0040400040000000, 0x4040400040000000, 1977 0x0000004040000000, 0x4000004040000000, 1978 0x0040004040000000, 0x4040004040000000, 1979 0x0000404040000000, 0x4000404040000000, 1980 0x0040404040000000, 0x4040404040000000, 1981 0x0000000000400000, 0x4000000000400000, 1982 0x0040000000400000, 0x4040000000400000, 1983 0x0000400000400000, 0x4000400000400000, 1984 0x0040400000400000, 0x4040400000400000, 1985 0x0000004000400000, 0x4000004000400000, 1986 0x0040004000400000, 0x4040004000400000, 1987 0x0000404000400000, 0x4000404000400000, 1988 0x0040404000400000, 0x4040404000400000, 1989 0x0000000040400000, 0x4000000040400000, 1990 0x0040000040400000, 0x4040000040400000, 1991 0x0000400040400000, 0x4000400040400000, 1992 0x0040400040400000, 0x4040400040400000, 1993 0x0000004040400000, 0x4000004040400000, 1994 0x0040004040400000, 0x4040004040400000, 1995 0x0000404040400000, 0x4000404040400000, 1996 0x0040404040400000, 0x4040404040400000, 1997 0x0000000000004000, 0x4000000000004000, 1998 0x0040000000004000, 0x4040000000004000, 1999 0x0000400000004000, 0x4000400000004000, 2000 0x0040400000004000, 0x4040400000004000, 2001 0x0000004000004000, 0x4000004000004000, 2002 0x0040004000004000, 0x4040004000004000, 2003 0x0000404000004000, 0x4000404000004000, 2004 0x0040404000004000, 0x4040404000004000, 2005 0x0000000040004000, 0x4000000040004000, 2006 0x0040000040004000, 0x4040000040004000, 2007 0x0000400040004000, 0x4000400040004000, 2008 0x0040400040004000, 0x4040400040004000, 2009 0x0000004040004000, 0x4000004040004000, 2010 0x0040004040004000, 0x4040004040004000, 2011 0x0000404040004000, 0x4000404040004000, 2012 0x0040404040004000, 0x4040404040004000, 2013 0x0000000000404000, 0x4000000000404000, 2014 0x0040000000404000, 0x4040000000404000, 2015 0x0000400000404000, 0x4000400000404000, 2016 0x0040400000404000, 0x4040400000404000, 2017 0x0000004000404000, 0x4000004000404000, 2018 0x0040004000404000, 0x4040004000404000, 2019 0x0000404000404000, 0x4000404000404000, 2020 0x0040404000404000, 0x4040404000404000, 2021 0x0000000040404000, 0x4000000040404000, 2022 0x0040000040404000, 0x4040000040404000, 2023 0x0000400040404000, 0x4000400040404000, 2024 0x0040400040404000, 0x4040400040404000, 2025 0x0000004040404000, 0x4000004040404000, 2026 0x0040004040404000, 0x4040004040404000, 2027 0x0000404040404000, 0x4000404040404000, 2028 0x0040404040404000, 0x4040404040404000, 2029 0x0000000000000040, 0x4000000000000040, 2030 0x0040000000000040, 0x4040000000000040, 2031 0x0000400000000040, 0x4000400000000040, 2032 0x0040400000000040, 0x4040400000000040, 2033 0x0000004000000040, 0x4000004000000040, 2034 0x0040004000000040, 0x4040004000000040, 2035 0x0000404000000040, 0x4000404000000040, 2036 0x0040404000000040, 0x4040404000000040, 2037 0x0000000040000040, 0x4000000040000040, 2038 0x0040000040000040, 0x4040000040000040, 2039 0x0000400040000040, 0x4000400040000040, 2040 0x0040400040000040, 0x4040400040000040, 2041 0x0000004040000040, 0x4000004040000040, 2042 0x0040004040000040, 0x4040004040000040, 2043 0x0000404040000040, 0x4000404040000040, 2044 0x0040404040000040, 0x4040404040000040, 2045 0x0000000000400040, 0x4000000000400040, 2046 0x0040000000400040, 0x4040000000400040, 2047 0x0000400000400040, 0x4000400000400040, 2048 0x0040400000400040, 0x4040400000400040, 2049 0x0000004000400040, 0x4000004000400040, 2050 0x0040004000400040, 0x4040004000400040, 2051 0x0000404000400040, 0x4000404000400040, 2052 0x0040404000400040, 0x4040404000400040, 2053 0x0000000040400040, 0x4000000040400040, 2054 0x0040000040400040, 0x4040000040400040, 2055 0x0000400040400040, 0x4000400040400040, 2056 0x0040400040400040, 0x4040400040400040, 2057 0x0000004040400040, 0x4000004040400040, 2058 0x0040004040400040, 0x4040004040400040, 2059 0x0000404040400040, 0x4000404040400040, 2060 0x0040404040400040, 0x4040404040400040, 2061 0x0000000000004040, 0x4000000000004040, 2062 0x0040000000004040, 0x4040000000004040, 2063 0x0000400000004040, 0x4000400000004040, 2064 0x0040400000004040, 0x4040400000004040, 2065 0x0000004000004040, 0x4000004000004040, 2066 0x0040004000004040, 0x4040004000004040, 2067 0x0000404000004040, 0x4000404000004040, 2068 0x0040404000004040, 0x4040404000004040, 2069 0x0000000040004040, 0x4000000040004040, 2070 0x0040000040004040, 0x4040000040004040, 2071 0x0000400040004040, 0x4000400040004040, 2072 0x0040400040004040, 0x4040400040004040, 2073 0x0000004040004040, 0x4000004040004040, 2074 0x0040004040004040, 0x4040004040004040, 2075 0x0000404040004040, 0x4000404040004040, 2076 0x0040404040004040, 0x4040404040004040, 2077 0x0000000000404040, 0x4000000000404040, 2078 0x0040000000404040, 0x4040000000404040, 2079 0x0000400000404040, 0x4000400000404040, 2080 0x0040400000404040, 0x4040400000404040, 2081 0x0000004000404040, 0x4000004000404040, 2082 0x0040004000404040, 0x4040004000404040, 2083 0x0000404000404040, 0x4000404000404040, 2084 0x0040404000404040, 0x4040404000404040, 2085 0x0000000040404040, 0x4000000040404040, 2086 0x0040000040404040, 0x4040000040404040, 2087 0x0000400040404040, 0x4000400040404040, 2088 0x0040400040404040, 0x4040400040404040, 2089 0x0000004040404040, 0x4000004040404040, 2090 0x0040004040404040, 0x4040004040404040, 2091 0x0000404040404040, 0x4000404040404040, 2092 0x0040404040404040, 0x4040404040404040 2093) 2094 2095# E permutation table 2096E_K = ( 2097 0x0000000000000000, 0x0000800000000002, 2098 0x0000000000000004, 0x0000800000000006, 2099 0x0000000000000008, 0x000080000000000a, 2100 0x000000000000000c, 0x000080000000000e, 2101 0x0000000000000050, 0x0000800000000052, 2102 0x0000000000000054, 0x0000800000000056, 2103 0x0000000000000058, 0x000080000000005a, 2104 0x000000000000005c, 0x000080000000005e, 2105 0x00000000000000a0, 0x00008000000000a2, 2106 0x00000000000000a4, 0x00008000000000a6, 2107 0x00000000000000a8, 0x00008000000000aa, 2108 0x00000000000000ac, 0x00008000000000ae, 2109 0x00000000000000f0, 0x00008000000000f2, 2110 0x00000000000000f4, 0x00008000000000f6, 2111 0x00000000000000f8, 0x00008000000000fa, 2112 0x00000000000000fc, 0x00008000000000fe, 2113 0x0000000000000100, 0x0000800000000102, 2114 0x0000000000000104, 0x0000800000000106, 2115 0x0000000000000108, 0x000080000000010a, 2116 0x000000000000010c, 0x000080000000010e, 2117 0x0000000000000150, 0x0000800000000152, 2118 0x0000000000000154, 0x0000800000000156, 2119 0x0000000000000158, 0x000080000000015a, 2120 0x000000000000015c, 0x000080000000015e, 2121 0x00000000000001a0, 0x00008000000001a2, 2122 0x00000000000001a4, 0x00008000000001a6, 2123 0x00000000000001a8, 0x00008000000001aa, 2124 0x00000000000001ac, 0x00008000000001ae, 2125 0x00000000000001f0, 0x00008000000001f2, 2126 0x00000000000001f4, 0x00008000000001f6, 2127 0x00000000000001f8, 0x00008000000001fa, 2128 0x00000000000001fc, 0x00008000000001fe, 2129 0x0000000000000200, 0x0000800000000202, 2130 0x0000000000000204, 0x0000800000000206, 2131 0x0000000000000208, 0x000080000000020a, 2132 0x000000000000020c, 0x000080000000020e, 2133 0x0000000000000250, 0x0000800000000252, 2134 0x0000000000000254, 0x0000800000000256, 2135 0x0000000000000258, 0x000080000000025a, 2136 0x000000000000025c, 0x000080000000025e, 2137 0x00000000000002a0, 0x00008000000002a2, 2138 0x00000000000002a4, 0x00008000000002a6, 2139 0x00000000000002a8, 0x00008000000002aa, 2140 0x00000000000002ac, 0x00008000000002ae, 2141 0x00000000000002f0, 0x00008000000002f2, 2142 0x00000000000002f4, 0x00008000000002f6, 2143 0x00000000000002f8, 0x00008000000002fa, 2144 0x00000000000002fc, 0x00008000000002fe, 2145 0x0000000000000300, 0x0000800000000302, 2146 0x0000000000000304, 0x0000800000000306, 2147 0x0000000000000308, 0x000080000000030a, 2148 0x000000000000030c, 0x000080000000030e, 2149 0x0000000000000350, 0x0000800000000352, 2150 0x0000000000000354, 0x0000800000000356, 2151 0x0000000000000358, 0x000080000000035a, 2152 0x000000000000035c, 0x000080000000035e, 2153 0x00000000000003a0, 0x00008000000003a2, 2154 0x00000000000003a4, 0x00008000000003a6, 2155 0x00000000000003a8, 0x00008000000003aa, 2156 0x00000000000003ac, 0x00008000000003ae, 2157 0x00000000000003f0, 0x00008000000003f2, 2158 0x00000000000003f4, 0x00008000000003f6, 2159 0x00000000000003f8, 0x00008000000003fa, 2160 0x00000000000003fc, 0x00008000000003fe, 2161 0x0000000000001400, 0x0000800000001402, 2162 0x0000000000001404, 0x0000800000001406, 2163 0x0000000000001408, 0x000080000000140a, 2164 0x000000000000140c, 0x000080000000140e, 2165 0x0000000000001450, 0x0000800000001452, 2166 0x0000000000001454, 0x0000800000001456, 2167 0x0000000000001458, 0x000080000000145a, 2168 0x000000000000145c, 0x000080000000145e, 2169 0x00000000000014a0, 0x00008000000014a2, 2170 0x00000000000014a4, 0x00008000000014a6, 2171 0x00000000000014a8, 0x00008000000014aa, 2172 0x00000000000014ac, 0x00008000000014ae, 2173 0x00000000000014f0, 0x00008000000014f2, 2174 0x00000000000014f4, 0x00008000000014f6, 2175 0x00000000000014f8, 0x00008000000014fa, 2176 0x00000000000014fc, 0x00008000000014fe, 2177 0x0000000000001500, 0x0000800000001502, 2178 0x0000000000001504, 0x0000800000001506, 2179 0x0000000000001508, 0x000080000000150a, 2180 0x000000000000150c, 0x000080000000150e, 2181 0x0000000000001550, 0x0000800000001552, 2182 0x0000000000001554, 0x0000800000001556, 2183 0x0000000000001558, 0x000080000000155a, 2184 0x000000000000155c, 0x000080000000155e, 2185 0x00000000000015a0, 0x00008000000015a2, 2186 0x00000000000015a4, 0x00008000000015a6, 2187 0x00000000000015a8, 0x00008000000015aa, 2188 0x00000000000015ac, 0x00008000000015ae, 2189 0x00000000000015f0, 0x00008000000015f2, 2190 0x00000000000015f4, 0x00008000000015f6, 2191 0x00000000000015f8, 0x00008000000015fa, 2192 0x00000000000015fc, 0x00008000000015fe, 2193 0x0000000000001600, 0x0000800000001602, 2194 0x0000000000001604, 0x0000800000001606, 2195 0x0000000000001608, 0x000080000000160a, 2196 0x000000000000160c, 0x000080000000160e, 2197 0x0000000000001650, 0x0000800000001652, 2198 0x0000000000001654, 0x0000800000001656, 2199 0x0000000000001658, 0x000080000000165a, 2200 0x000000000000165c, 0x000080000000165e, 2201 0x00000000000016a0, 0x00008000000016a2, 2202 0x00000000000016a4, 0x00008000000016a6, 2203 0x00000000000016a8, 0x00008000000016aa, 2204 0x00000000000016ac, 0x00008000000016ae, 2205 0x00000000000016f0, 0x00008000000016f2, 2206 0x00000000000016f4, 0x00008000000016f6, 2207 0x00000000000016f8, 0x00008000000016fa, 2208 0x00000000000016fc, 0x00008000000016fe, 2209 0x0000000000001700, 0x0000800000001702, 2210 0x0000000000001704, 0x0000800000001706, 2211 0x0000000000001708, 0x000080000000170a, 2212 0x000000000000170c, 0x000080000000170e, 2213 0x0000000000001750, 0x0000800000001752, 2214 0x0000000000001754, 0x0000800000001756, 2215 0x0000000000001758, 0x000080000000175a, 2216 0x000000000000175c, 0x000080000000175e, 2217 0x00000000000017a0, 0x00008000000017a2, 2218 0x00000000000017a4, 0x00008000000017a6, 2219 0x00000000000017a8, 0x00008000000017aa, 2220 0x00000000000017ac, 0x00008000000017ae, 2221 0x00000000000017f0, 0x00008000000017f2, 2222 0x00000000000017f4, 0x00008000000017f6, 2223 0x00000000000017f8, 0x00008000000017fa, 2224 0x00000000000017fc, 0x00008000000017fe, 2225 0x0000000000000000, 0x0000000000002800, 2226 0x0000000000004000, 0x0000000000006800, 2227 0x0000000000008000, 0x000000000000a800, 2228 0x000000000000c000, 0x000000000000e800, 2229 0x0000000000050000, 0x0000000000052800, 2230 0x0000000000054000, 0x0000000000056800, 2231 0x0000000000058000, 0x000000000005a800, 2232 0x000000000005c000, 0x000000000005e800, 2233 0x00000000000a0000, 0x00000000000a2800, 2234 0x00000000000a4000, 0x00000000000a6800, 2235 0x00000000000a8000, 0x00000000000aa800, 2236 0x00000000000ac000, 0x00000000000ae800, 2237 0x00000000000f0000, 0x00000000000f2800, 2238 0x00000000000f4000, 0x00000000000f6800, 2239 0x00000000000f8000, 0x00000000000fa800, 2240 0x00000000000fc000, 0x00000000000fe800, 2241 0x0000000000100000, 0x0000000000102800, 2242 0x0000000000104000, 0x0000000000106800, 2243 0x0000000000108000, 0x000000000010a800, 2244 0x000000000010c000, 0x000000000010e800, 2245 0x0000000000150000, 0x0000000000152800, 2246 0x0000000000154000, 0x0000000000156800, 2247 0x0000000000158000, 0x000000000015a800, 2248 0x000000000015c000, 0x000000000015e800, 2249 0x00000000001a0000, 0x00000000001a2800, 2250 0x00000000001a4000, 0x00000000001a6800, 2251 0x00000000001a8000, 0x00000000001aa800, 2252 0x00000000001ac000, 0x00000000001ae800, 2253 0x00000000001f0000, 0x00000000001f2800, 2254 0x00000000001f4000, 0x00000000001f6800, 2255 0x00000000001f8000, 0x00000000001fa800, 2256 0x00000000001fc000, 0x00000000001fe800, 2257 0x0000000000200000, 0x0000000000202800, 2258 0x0000000000204000, 0x0000000000206800, 2259 0x0000000000208000, 0x000000000020a800, 2260 0x000000000020c000, 0x000000000020e800, 2261 0x0000000000250000, 0x0000000000252800, 2262 0x0000000000254000, 0x0000000000256800, 2263 0x0000000000258000, 0x000000000025a800, 2264 0x000000000025c000, 0x000000000025e800, 2265 0x00000000002a0000, 0x00000000002a2800, 2266 0x00000000002a4000, 0x00000000002a6800, 2267 0x00000000002a8000, 0x00000000002aa800, 2268 0x00000000002ac000, 0x00000000002ae800, 2269 0x00000000002f0000, 0x00000000002f2800, 2270 0x00000000002f4000, 0x00000000002f6800, 2271 0x00000000002f8000, 0x00000000002fa800, 2272 0x00000000002fc000, 0x00000000002fe800, 2273 0x0000000000300000, 0x0000000000302800, 2274 0x0000000000304000, 0x0000000000306800, 2275 0x0000000000308000, 0x000000000030a800, 2276 0x000000000030c000, 0x000000000030e800, 2277 0x0000000000350000, 0x0000000000352800, 2278 0x0000000000354000, 0x0000000000356800, 2279 0x0000000000358000, 0x000000000035a800, 2280 0x000000000035c000, 0x000000000035e800, 2281 0x00000000003a0000, 0x00000000003a2800, 2282 0x00000000003a4000, 0x00000000003a6800, 2283 0x00000000003a8000, 0x00000000003aa800, 2284 0x00000000003ac000, 0x00000000003ae800, 2285 0x00000000003f0000, 0x00000000003f2800, 2286 0x00000000003f4000, 0x00000000003f6800, 2287 0x00000000003f8000, 0x00000000003fa800, 2288 0x00000000003fc000, 0x00000000003fe800, 2289 0x0000000001400000, 0x0000000001402800, 2290 0x0000000001404000, 0x0000000001406800, 2291 0x0000000001408000, 0x000000000140a800, 2292 0x000000000140c000, 0x000000000140e800, 2293 0x0000000001450000, 0x0000000001452800, 2294 0x0000000001454000, 0x0000000001456800, 2295 0x0000000001458000, 0x000000000145a800, 2296 0x000000000145c000, 0x000000000145e800, 2297 0x00000000014a0000, 0x00000000014a2800, 2298 0x00000000014a4000, 0x00000000014a6800, 2299 0x00000000014a8000, 0x00000000014aa800, 2300 0x00000000014ac000, 0x00000000014ae800, 2301 0x00000000014f0000, 0x00000000014f2800, 2302 0x00000000014f4000, 0x00000000014f6800, 2303 0x00000000014f8000, 0x00000000014fa800, 2304 0x00000000014fc000, 0x00000000014fe800, 2305 0x0000000001500000, 0x0000000001502800, 2306 0x0000000001504000, 0x0000000001506800, 2307 0x0000000001508000, 0x000000000150a800, 2308 0x000000000150c000, 0x000000000150e800, 2309 0x0000000001550000, 0x0000000001552800, 2310 0x0000000001554000, 0x0000000001556800, 2311 0x0000000001558000, 0x000000000155a800, 2312 0x000000000155c000, 0x000000000155e800, 2313 0x00000000015a0000, 0x00000000015a2800, 2314 0x00000000015a4000, 0x00000000015a6800, 2315 0x00000000015a8000, 0x00000000015aa800, 2316 0x00000000015ac000, 0x00000000015ae800, 2317 0x00000000015f0000, 0x00000000015f2800, 2318 0x00000000015f4000, 0x00000000015f6800, 2319 0x00000000015f8000, 0x00000000015fa800, 2320 0x00000000015fc000, 0x00000000015fe800, 2321 0x0000000001600000, 0x0000000001602800, 2322 0x0000000001604000, 0x0000000001606800, 2323 0x0000000001608000, 0x000000000160a800, 2324 0x000000000160c000, 0x000000000160e800, 2325 0x0000000001650000, 0x0000000001652800, 2326 0x0000000001654000, 0x0000000001656800, 2327 0x0000000001658000, 0x000000000165a800, 2328 0x000000000165c000, 0x000000000165e800, 2329 0x00000000016a0000, 0x00000000016a2800, 2330 0x00000000016a4000, 0x00000000016a6800, 2331 0x00000000016a8000, 0x00000000016aa800, 2332 0x00000000016ac000, 0x00000000016ae800, 2333 0x00000000016f0000, 0x00000000016f2800, 2334 0x00000000016f4000, 0x00000000016f6800, 2335 0x00000000016f8000, 0x00000000016fa800, 2336 0x00000000016fc000, 0x00000000016fe800, 2337 0x0000000001700000, 0x0000000001702800, 2338 0x0000000001704000, 0x0000000001706800, 2339 0x0000000001708000, 0x000000000170a800, 2340 0x000000000170c000, 0x000000000170e800, 2341 0x0000000001750000, 0x0000000001752800, 2342 0x0000000001754000, 0x0000000001756800, 2343 0x0000000001758000, 0x000000000175a800, 2344 0x000000000175c000, 0x000000000175e800, 2345 0x00000000017a0000, 0x00000000017a2800, 2346 0x00000000017a4000, 0x00000000017a6800, 2347 0x00000000017a8000, 0x00000000017aa800, 2348 0x00000000017ac000, 0x00000000017ae800, 2349 0x00000000017f0000, 0x00000000017f2800, 2350 0x00000000017f4000, 0x00000000017f6800, 2351 0x00000000017f8000, 0x00000000017fa800, 2352 0x00000000017fc000, 0x00000000017fe800, 2353 0x0000000000000000, 0x0000000002800000, 2354 0x0000000004000000, 0x0000000006800000, 2355 0x0000000008000000, 0x000000000a800000, 2356 0x000000000c000000, 0x000000000e800000, 2357 0x0000000050000000, 0x0000000052800000, 2358 0x0000000054000000, 0x0000000056800000, 2359 0x0000000058000000, 0x000000005a800000, 2360 0x000000005c000000, 0x000000005e800000, 2361 0x00000000a0000000, 0x00000000a2800000, 2362 0x00000000a4000000, 0x00000000a6800000, 2363 0x00000000a8000000, 0x00000000aa800000, 2364 0x00000000ac000000, 0x00000000ae800000, 2365 0x00000000f0000000, 0x00000000f2800000, 2366 0x00000000f4000000, 0x00000000f6800000, 2367 0x00000000f8000000, 0x00000000fa800000, 2368 0x00000000fc000000, 0x00000000fe800000, 2369 0x0000000100000000, 0x0000000102800000, 2370 0x0000000104000000, 0x0000000106800000, 2371 0x0000000108000000, 0x000000010a800000, 2372 0x000000010c000000, 0x000000010e800000, 2373 0x0000000150000000, 0x0000000152800000, 2374 0x0000000154000000, 0x0000000156800000, 2375 0x0000000158000000, 0x000000015a800000, 2376 0x000000015c000000, 0x000000015e800000, 2377 0x00000001a0000000, 0x00000001a2800000, 2378 0x00000001a4000000, 0x00000001a6800000, 2379 0x00000001a8000000, 0x00000001aa800000, 2380 0x00000001ac000000, 0x00000001ae800000, 2381 0x00000001f0000000, 0x00000001f2800000, 2382 0x00000001f4000000, 0x00000001f6800000, 2383 0x00000001f8000000, 0x00000001fa800000, 2384 0x00000001fc000000, 0x00000001fe800000, 2385 0x0000000200000000, 0x0000000202800000, 2386 0x0000000204000000, 0x0000000206800000, 2387 0x0000000208000000, 0x000000020a800000, 2388 0x000000020c000000, 0x000000020e800000, 2389 0x0000000250000000, 0x0000000252800000, 2390 0x0000000254000000, 0x0000000256800000, 2391 0x0000000258000000, 0x000000025a800000, 2392 0x000000025c000000, 0x000000025e800000, 2393 0x00000002a0000000, 0x00000002a2800000, 2394 0x00000002a4000000, 0x00000002a6800000, 2395 0x00000002a8000000, 0x00000002aa800000, 2396 0x00000002ac000000, 0x00000002ae800000, 2397 0x00000002f0000000, 0x00000002f2800000, 2398 0x00000002f4000000, 0x00000002f6800000, 2399 0x00000002f8000000, 0x00000002fa800000, 2400 0x00000002fc000000, 0x00000002fe800000, 2401 0x0000000300000000, 0x0000000302800000, 2402 0x0000000304000000, 0x0000000306800000, 2403 0x0000000308000000, 0x000000030a800000, 2404 0x000000030c000000, 0x000000030e800000, 2405 0x0000000350000000, 0x0000000352800000, 2406 0x0000000354000000, 0x0000000356800000, 2407 0x0000000358000000, 0x000000035a800000, 2408 0x000000035c000000, 0x000000035e800000, 2409 0x00000003a0000000, 0x00000003a2800000, 2410 0x00000003a4000000, 0x00000003a6800000, 2411 0x00000003a8000000, 0x00000003aa800000, 2412 0x00000003ac000000, 0x00000003ae800000, 2413 0x00000003f0000000, 0x00000003f2800000, 2414 0x00000003f4000000, 0x00000003f6800000, 2415 0x00000003f8000000, 0x00000003fa800000, 2416 0x00000003fc000000, 0x00000003fe800000, 2417 0x0000001400000000, 0x0000001402800000, 2418 0x0000001404000000, 0x0000001406800000, 2419 0x0000001408000000, 0x000000140a800000, 2420 0x000000140c000000, 0x000000140e800000, 2421 0x0000001450000000, 0x0000001452800000, 2422 0x0000001454000000, 0x0000001456800000, 2423 0x0000001458000000, 0x000000145a800000, 2424 0x000000145c000000, 0x000000145e800000, 2425 0x00000014a0000000, 0x00000014a2800000, 2426 0x00000014a4000000, 0x00000014a6800000, 2427 0x00000014a8000000, 0x00000014aa800000, 2428 0x00000014ac000000, 0x00000014ae800000, 2429 0x00000014f0000000, 0x00000014f2800000, 2430 0x00000014f4000000, 0x00000014f6800000, 2431 0x00000014f8000000, 0x00000014fa800000, 2432 0x00000014fc000000, 0x00000014fe800000, 2433 0x0000001500000000, 0x0000001502800000, 2434 0x0000001504000000, 0x0000001506800000, 2435 0x0000001508000000, 0x000000150a800000, 2436 0x000000150c000000, 0x000000150e800000, 2437 0x0000001550000000, 0x0000001552800000, 2438 0x0000001554000000, 0x0000001556800000, 2439 0x0000001558000000, 0x000000155a800000, 2440 0x000000155c000000, 0x000000155e800000, 2441 0x00000015a0000000, 0x00000015a2800000, 2442 0x00000015a4000000, 0x00000015a6800000, 2443 0x00000015a8000000, 0x00000015aa800000, 2444 0x00000015ac000000, 0x00000015ae800000, 2445 0x00000015f0000000, 0x00000015f2800000, 2446 0x00000015f4000000, 0x00000015f6800000, 2447 0x00000015f8000000, 0x00000015fa800000, 2448 0x00000015fc000000, 0x00000015fe800000, 2449 0x0000001600000000, 0x0000001602800000, 2450 0x0000001604000000, 0x0000001606800000, 2451 0x0000001608000000, 0x000000160a800000, 2452 0x000000160c000000, 0x000000160e800000, 2453 0x0000001650000000, 0x0000001652800000, 2454 0x0000001654000000, 0x0000001656800000, 2455 0x0000001658000000, 0x000000165a800000, 2456 0x000000165c000000, 0x000000165e800000, 2457 0x00000016a0000000, 0x00000016a2800000, 2458 0x00000016a4000000, 0x00000016a6800000, 2459 0x00000016a8000000, 0x00000016aa800000, 2460 0x00000016ac000000, 0x00000016ae800000, 2461 0x00000016f0000000, 0x00000016f2800000, 2462 0x00000016f4000000, 0x00000016f6800000, 2463 0x00000016f8000000, 0x00000016fa800000, 2464 0x00000016fc000000, 0x00000016fe800000, 2465 0x0000001700000000, 0x0000001702800000, 2466 0x0000001704000000, 0x0000001706800000, 2467 0x0000001708000000, 0x000000170a800000, 2468 0x000000170c000000, 0x000000170e800000, 2469 0x0000001750000000, 0x0000001752800000, 2470 0x0000001754000000, 0x0000001756800000, 2471 0x0000001758000000, 0x000000175a800000, 2472 0x000000175c000000, 0x000000175e800000, 2473 0x00000017a0000000, 0x00000017a2800000, 2474 0x00000017a4000000, 0x00000017a6800000, 2475 0x00000017a8000000, 0x00000017aa800000, 2476 0x00000017ac000000, 0x00000017ae800000, 2477 0x00000017f0000000, 0x00000017f2800000, 2478 0x00000017f4000000, 0x00000017f6800000, 2479 0x00000017f8000000, 0x00000017fa800000, 2480 0x00000017fc000000, 0x00000017fe800000, 2481 0x0000000000000000, 0x0000002800000000, 2482 0x0000004000000000, 0x0000006800000000, 2483 0x0000008000000000, 0x000000a800000000, 2484 0x000000c000000000, 0x000000e800000000, 2485 0x0000050000000000, 0x0000052800000000, 2486 0x0000054000000000, 0x0000056800000000, 2487 0x0000058000000000, 0x000005a800000000, 2488 0x000005c000000000, 0x000005e800000000, 2489 0x00000a0000000000, 0x00000a2800000000, 2490 0x00000a4000000000, 0x00000a6800000000, 2491 0x00000a8000000000, 0x00000aa800000000, 2492 0x00000ac000000000, 0x00000ae800000000, 2493 0x00000f0000000000, 0x00000f2800000000, 2494 0x00000f4000000000, 0x00000f6800000000, 2495 0x00000f8000000000, 0x00000fa800000000, 2496 0x00000fc000000000, 0x00000fe800000000, 2497 0x0000100000000000, 0x0000102800000000, 2498 0x0000104000000000, 0x0000106800000000, 2499 0x0000108000000000, 0x000010a800000000, 2500 0x000010c000000000, 0x000010e800000000, 2501 0x0000150000000000, 0x0000152800000000, 2502 0x0000154000000000, 0x0000156800000000, 2503 0x0000158000000000, 0x000015a800000000, 2504 0x000015c000000000, 0x000015e800000000, 2505 0x00001a0000000000, 0x00001a2800000000, 2506 0x00001a4000000000, 0x00001a6800000000, 2507 0x00001a8000000000, 0x00001aa800000000, 2508 0x00001ac000000000, 0x00001ae800000000, 2509 0x00001f0000000000, 0x00001f2800000000, 2510 0x00001f4000000000, 0x00001f6800000000, 2511 0x00001f8000000000, 0x00001fa800000000, 2512 0x00001fc000000000, 0x00001fe800000000, 2513 0x0000200000000000, 0x0000202800000000, 2514 0x0000204000000000, 0x0000206800000000, 2515 0x0000208000000000, 0x000020a800000000, 2516 0x000020c000000000, 0x000020e800000000, 2517 0x0000250000000000, 0x0000252800000000, 2518 0x0000254000000000, 0x0000256800000000, 2519 0x0000258000000000, 0x000025a800000000, 2520 0x000025c000000000, 0x000025e800000000, 2521 0x00002a0000000000, 0x00002a2800000000, 2522 0x00002a4000000000, 0x00002a6800000000, 2523 0x00002a8000000000, 0x00002aa800000000, 2524 0x00002ac000000000, 0x00002ae800000000, 2525 0x00002f0000000000, 0x00002f2800000000, 2526 0x00002f4000000000, 0x00002f6800000000, 2527 0x00002f8000000000, 0x00002fa800000000, 2528 0x00002fc000000000, 0x00002fe800000000, 2529 0x0000300000000000, 0x0000302800000000, 2530 0x0000304000000000, 0x0000306800000000, 2531 0x0000308000000000, 0x000030a800000000, 2532 0x000030c000000000, 0x000030e800000000, 2533 0x0000350000000000, 0x0000352800000000, 2534 0x0000354000000000, 0x0000356800000000, 2535 0x0000358000000000, 0x000035a800000000, 2536 0x000035c000000000, 0x000035e800000000, 2537 0x00003a0000000000, 0x00003a2800000000, 2538 0x00003a4000000000, 0x00003a6800000000, 2539 0x00003a8000000000, 0x00003aa800000000, 2540 0x00003ac000000000, 0x00003ae800000000, 2541 0x00003f0000000000, 0x00003f2800000000, 2542 0x00003f4000000000, 0x00003f6800000000, 2543 0x00003f8000000000, 0x00003fa800000000, 2544 0x00003fc000000000, 0x00003fe800000000, 2545 0x0000400000000001, 0x0000402800000001, 2546 0x0000404000000001, 0x0000406800000001, 2547 0x0000408000000001, 0x000040a800000001, 2548 0x000040c000000001, 0x000040e800000001, 2549 0x0000450000000001, 0x0000452800000001, 2550 0x0000454000000001, 0x0000456800000001, 2551 0x0000458000000001, 0x000045a800000001, 2552 0x000045c000000001, 0x000045e800000001, 2553 0x00004a0000000001, 0x00004a2800000001, 2554 0x00004a4000000001, 0x00004a6800000001, 2555 0x00004a8000000001, 0x00004aa800000001, 2556 0x00004ac000000001, 0x00004ae800000001, 2557 0x00004f0000000001, 0x00004f2800000001, 2558 0x00004f4000000001, 0x00004f6800000001, 2559 0x00004f8000000001, 0x00004fa800000001, 2560 0x00004fc000000001, 0x00004fe800000001, 2561 0x0000500000000001, 0x0000502800000001, 2562 0x0000504000000001, 0x0000506800000001, 2563 0x0000508000000001, 0x000050a800000001, 2564 0x000050c000000001, 0x000050e800000001, 2565 0x0000550000000001, 0x0000552800000001, 2566 0x0000554000000001, 0x0000556800000001, 2567 0x0000558000000001, 0x000055a800000001, 2568 0x000055c000000001, 0x000055e800000001, 2569 0x00005a0000000001, 0x00005a2800000001, 2570 0x00005a4000000001, 0x00005a6800000001, 2571 0x00005a8000000001, 0x00005aa800000001, 2572 0x00005ac000000001, 0x00005ae800000001, 2573 0x00005f0000000001, 0x00005f2800000001, 2574 0x00005f4000000001, 0x00005f6800000001, 2575 0x00005f8000000001, 0x00005fa800000001, 2576 0x00005fc000000001, 0x00005fe800000001, 2577 0x0000600000000001, 0x0000602800000001, 2578 0x0000604000000001, 0x0000606800000001, 2579 0x0000608000000001, 0x000060a800000001, 2580 0x000060c000000001, 0x000060e800000001, 2581 0x0000650000000001, 0x0000652800000001, 2582 0x0000654000000001, 0x0000656800000001, 2583 0x0000658000000001, 0x000065a800000001, 2584 0x000065c000000001, 0x000065e800000001, 2585 0x00006a0000000001, 0x00006a2800000001, 2586 0x00006a4000000001, 0x00006a6800000001, 2587 0x00006a8000000001, 0x00006aa800000001, 2588 0x00006ac000000001, 0x00006ae800000001, 2589 0x00006f0000000001, 0x00006f2800000001, 2590 0x00006f4000000001, 0x00006f6800000001, 2591 0x00006f8000000001, 0x00006fa800000001, 2592 0x00006fc000000001, 0x00006fe800000001, 2593 0x0000700000000001, 0x0000702800000001, 2594 0x0000704000000001, 0x0000706800000001, 2595 0x0000708000000001, 0x000070a800000001, 2596 0x000070c000000001, 0x000070e800000001, 2597 0x0000750000000001, 0x0000752800000001, 2598 0x0000754000000001, 0x0000756800000001, 2599 0x0000758000000001, 0x000075a800000001, 2600 0x000075c000000001, 0x000075e800000001, 2601 0x00007a0000000001, 0x00007a2800000001, 2602 0x00007a4000000001, 0x00007a6800000001, 2603 0x00007a8000000001, 0x00007aa800000001, 2604 0x00007ac000000001, 0x00007ae800000001, 2605 0x00007f0000000001, 0x00007f2800000001, 2606 0x00007f4000000001, 0x00007f6800000001, 2607 0x00007f8000000001, 0x00007fa800000001, 2608 0x00007fc000000001, 0x00007fe800000001 2609) 2610 2611# Inverse E permutation table 2612N_E_K = ( 2613 0x0000000000000000, 0x0000000080000000, 2614 0x0000000000000001, 0x0000000080000001, 2615 0x0000000000000002, 0x0000000080000002, 2616 0x0000000000000003, 0x0000000080000003, 2617 0x0000000000000004, 0x0000000080000004, 2618 0x0000000000000005, 0x0000000080000005, 2619 0x0000000000000006, 0x0000000080000006, 2620 0x0000000000000007, 0x0000000080000007, 2621 0x0000000000000008, 0x0000000080000008, 2622 0x0000000000000009, 0x0000000080000009, 2623 0x000000000000000a, 0x000000008000000a, 2624 0x000000000000000b, 0x000000008000000b, 2625 0x000000000000000c, 0x000000008000000c, 2626 0x000000000000000d, 0x000000008000000d, 2627 0x000000000000000e, 0x000000008000000e, 2628 0x000000000000000f, 0x000000008000000f, 2629 0x0000000000000010, 0x0000000080000010, 2630 0x0000000000000011, 0x0000000080000011, 2631 0x0000000000000012, 0x0000000080000012, 2632 0x0000000000000013, 0x0000000080000013, 2633 0x0000000000000014, 0x0000000080000014, 2634 0x0000000000000015, 0x0000000080000015, 2635 0x0000000000000016, 0x0000000080000016, 2636 0x0000000000000017, 0x0000000080000017, 2637 0x0000000000000018, 0x0000000080000018, 2638 0x0000000000000019, 0x0000000080000019, 2639 0x000000000000001a, 0x000000008000001a, 2640 0x000000000000001b, 0x000000008000001b, 2641 0x000000000000001c, 0x000000008000001c, 2642 0x000000000000001d, 0x000000008000001d, 2643 0x000000000000001e, 0x000000008000001e, 2644 0x000000000000001f, 0x000000008000001f, 2645 0x0000000000000008, 0x0000000080000008, 2646 0x0000000000000009, 0x0000000080000009, 2647 0x000000000000000a, 0x000000008000000a, 2648 0x000000000000000b, 0x000000008000000b, 2649 0x000000000000000c, 0x000000008000000c, 2650 0x000000000000000d, 0x000000008000000d, 2651 0x000000000000000e, 0x000000008000000e, 2652 0x000000000000000f, 0x000000008000000f, 2653 0x0000000000000008, 0x0000000080000008, 2654 0x0000000000000009, 0x0000000080000009, 2655 0x000000000000000a, 0x000000008000000a, 2656 0x000000000000000b, 0x000000008000000b, 2657 0x000000000000000c, 0x000000008000000c, 2658 0x000000000000000d, 0x000000008000000d, 2659 0x000000000000000e, 0x000000008000000e, 2660 0x000000000000000f, 0x000000008000000f, 2661 0x0000000000000018, 0x0000000080000018, 2662 0x0000000000000019, 0x0000000080000019, 2663 0x000000000000001a, 0x000000008000001a, 2664 0x000000000000001b, 0x000000008000001b, 2665 0x000000000000001c, 0x000000008000001c, 2666 0x000000000000001d, 0x000000008000001d, 2667 0x000000000000001e, 0x000000008000001e, 2668 0x000000000000001f, 0x000000008000001f, 2669 0x0000000000000018, 0x0000000080000018, 2670 0x0000000000000019, 0x0000000080000019, 2671 0x000000000000001a, 0x000000008000001a, 2672 0x000000000000001b, 0x000000008000001b, 2673 0x000000000000001c, 0x000000008000001c, 2674 0x000000000000001d, 0x000000008000001d, 2675 0x000000000000001e, 0x000000008000001e, 2676 0x000000000000001f, 0x000000008000001f, 2677 0x0000000000000010, 0x0000000080000010, 2678 0x0000000000000011, 0x0000000080000011, 2679 0x0000000000000012, 0x0000000080000012, 2680 0x0000000000000013, 0x0000000080000013, 2681 0x0000000000000014, 0x0000000080000014, 2682 0x0000000000000015, 0x0000000080000015, 2683 0x0000000000000016, 0x0000000080000016, 2684 0x0000000000000017, 0x0000000080000017, 2685 0x0000000000000018, 0x0000000080000018, 2686 0x0000000000000019, 0x0000000080000019, 2687 0x000000000000001a, 0x000000008000001a, 2688 0x000000000000001b, 0x000000008000001b, 2689 0x000000000000001c, 0x000000008000001c, 2690 0x000000000000001d, 0x000000008000001d, 2691 0x000000000000001e, 0x000000008000001e, 2692 0x000000000000001f, 0x000000008000001f, 2693 0x0000000000000010, 0x0000000080000010, 2694 0x0000000000000011, 0x0000000080000011, 2695 0x0000000000000012, 0x0000000080000012, 2696 0x0000000000000013, 0x0000000080000013, 2697 0x0000000000000014, 0x0000000080000014, 2698 0x0000000000000015, 0x0000000080000015, 2699 0x0000000000000016, 0x0000000080000016, 2700 0x0000000000000017, 0x0000000080000017, 2701 0x0000000000000018, 0x0000000080000018, 2702 0x0000000000000019, 0x0000000080000019, 2703 0x000000000000001a, 0x000000008000001a, 2704 0x000000000000001b, 0x000000008000001b, 2705 0x000000000000001c, 0x000000008000001c, 2706 0x000000000000001d, 0x000000008000001d, 2707 0x000000000000001e, 0x000000008000001e, 2708 0x000000000000001f, 0x000000008000001f, 2709 0x0000000000000018, 0x0000000080000018, 2710 0x0000000000000019, 0x0000000080000019, 2711 0x000000000000001a, 0x000000008000001a, 2712 0x000000000000001b, 0x000000008000001b, 2713 0x000000000000001c, 0x000000008000001c, 2714 0x000000000000001d, 0x000000008000001d, 2715 0x000000000000001e, 0x000000008000001e, 2716 0x000000000000001f, 0x000000008000001f, 2717 0x0000000000000018, 0x0000000080000018, 2718 0x0000000000000019, 0x0000000080000019, 2719 0x000000000000001a, 0x000000008000001a, 2720 0x000000000000001b, 0x000000008000001b, 2721 0x000000000000001c, 0x000000008000001c, 2722 0x000000000000001d, 0x000000008000001d, 2723 0x000000000000001e, 0x000000008000001e, 2724 0x000000000000001f, 0x000000008000001f, 2725 0x0000000000000018, 0x0000000080000018, 2726 0x0000000000000019, 0x0000000080000019, 2727 0x000000000000001a, 0x000000008000001a, 2728 0x000000000000001b, 0x000000008000001b, 2729 0x000000000000001c, 0x000000008000001c, 2730 0x000000000000001d, 0x000000008000001d, 2731 0x000000000000001e, 0x000000008000001e, 2732 0x000000000000001f, 0x000000008000001f, 2733 0x0000000000000018, 0x0000000080000018, 2734 0x0000000000000019, 0x0000000080000019, 2735 0x000000000000001a, 0x000000008000001a, 2736 0x000000000000001b, 0x000000008000001b, 2737 0x000000000000001c, 0x000000008000001c, 2738 0x000000000000001d, 0x000000008000001d, 2739 0x000000000000001e, 0x000000008000001e, 2740 0x000000000000001f, 0x000000008000001f, 2741 0x0000000000000000, 0x0000000000000020, 2742 0x0000000000000040, 0x0000000000000060, 2743 0x0000000000000080, 0x00000000000000a0, 2744 0x00000000000000c0, 0x00000000000000e0, 2745 0x0000000000000100, 0x0000000000000120, 2746 0x0000000000000140, 0x0000000000000160, 2747 0x0000000000000180, 0x00000000000001a0, 2748 0x00000000000001c0, 0x00000000000001e0, 2749 0x0000000000000080, 0x00000000000000a0, 2750 0x00000000000000c0, 0x00000000000000e0, 2751 0x0000000000000080, 0x00000000000000a0, 2752 0x00000000000000c0, 0x00000000000000e0, 2753 0x0000000000000180, 0x00000000000001a0, 2754 0x00000000000001c0, 0x00000000000001e0, 2755 0x0000000000000180, 0x00000000000001a0, 2756 0x00000000000001c0, 0x00000000000001e0, 2757 0x0000000000000100, 0x0000000000000120, 2758 0x0000000000000140, 0x0000000000000160, 2759 0x0000000000000180, 0x00000000000001a0, 2760 0x00000000000001c0, 0x00000000000001e0, 2761 0x0000000000000100, 0x0000000000000120, 2762 0x0000000000000140, 0x0000000000000160, 2763 0x0000000000000180, 0x00000000000001a0, 2764 0x00000000000001c0, 0x00000000000001e0, 2765 0x0000000000000180, 0x00000000000001a0, 2766 0x00000000000001c0, 0x00000000000001e0, 2767 0x0000000000000180, 0x00000000000001a0, 2768 0x00000000000001c0, 0x00000000000001e0, 2769 0x0000000000000180, 0x00000000000001a0, 2770 0x00000000000001c0, 0x00000000000001e0, 2771 0x0000000000000180, 0x00000000000001a0, 2772 0x00000000000001c0, 0x00000000000001e0, 2773 0x0000000000000200, 0x0000000000000220, 2774 0x0000000000000240, 0x0000000000000260, 2775 0x0000000000000280, 0x00000000000002a0, 2776 0x00000000000002c0, 0x00000000000002e0, 2777 0x0000000000000300, 0x0000000000000320, 2778 0x0000000000000340, 0x0000000000000360, 2779 0x0000000000000380, 0x00000000000003a0, 2780 0x00000000000003c0, 0x00000000000003e0, 2781 0x0000000000000280, 0x00000000000002a0, 2782 0x00000000000002c0, 0x00000000000002e0, 2783 0x0000000000000280, 0x00000000000002a0, 2784 0x00000000000002c0, 0x00000000000002e0, 2785 0x0000000000000380, 0x00000000000003a0, 2786 0x00000000000003c0, 0x00000000000003e0, 2787 0x0000000000000380, 0x00000000000003a0, 2788 0x00000000000003c0, 0x00000000000003e0, 2789 0x0000000000000300, 0x0000000000000320, 2790 0x0000000000000340, 0x0000000000000360, 2791 0x0000000000000380, 0x00000000000003a0, 2792 0x00000000000003c0, 0x00000000000003e0, 2793 0x0000000000000300, 0x0000000000000320, 2794 0x0000000000000340, 0x0000000000000360, 2795 0x0000000000000380, 0x00000000000003a0, 2796 0x00000000000003c0, 0x00000000000003e0, 2797 0x0000000000000380, 0x00000000000003a0, 2798 0x00000000000003c0, 0x00000000000003e0, 2799 0x0000000000000380, 0x00000000000003a0, 2800 0x00000000000003c0, 0x00000000000003e0, 2801 0x0000000000000380, 0x00000000000003a0, 2802 0x00000000000003c0, 0x00000000000003e0, 2803 0x0000000000000380, 0x00000000000003a0, 2804 0x00000000000003c0, 0x00000000000003e0, 2805 0x0000000000000400, 0x0000000000000420, 2806 0x0000000000000440, 0x0000000000000460, 2807 0x0000000000000480, 0x00000000000004a0, 2808 0x00000000000004c0, 0x00000000000004e0, 2809 0x0000000000000500, 0x0000000000000520, 2810 0x0000000000000540, 0x0000000000000560, 2811 0x0000000000000580, 0x00000000000005a0, 2812 0x00000000000005c0, 0x00000000000005e0, 2813 0x0000000000000480, 0x00000000000004a0, 2814 0x00000000000004c0, 0x00000000000004e0, 2815 0x0000000000000480, 0x00000000000004a0, 2816 0x00000000000004c0, 0x00000000000004e0, 2817 0x0000000000000580, 0x00000000000005a0, 2818 0x00000000000005c0, 0x00000000000005e0, 2819 0x0000000000000580, 0x00000000000005a0, 2820 0x00000000000005c0, 0x00000000000005e0, 2821 0x0000000000000500, 0x0000000000000520, 2822 0x0000000000000540, 0x0000000000000560, 2823 0x0000000000000580, 0x00000000000005a0, 2824 0x00000000000005c0, 0x00000000000005e0, 2825 0x0000000000000500, 0x0000000000000520, 2826 0x0000000000000540, 0x0000000000000560, 2827 0x0000000000000580, 0x00000000000005a0, 2828 0x00000000000005c0, 0x00000000000005e0, 2829 0x0000000000000580, 0x00000000000005a0, 2830 0x00000000000005c0, 0x00000000000005e0, 2831 0x0000000000000580, 0x00000000000005a0, 2832 0x00000000000005c0, 0x00000000000005e0, 2833 0x0000000000000580, 0x00000000000005a0, 2834 0x00000000000005c0, 0x00000000000005e0, 2835 0x0000000000000580, 0x00000000000005a0, 2836 0x00000000000005c0, 0x00000000000005e0, 2837 0x0000000000000600, 0x0000000000000620, 2838 0x0000000000000640, 0x0000000000000660, 2839 0x0000000000000680, 0x00000000000006a0, 2840 0x00000000000006c0, 0x00000000000006e0, 2841 0x0000000000000700, 0x0000000000000720, 2842 0x0000000000000740, 0x0000000000000760, 2843 0x0000000000000780, 0x00000000000007a0, 2844 0x00000000000007c0, 0x00000000000007e0, 2845 0x0000000000000680, 0x00000000000006a0, 2846 0x00000000000006c0, 0x00000000000006e0, 2847 0x0000000000000680, 0x00000000000006a0, 2848 0x00000000000006c0, 0x00000000000006e0, 2849 0x0000000000000780, 0x00000000000007a0, 2850 0x00000000000007c0, 0x00000000000007e0, 2851 0x0000000000000780, 0x00000000000007a0, 2852 0x00000000000007c0, 0x00000000000007e0, 2853 0x0000000000000700, 0x0000000000000720, 2854 0x0000000000000740, 0x0000000000000760, 2855 0x0000000000000780, 0x00000000000007a0, 2856 0x00000000000007c0, 0x00000000000007e0, 2857 0x0000000000000700, 0x0000000000000720, 2858 0x0000000000000740, 0x0000000000000760, 2859 0x0000000000000780, 0x00000000000007a0, 2860 0x00000000000007c0, 0x00000000000007e0, 2861 0x0000000000000780, 0x00000000000007a0, 2862 0x00000000000007c0, 0x00000000000007e0, 2863 0x0000000000000780, 0x00000000000007a0, 2864 0x00000000000007c0, 0x00000000000007e0, 2865 0x0000000000000780, 0x00000000000007a0, 2866 0x00000000000007c0, 0x00000000000007e0, 2867 0x0000000000000780, 0x00000000000007a0, 2868 0x00000000000007c0, 0x00000000000007e0, 2869 0x0000000000000000, 0x0000000000000800, 2870 0x0000000000001000, 0x0000000000001800, 2871 0x0000000000000800, 0x0000000000000800, 2872 0x0000000000001800, 0x0000000000001800, 2873 0x0000000000001000, 0x0000000000001800, 2874 0x0000000000001000, 0x0000000000001800, 2875 0x0000000000001800, 0x0000000000001800, 2876 0x0000000000001800, 0x0000000000001800, 2877 0x0000000000002000, 0x0000000000002800, 2878 0x0000000000003000, 0x0000000000003800, 2879 0x0000000000002800, 0x0000000000002800, 2880 0x0000000000003800, 0x0000000000003800, 2881 0x0000000000003000, 0x0000000000003800, 2882 0x0000000000003000, 0x0000000000003800, 2883 0x0000000000003800, 0x0000000000003800, 2884 0x0000000000003800, 0x0000000000003800, 2885 0x0000000000004000, 0x0000000000004800, 2886 0x0000000000005000, 0x0000000000005800, 2887 0x0000000000004800, 0x0000000000004800, 2888 0x0000000000005800, 0x0000000000005800, 2889 0x0000000000005000, 0x0000000000005800, 2890 0x0000000000005000, 0x0000000000005800, 2891 0x0000000000005800, 0x0000000000005800, 2892 0x0000000000005800, 0x0000000000005800, 2893 0x0000000000006000, 0x0000000000006800, 2894 0x0000000000007000, 0x0000000000007800, 2895 0x0000000000006800, 0x0000000000006800, 2896 0x0000000000007800, 0x0000000000007800, 2897 0x0000000000007000, 0x0000000000007800, 2898 0x0000000000007000, 0x0000000000007800, 2899 0x0000000000007800, 0x0000000000007800, 2900 0x0000000000007800, 0x0000000000007800, 2901 0x0000000000008000, 0x0000000000008800, 2902 0x0000000000009000, 0x0000000000009800, 2903 0x0000000000008800, 0x0000000000008800, 2904 0x0000000000009800, 0x0000000000009800, 2905 0x0000000000009000, 0x0000000000009800, 2906 0x0000000000009000, 0x0000000000009800, 2907 0x0000000000009800, 0x0000000000009800, 2908 0x0000000000009800, 0x0000000000009800, 2909 0x000000000000a000, 0x000000000000a800, 2910 0x000000000000b000, 0x000000000000b800, 2911 0x000000000000a800, 0x000000000000a800, 2912 0x000000000000b800, 0x000000000000b800, 2913 0x000000000000b000, 0x000000000000b800, 2914 0x000000000000b000, 0x000000000000b800, 2915 0x000000000000b800, 0x000000000000b800, 2916 0x000000000000b800, 0x000000000000b800, 2917 0x000000000000c000, 0x000000000000c800, 2918 0x000000000000d000, 0x000000000000d800, 2919 0x000000000000c800, 0x000000000000c800, 2920 0x000000000000d800, 0x000000000000d800, 2921 0x000000000000d000, 0x000000000000d800, 2922 0x000000000000d000, 0x000000000000d800, 2923 0x000000000000d800, 0x000000000000d800, 2924 0x000000000000d800, 0x000000000000d800, 2925 0x000000000000e000, 0x000000000000e800, 2926 0x000000000000f000, 0x000000000000f800, 2927 0x000000000000e800, 0x000000000000e800, 2928 0x000000000000f800, 0x000000000000f800, 2929 0x000000000000f000, 0x000000000000f800, 2930 0x000000000000f000, 0x000000000000f800, 2931 0x000000000000f800, 0x000000000000f800, 2932 0x000000000000f800, 0x000000000000f800, 2933 0x0000000000010000, 0x0000000000010800, 2934 0x0000000000011000, 0x0000000000011800, 2935 0x0000000000010800, 0x0000000000010800, 2936 0x0000000000011800, 0x0000000000011800, 2937 0x0000000000011000, 0x0000000000011800, 2938 0x0000000000011000, 0x0000000000011800, 2939 0x0000000000011800, 0x0000000000011800, 2940 0x0000000000011800, 0x0000000000011800, 2941 0x0000000000012000, 0x0000000000012800, 2942 0x0000000000013000, 0x0000000000013800, 2943 0x0000000000012800, 0x0000000000012800, 2944 0x0000000000013800, 0x0000000000013800, 2945 0x0000000000013000, 0x0000000000013800, 2946 0x0000000000013000, 0x0000000000013800, 2947 0x0000000000013800, 0x0000000000013800, 2948 0x0000000000013800, 0x0000000000013800, 2949 0x0000000000014000, 0x0000000000014800, 2950 0x0000000000015000, 0x0000000000015800, 2951 0x0000000000014800, 0x0000000000014800, 2952 0x0000000000015800, 0x0000000000015800, 2953 0x0000000000015000, 0x0000000000015800, 2954 0x0000000000015000, 0x0000000000015800, 2955 0x0000000000015800, 0x0000000000015800, 2956 0x0000000000015800, 0x0000000000015800, 2957 0x0000000000016000, 0x0000000000016800, 2958 0x0000000000017000, 0x0000000000017800, 2959 0x0000000000016800, 0x0000000000016800, 2960 0x0000000000017800, 0x0000000000017800, 2961 0x0000000000017000, 0x0000000000017800, 2962 0x0000000000017000, 0x0000000000017800, 2963 0x0000000000017800, 0x0000000000017800, 2964 0x0000000000017800, 0x0000000000017800, 2965 0x0000000000018000, 0x0000000000018800, 2966 0x0000000000019000, 0x0000000000019800, 2967 0x0000000000018800, 0x0000000000018800, 2968 0x0000000000019800, 0x0000000000019800, 2969 0x0000000000019000, 0x0000000000019800, 2970 0x0000000000019000, 0x0000000000019800, 2971 0x0000000000019800, 0x0000000000019800, 2972 0x0000000000019800, 0x0000000000019800, 2973 0x000000000001a000, 0x000000000001a800, 2974 0x000000000001b000, 0x000000000001b800, 2975 0x000000000001a800, 0x000000000001a800, 2976 0x000000000001b800, 0x000000000001b800, 2977 0x000000000001b000, 0x000000000001b800, 2978 0x000000000001b000, 0x000000000001b800, 2979 0x000000000001b800, 0x000000000001b800, 2980 0x000000000001b800, 0x000000000001b800, 2981 0x000000000001c000, 0x000000000001c800, 2982 0x000000000001d000, 0x000000000001d800, 2983 0x000000000001c800, 0x000000000001c800, 2984 0x000000000001d800, 0x000000000001d800, 2985 0x000000000001d000, 0x000000000001d800, 2986 0x000000000001d000, 0x000000000001d800, 2987 0x000000000001d800, 0x000000000001d800, 2988 0x000000000001d800, 0x000000000001d800, 2989 0x000000000001e000, 0x000000000001e800, 2990 0x000000000001f000, 0x000000000001f800, 2991 0x000000000001e800, 0x000000000001e800, 2992 0x000000000001f800, 0x000000000001f800, 2993 0x000000000001f000, 0x000000000001f800, 2994 0x000000000001f000, 0x000000000001f800, 2995 0x000000000001f800, 0x000000000001f800, 2996 0x000000000001f800, 0x000000000001f800, 2997 0x0000000000000000, 0x0000000000008000, 2998 0x0000000000010000, 0x0000000000018000, 2999 0x0000000000020000, 0x0000000000028000, 3000 0x0000000000030000, 0x0000000000038000, 3001 0x0000000000040000, 0x0000000000048000, 3002 0x0000000000050000, 0x0000000000058000, 3003 0x0000000000060000, 0x0000000000068000, 3004 0x0000000000070000, 0x0000000000078000, 3005 0x0000000000080000, 0x0000000000088000, 3006 0x0000000000090000, 0x0000000000098000, 3007 0x00000000000a0000, 0x00000000000a8000, 3008 0x00000000000b0000, 0x00000000000b8000, 3009 0x00000000000c0000, 0x00000000000c8000, 3010 0x00000000000d0000, 0x00000000000d8000, 3011 0x00000000000e0000, 0x00000000000e8000, 3012 0x00000000000f0000, 0x00000000000f8000, 3013 0x0000000000100000, 0x0000000000108000, 3014 0x0000000000110000, 0x0000000000118000, 3015 0x0000000000120000, 0x0000000000128000, 3016 0x0000000000130000, 0x0000000000138000, 3017 0x0000000000140000, 0x0000000000148000, 3018 0x0000000000150000, 0x0000000000158000, 3019 0x0000000000160000, 0x0000000000168000, 3020 0x0000000000170000, 0x0000000000178000, 3021 0x0000000000180000, 0x0000000000188000, 3022 0x0000000000190000, 0x0000000000198000, 3023 0x00000000001a0000, 0x00000000001a8000, 3024 0x00000000001b0000, 0x00000000001b8000, 3025 0x00000000001c0000, 0x00000000001c8000, 3026 0x00000000001d0000, 0x00000000001d8000, 3027 0x00000000001e0000, 0x00000000001e8000, 3028 0x00000000001f0000, 0x00000000001f8000, 3029 0x0000000000080000, 0x0000000000088000, 3030 0x0000000000090000, 0x0000000000098000, 3031 0x00000000000a0000, 0x00000000000a8000, 3032 0x00000000000b0000, 0x00000000000b8000, 3033 0x00000000000c0000, 0x00000000000c8000, 3034 0x00000000000d0000, 0x00000000000d8000, 3035 0x00000000000e0000, 0x00000000000e8000, 3036 0x00000000000f0000, 0x00000000000f8000, 3037 0x0000000000080000, 0x0000000000088000, 3038 0x0000000000090000, 0x0000000000098000, 3039 0x00000000000a0000, 0x00000000000a8000, 3040 0x00000000000b0000, 0x00000000000b8000, 3041 0x00000000000c0000, 0x00000000000c8000, 3042 0x00000000000d0000, 0x00000000000d8000, 3043 0x00000000000e0000, 0x00000000000e8000, 3044 0x00000000000f0000, 0x00000000000f8000, 3045 0x0000000000180000, 0x0000000000188000, 3046 0x0000000000190000, 0x0000000000198000, 3047 0x00000000001a0000, 0x00000000001a8000, 3048 0x00000000001b0000, 0x00000000001b8000, 3049 0x00000000001c0000, 0x00000000001c8000, 3050 0x00000000001d0000, 0x00000000001d8000, 3051 0x00000000001e0000, 0x00000000001e8000, 3052 0x00000000001f0000, 0x00000000001f8000, 3053 0x0000000000180000, 0x0000000000188000, 3054 0x0000000000190000, 0x0000000000198000, 3055 0x00000000001a0000, 0x00000000001a8000, 3056 0x00000000001b0000, 0x00000000001b8000, 3057 0x00000000001c0000, 0x00000000001c8000, 3058 0x00000000001d0000, 0x00000000001d8000, 3059 0x00000000001e0000, 0x00000000001e8000, 3060 0x00000000001f0000, 0x00000000001f8000, 3061 0x0000000000100000, 0x0000000000108000, 3062 0x0000000000110000, 0x0000000000118000, 3063 0x0000000000120000, 0x0000000000128000, 3064 0x0000000000130000, 0x0000000000138000, 3065 0x0000000000140000, 0x0000000000148000, 3066 0x0000000000150000, 0x0000000000158000, 3067 0x0000000000160000, 0x0000000000168000, 3068 0x0000000000170000, 0x0000000000178000, 3069 0x0000000000180000, 0x0000000000188000, 3070 0x0000000000190000, 0x0000000000198000, 3071 0x00000000001a0000, 0x00000000001a8000, 3072 0x00000000001b0000, 0x00000000001b8000, 3073 0x00000000001c0000, 0x00000000001c8000, 3074 0x00000000001d0000, 0x00000000001d8000, 3075 0x00000000001e0000, 0x00000000001e8000, 3076 0x00000000001f0000, 0x00000000001f8000, 3077 0x0000000000100000, 0x0000000000108000, 3078 0x0000000000110000, 0x0000000000118000, 3079 0x0000000000120000, 0x0000000000128000, 3080 0x0000000000130000, 0x0000000000138000, 3081 0x0000000000140000, 0x0000000000148000, 3082 0x0000000000150000, 0x0000000000158000, 3083 0x0000000000160000, 0x0000000000168000, 3084 0x0000000000170000, 0x0000000000178000, 3085 0x0000000000180000, 0x0000000000188000, 3086 0x0000000000190000, 0x0000000000198000, 3087 0x00000000001a0000, 0x00000000001a8000, 3088 0x00000000001b0000, 0x00000000001b8000, 3089 0x00000000001c0000, 0x00000000001c8000, 3090 0x00000000001d0000, 0x00000000001d8000, 3091 0x00000000001e0000, 0x00000000001e8000, 3092 0x00000000001f0000, 0x00000000001f8000, 3093 0x0000000000180000, 0x0000000000188000, 3094 0x0000000000190000, 0x0000000000198000, 3095 0x00000000001a0000, 0x00000000001a8000, 3096 0x00000000001b0000, 0x00000000001b8000, 3097 0x00000000001c0000, 0x00000000001c8000, 3098 0x00000000001d0000, 0x00000000001d8000, 3099 0x00000000001e0000, 0x00000000001e8000, 3100 0x00000000001f0000, 0x00000000001f8000, 3101 0x0000000000180000, 0x0000000000188000, 3102 0x0000000000190000, 0x0000000000198000, 3103 0x00000000001a0000, 0x00000000001a8000, 3104 0x00000000001b0000, 0x00000000001b8000, 3105 0x00000000001c0000, 0x00000000001c8000, 3106 0x00000000001d0000, 0x00000000001d8000, 3107 0x00000000001e0000, 0x00000000001e8000, 3108 0x00000000001f0000, 0x00000000001f8000, 3109 0x0000000000180000, 0x0000000000188000, 3110 0x0000000000190000, 0x0000000000198000, 3111 0x00000000001a0000, 0x00000000001a8000, 3112 0x00000000001b0000, 0x00000000001b8000, 3113 0x00000000001c0000, 0x00000000001c8000, 3114 0x00000000001d0000, 0x00000000001d8000, 3115 0x00000000001e0000, 0x00000000001e8000, 3116 0x00000000001f0000, 0x00000000001f8000, 3117 0x0000000000180000, 0x0000000000188000, 3118 0x0000000000190000, 0x0000000000198000, 3119 0x00000000001a0000, 0x00000000001a8000, 3120 0x00000000001b0000, 0x00000000001b8000, 3121 0x00000000001c0000, 0x00000000001c8000, 3122 0x00000000001d0000, 0x00000000001d8000, 3123 0x00000000001e0000, 0x00000000001e8000, 3124 0x00000000001f0000, 0x00000000001f8000, 3125 0x0000000000000000, 0x0000000000200000, 3126 0x0000000000400000, 0x0000000000600000, 3127 0x0000000000800000, 0x0000000000a00000, 3128 0x0000000000c00000, 0x0000000000e00000, 3129 0x0000000001000000, 0x0000000001200000, 3130 0x0000000001400000, 0x0000000001600000, 3131 0x0000000001800000, 0x0000000001a00000, 3132 0x0000000001c00000, 0x0000000001e00000, 3133 0x0000000000800000, 0x0000000000a00000, 3134 0x0000000000c00000, 0x0000000000e00000, 3135 0x0000000000800000, 0x0000000000a00000, 3136 0x0000000000c00000, 0x0000000000e00000, 3137 0x0000000001800000, 0x0000000001a00000, 3138 0x0000000001c00000, 0x0000000001e00000, 3139 0x0000000001800000, 0x0000000001a00000, 3140 0x0000000001c00000, 0x0000000001e00000, 3141 0x0000000001000000, 0x0000000001200000, 3142 0x0000000001400000, 0x0000000001600000, 3143 0x0000000001800000, 0x0000000001a00000, 3144 0x0000000001c00000, 0x0000000001e00000, 3145 0x0000000001000000, 0x0000000001200000, 3146 0x0000000001400000, 0x0000000001600000, 3147 0x0000000001800000, 0x0000000001a00000, 3148 0x0000000001c00000, 0x0000000001e00000, 3149 0x0000000001800000, 0x0000000001a00000, 3150 0x0000000001c00000, 0x0000000001e00000, 3151 0x0000000001800000, 0x0000000001a00000, 3152 0x0000000001c00000, 0x0000000001e00000, 3153 0x0000000001800000, 0x0000000001a00000, 3154 0x0000000001c00000, 0x0000000001e00000, 3155 0x0000000001800000, 0x0000000001a00000, 3156 0x0000000001c00000, 0x0000000001e00000, 3157 0x0000000002000000, 0x0000000002200000, 3158 0x0000000002400000, 0x0000000002600000, 3159 0x0000000002800000, 0x0000000002a00000, 3160 0x0000000002c00000, 0x0000000002e00000, 3161 0x0000000003000000, 0x0000000003200000, 3162 0x0000000003400000, 0x0000000003600000, 3163 0x0000000003800000, 0x0000000003a00000, 3164 0x0000000003c00000, 0x0000000003e00000, 3165 0x0000000002800000, 0x0000000002a00000, 3166 0x0000000002c00000, 0x0000000002e00000, 3167 0x0000000002800000, 0x0000000002a00000, 3168 0x0000000002c00000, 0x0000000002e00000, 3169 0x0000000003800000, 0x0000000003a00000, 3170 0x0000000003c00000, 0x0000000003e00000, 3171 0x0000000003800000, 0x0000000003a00000, 3172 0x0000000003c00000, 0x0000000003e00000, 3173 0x0000000003000000, 0x0000000003200000, 3174 0x0000000003400000, 0x0000000003600000, 3175 0x0000000003800000, 0x0000000003a00000, 3176 0x0000000003c00000, 0x0000000003e00000, 3177 0x0000000003000000, 0x0000000003200000, 3178 0x0000000003400000, 0x0000000003600000, 3179 0x0000000003800000, 0x0000000003a00000, 3180 0x0000000003c00000, 0x0000000003e00000, 3181 0x0000000003800000, 0x0000000003a00000, 3182 0x0000000003c00000, 0x0000000003e00000, 3183 0x0000000003800000, 0x0000000003a00000, 3184 0x0000000003c00000, 0x0000000003e00000, 3185 0x0000000003800000, 0x0000000003a00000, 3186 0x0000000003c00000, 0x0000000003e00000, 3187 0x0000000003800000, 0x0000000003a00000, 3188 0x0000000003c00000, 0x0000000003e00000, 3189 0x0000000004000000, 0x0000000004200000, 3190 0x0000000004400000, 0x0000000004600000, 3191 0x0000000004800000, 0x0000000004a00000, 3192 0x0000000004c00000, 0x0000000004e00000, 3193 0x0000000005000000, 0x0000000005200000, 3194 0x0000000005400000, 0x0000000005600000, 3195 0x0000000005800000, 0x0000000005a00000, 3196 0x0000000005c00000, 0x0000000005e00000, 3197 0x0000000004800000, 0x0000000004a00000, 3198 0x0000000004c00000, 0x0000000004e00000, 3199 0x0000000004800000, 0x0000000004a00000, 3200 0x0000000004c00000, 0x0000000004e00000, 3201 0x0000000005800000, 0x0000000005a00000, 3202 0x0000000005c00000, 0x0000000005e00000, 3203 0x0000000005800000, 0x0000000005a00000, 3204 0x0000000005c00000, 0x0000000005e00000, 3205 0x0000000005000000, 0x0000000005200000, 3206 0x0000000005400000, 0x0000000005600000, 3207 0x0000000005800000, 0x0000000005a00000, 3208 0x0000000005c00000, 0x0000000005e00000, 3209 0x0000000005000000, 0x0000000005200000, 3210 0x0000000005400000, 0x0000000005600000, 3211 0x0000000005800000, 0x0000000005a00000, 3212 0x0000000005c00000, 0x0000000005e00000, 3213 0x0000000005800000, 0x0000000005a00000, 3214 0x0000000005c00000, 0x0000000005e00000, 3215 0x0000000005800000, 0x0000000005a00000, 3216 0x0000000005c00000, 0x0000000005e00000, 3217 0x0000000005800000, 0x0000000005a00000, 3218 0x0000000005c00000, 0x0000000005e00000, 3219 0x0000000005800000, 0x0000000005a00000, 3220 0x0000000005c00000, 0x0000000005e00000, 3221 0x0000000006000000, 0x0000000006200000, 3222 0x0000000006400000, 0x0000000006600000, 3223 0x0000000006800000, 0x0000000006a00000, 3224 0x0000000006c00000, 0x0000000006e00000, 3225 0x0000000007000000, 0x0000000007200000, 3226 0x0000000007400000, 0x0000000007600000, 3227 0x0000000007800000, 0x0000000007a00000, 3228 0x0000000007c00000, 0x0000000007e00000, 3229 0x0000000006800000, 0x0000000006a00000, 3230 0x0000000006c00000, 0x0000000006e00000, 3231 0x0000000006800000, 0x0000000006a00000, 3232 0x0000000006c00000, 0x0000000006e00000, 3233 0x0000000007800000, 0x0000000007a00000, 3234 0x0000000007c00000, 0x0000000007e00000, 3235 0x0000000007800000, 0x0000000007a00000, 3236 0x0000000007c00000, 0x0000000007e00000, 3237 0x0000000007000000, 0x0000000007200000, 3238 0x0000000007400000, 0x0000000007600000, 3239 0x0000000007800000, 0x0000000007a00000, 3240 0x0000000007c00000, 0x0000000007e00000, 3241 0x0000000007000000, 0x0000000007200000, 3242 0x0000000007400000, 0x0000000007600000, 3243 0x0000000007800000, 0x0000000007a00000, 3244 0x0000000007c00000, 0x0000000007e00000, 3245 0x0000000007800000, 0x0000000007a00000, 3246 0x0000000007c00000, 0x0000000007e00000, 3247 0x0000000007800000, 0x0000000007a00000, 3248 0x0000000007c00000, 0x0000000007e00000, 3249 0x0000000007800000, 0x0000000007a00000, 3250 0x0000000007c00000, 0x0000000007e00000, 3251 0x0000000007800000, 0x0000000007a00000, 3252 0x0000000007c00000, 0x0000000007e00000, 3253 0x0000000000000000, 0x0000000008000000, 3254 0x0000000010000000, 0x0000000018000000, 3255 0x0000000008000000, 0x0000000008000000, 3256 0x0000000018000000, 0x0000000018000000, 3257 0x0000000010000000, 0x0000000018000000, 3258 0x0000000010000000, 0x0000000018000000, 3259 0x0000000018000000, 0x0000000018000000, 3260 0x0000000018000000, 0x0000000018000000, 3261 0x0000000020000000, 0x0000000028000000, 3262 0x0000000030000000, 0x0000000038000000, 3263 0x0000000028000000, 0x0000000028000000, 3264 0x0000000038000000, 0x0000000038000000, 3265 0x0000000030000000, 0x0000000038000000, 3266 0x0000000030000000, 0x0000000038000000, 3267 0x0000000038000000, 0x0000000038000000, 3268 0x0000000038000000, 0x0000000038000000, 3269 0x0000000040000000, 0x0000000048000000, 3270 0x0000000050000000, 0x0000000058000000, 3271 0x0000000048000000, 0x0000000048000000, 3272 0x0000000058000000, 0x0000000058000000, 3273 0x0000000050000000, 0x0000000058000000, 3274 0x0000000050000000, 0x0000000058000000, 3275 0x0000000058000000, 0x0000000058000000, 3276 0x0000000058000000, 0x0000000058000000, 3277 0x0000000060000000, 0x0000000068000000, 3278 0x0000000070000000, 0x0000000078000000, 3279 0x0000000068000000, 0x0000000068000000, 3280 0x0000000078000000, 0x0000000078000000, 3281 0x0000000070000000, 0x0000000078000000, 3282 0x0000000070000000, 0x0000000078000000, 3283 0x0000000078000000, 0x0000000078000000, 3284 0x0000000078000000, 0x0000000078000000, 3285 0x0000000080000000, 0x0000000088000000, 3286 0x0000000090000000, 0x0000000098000000, 3287 0x0000000088000000, 0x0000000088000000, 3288 0x0000000098000000, 0x0000000098000000, 3289 0x0000000090000000, 0x0000000098000000, 3290 0x0000000090000000, 0x0000000098000000, 3291 0x0000000098000000, 0x0000000098000000, 3292 0x0000000098000000, 0x0000000098000000, 3293 0x00000000a0000000, 0x00000000a8000000, 3294 0x00000000b0000000, 0x00000000b8000000, 3295 0x00000000a8000000, 0x00000000a8000000, 3296 0x00000000b8000000, 0x00000000b8000000, 3297 0x00000000b0000000, 0x00000000b8000000, 3298 0x00000000b0000000, 0x00000000b8000000, 3299 0x00000000b8000000, 0x00000000b8000000, 3300 0x00000000b8000000, 0x00000000b8000000, 3301 0x00000000c0000000, 0x00000000c8000000, 3302 0x00000000d0000000, 0x00000000d8000000, 3303 0x00000000c8000000, 0x00000000c8000000, 3304 0x00000000d8000000, 0x00000000d8000000, 3305 0x00000000d0000000, 0x00000000d8000000, 3306 0x00000000d0000000, 0x00000000d8000000, 3307 0x00000000d8000000, 0x00000000d8000000, 3308 0x00000000d8000000, 0x00000000d8000000, 3309 0x00000000e0000000, 0x00000000e8000000, 3310 0x00000000f0000000, 0x00000000f8000000, 3311 0x00000000e8000000, 0x00000000e8000000, 3312 0x00000000f8000000, 0x00000000f8000000, 3313 0x00000000f0000000, 0x00000000f8000000, 3314 0x00000000f0000000, 0x00000000f8000000, 3315 0x00000000f8000000, 0x00000000f8000000, 3316 0x00000000f8000000, 0x00000000f8000000, 3317 0x0000000000000001, 0x0000000008000001, 3318 0x0000000010000001, 0x0000000018000001, 3319 0x0000000008000001, 0x0000000008000001, 3320 0x0000000018000001, 0x0000000018000001, 3321 0x0000000010000001, 0x0000000018000001, 3322 0x0000000010000001, 0x0000000018000001, 3323 0x0000000018000001, 0x0000000018000001, 3324 0x0000000018000001, 0x0000000018000001, 3325 0x0000000020000001, 0x0000000028000001, 3326 0x0000000030000001, 0x0000000038000001, 3327 0x0000000028000001, 0x0000000028000001, 3328 0x0000000038000001, 0x0000000038000001, 3329 0x0000000030000001, 0x0000000038000001, 3330 0x0000000030000001, 0x0000000038000001, 3331 0x0000000038000001, 0x0000000038000001, 3332 0x0000000038000001, 0x0000000038000001, 3333 0x0000000040000001, 0x0000000048000001, 3334 0x0000000050000001, 0x0000000058000001, 3335 0x0000000048000001, 0x0000000048000001, 3336 0x0000000058000001, 0x0000000058000001, 3337 0x0000000050000001, 0x0000000058000001, 3338 0x0000000050000001, 0x0000000058000001, 3339 0x0000000058000001, 0x0000000058000001, 3340 0x0000000058000001, 0x0000000058000001, 3341 0x0000000060000001, 0x0000000068000001, 3342 0x0000000070000001, 0x0000000078000001, 3343 0x0000000068000001, 0x0000000068000001, 3344 0x0000000078000001, 0x0000000078000001, 3345 0x0000000070000001, 0x0000000078000001, 3346 0x0000000070000001, 0x0000000078000001, 3347 0x0000000078000001, 0x0000000078000001, 3348 0x0000000078000001, 0x0000000078000001, 3349 0x0000000080000001, 0x0000000088000001, 3350 0x0000000090000001, 0x0000000098000001, 3351 0x0000000088000001, 0x0000000088000001, 3352 0x0000000098000001, 0x0000000098000001, 3353 0x0000000090000001, 0x0000000098000001, 3354 0x0000000090000001, 0x0000000098000001, 3355 0x0000000098000001, 0x0000000098000001, 3356 0x0000000098000001, 0x0000000098000001, 3357 0x00000000a0000001, 0x00000000a8000001, 3358 0x00000000b0000001, 0x00000000b8000001, 3359 0x00000000a8000001, 0x00000000a8000001, 3360 0x00000000b8000001, 0x00000000b8000001, 3361 0x00000000b0000001, 0x00000000b8000001, 3362 0x00000000b0000001, 0x00000000b8000001, 3363 0x00000000b8000001, 0x00000000b8000001, 3364 0x00000000b8000001, 0x00000000b8000001, 3365 0x00000000c0000001, 0x00000000c8000001, 3366 0x00000000d0000001, 0x00000000d8000001, 3367 0x00000000c8000001, 0x00000000c8000001, 3368 0x00000000d8000001, 0x00000000d8000001, 3369 0x00000000d0000001, 0x00000000d8000001, 3370 0x00000000d0000001, 0x00000000d8000001, 3371 0x00000000d8000001, 0x00000000d8000001, 3372 0x00000000d8000001, 0x00000000d8000001, 3373 0x00000000e0000001, 0x00000000e8000001, 3374 0x00000000f0000001, 0x00000000f8000001, 3375 0x00000000e8000001, 0x00000000e8000001, 3376 0x00000000f8000001, 0x00000000f8000001, 3377 0x00000000f0000001, 0x00000000f8000001, 3378 0x00000000f0000001, 0x00000000f8000001, 3379 0x00000000f8000001, 0x00000000f8000001, 3380 0x00000000f8000001, 0x00000000f8000001 3381) 3382 3383# P permutation table 3384P_K = ( 3385 0x0000000000000000, 0x0000000000000800, 3386 0x0000000000020000, 0x0000000000020800, 3387 0x0000000000000020, 0x0000000000000820, 3388 0x0000000000020020, 0x0000000000020820, 3389 0x0000000008000000, 0x0000000008000800, 3390 0x0000000008020000, 0x0000000008020800, 3391 0x0000000008000020, 0x0000000008000820, 3392 0x0000000008020020, 0x0000000008020820, 3393 0x0000000002000000, 0x0000000002000800, 3394 0x0000000002020000, 0x0000000002020800, 3395 0x0000000002000020, 0x0000000002000820, 3396 0x0000000002020020, 0x0000000002020820, 3397 0x000000000a000000, 0x000000000a000800, 3398 0x000000000a020000, 0x000000000a020800, 3399 0x000000000a000020, 0x000000000a000820, 3400 0x000000000a020020, 0x000000000a020820, 3401 0x0000000000000400, 0x0000000000000c00, 3402 0x0000000000020400, 0x0000000000020c00, 3403 0x0000000000000420, 0x0000000000000c20, 3404 0x0000000000020420, 0x0000000000020c20, 3405 0x0000000008000400, 0x0000000008000c00, 3406 0x0000000008020400, 0x0000000008020c00, 3407 0x0000000008000420, 0x0000000008000c20, 3408 0x0000000008020420, 0x0000000008020c20, 3409 0x0000000002000400, 0x0000000002000c00, 3410 0x0000000002020400, 0x0000000002020c00, 3411 0x0000000002000420, 0x0000000002000c20, 3412 0x0000000002020420, 0x0000000002020c20, 3413 0x000000000a000400, 0x000000000a000c00, 3414 0x000000000a020400, 0x000000000a020c00, 3415 0x000000000a000420, 0x000000000a000c20, 3416 0x000000000a020420, 0x000000000a020c20, 3417 0x0000000000100000, 0x0000000000100800, 3418 0x0000000000120000, 0x0000000000120800, 3419 0x0000000000100020, 0x0000000000100820, 3420 0x0000000000120020, 0x0000000000120820, 3421 0x0000000008100000, 0x0000000008100800, 3422 0x0000000008120000, 0x0000000008120800, 3423 0x0000000008100020, 0x0000000008100820, 3424 0x0000000008120020, 0x0000000008120820, 3425 0x0000000002100000, 0x0000000002100800, 3426 0x0000000002120000, 0x0000000002120800, 3427 0x0000000002100020, 0x0000000002100820, 3428 0x0000000002120020, 0x0000000002120820, 3429 0x000000000a100000, 0x000000000a100800, 3430 0x000000000a120000, 0x000000000a120800, 3431 0x000000000a100020, 0x000000000a100820, 3432 0x000000000a120020, 0x000000000a120820, 3433 0x0000000000100400, 0x0000000000100c00, 3434 0x0000000000120400, 0x0000000000120c00, 3435 0x0000000000100420, 0x0000000000100c20, 3436 0x0000000000120420, 0x0000000000120c20, 3437 0x0000000008100400, 0x0000000008100c00, 3438 0x0000000008120400, 0x0000000008120c00, 3439 0x0000000008100420, 0x0000000008100c20, 3440 0x0000000008120420, 0x0000000008120c20, 3441 0x0000000002100400, 0x0000000002100c00, 3442 0x0000000002120400, 0x0000000002120c00, 3443 0x0000000002100420, 0x0000000002100c20, 3444 0x0000000002120420, 0x0000000002120c20, 3445 0x000000000a100400, 0x000000000a100c00, 3446 0x000000000a120400, 0x000000000a120c00, 3447 0x000000000a100420, 0x000000000a100c20, 3448 0x000000000a120420, 0x000000000a120c20, 3449 0x0000000000000001, 0x0000000000000801, 3450 0x0000000000020001, 0x0000000000020801, 3451 0x0000000000000021, 0x0000000000000821, 3452 0x0000000000020021, 0x0000000000020821, 3453 0x0000000008000001, 0x0000000008000801, 3454 0x0000000008020001, 0x0000000008020801, 3455 0x0000000008000021, 0x0000000008000821, 3456 0x0000000008020021, 0x0000000008020821, 3457 0x0000000002000001, 0x0000000002000801, 3458 0x0000000002020001, 0x0000000002020801, 3459 0x0000000002000021, 0x0000000002000821, 3460 0x0000000002020021, 0x0000000002020821, 3461 0x000000000a000001, 0x000000000a000801, 3462 0x000000000a020001, 0x000000000a020801, 3463 0x000000000a000021, 0x000000000a000821, 3464 0x000000000a020021, 0x000000000a020821, 3465 0x0000000000000401, 0x0000000000000c01, 3466 0x0000000000020401, 0x0000000000020c01, 3467 0x0000000000000421, 0x0000000000000c21, 3468 0x0000000000020421, 0x0000000000020c21, 3469 0x0000000008000401, 0x0000000008000c01, 3470 0x0000000008020401, 0x0000000008020c01, 3471 0x0000000008000421, 0x0000000008000c21, 3472 0x0000000008020421, 0x0000000008020c21, 3473 0x0000000002000401, 0x0000000002000c01, 3474 0x0000000002020401, 0x0000000002020c01, 3475 0x0000000002000421, 0x0000000002000c21, 3476 0x0000000002020421, 0x0000000002020c21, 3477 0x000000000a000401, 0x000000000a000c01, 3478 0x000000000a020401, 0x000000000a020c01, 3479 0x000000000a000421, 0x000000000a000c21, 3480 0x000000000a020421, 0x000000000a020c21, 3481 0x0000000000100001, 0x0000000000100801, 3482 0x0000000000120001, 0x0000000000120801, 3483 0x0000000000100021, 0x0000000000100821, 3484 0x0000000000120021, 0x0000000000120821, 3485 0x0000000008100001, 0x0000000008100801, 3486 0x0000000008120001, 0x0000000008120801, 3487 0x0000000008100021, 0x0000000008100821, 3488 0x0000000008120021, 0x0000000008120821, 3489 0x0000000002100001, 0x0000000002100801, 3490 0x0000000002120001, 0x0000000002120801, 3491 0x0000000002100021, 0x0000000002100821, 3492 0x0000000002120021, 0x0000000002120821, 3493 0x000000000a100001, 0x000000000a100801, 3494 0x000000000a120001, 0x000000000a120801, 3495 0x000000000a100021, 0x000000000a100821, 3496 0x000000000a120021, 0x000000000a120821, 3497 0x0000000000100401, 0x0000000000100c01, 3498 0x0000000000120401, 0x0000000000120c01, 3499 0x0000000000100421, 0x0000000000100c21, 3500 0x0000000000120421, 0x0000000000120c21, 3501 0x0000000008100401, 0x0000000008100c01, 3502 0x0000000008120401, 0x0000000008120c01, 3503 0x0000000008100421, 0x0000000008100c21, 3504 0x0000000008120421, 0x0000000008120c21, 3505 0x0000000002100401, 0x0000000002100c01, 3506 0x0000000002120401, 0x0000000002120c01, 3507 0x0000000002100421, 0x0000000002100c21, 3508 0x0000000002120421, 0x0000000002120c21, 3509 0x000000000a100401, 0x000000000a100c01, 3510 0x000000000a120401, 0x000000000a120c01, 3511 0x000000000a100421, 0x000000000a100c21, 3512 0x000000000a120421, 0x000000000a120c21, 3513 0x0000000000000000, 0x0000000000002000, 3514 0x0000000000200000, 0x0000000000202000, 3515 0x0000000000000008, 0x0000000000002008, 3516 0x0000000000200008, 0x0000000000202008, 3517 0x0000000010000000, 0x0000000010002000, 3518 0x0000000010200000, 0x0000000010202000, 3519 0x0000000010000008, 0x0000000010002008, 3520 0x0000000010200008, 0x0000000010202008, 3521 0x0000000020000000, 0x0000000020002000, 3522 0x0000000020200000, 0x0000000020202000, 3523 0x0000000020000008, 0x0000000020002008, 3524 0x0000000020200008, 0x0000000020202008, 3525 0x0000000030000000, 0x0000000030002000, 3526 0x0000000030200000, 0x0000000030202000, 3527 0x0000000030000008, 0x0000000030002008, 3528 0x0000000030200008, 0x0000000030202008, 3529 0x0000000000000080, 0x0000000000002080, 3530 0x0000000000200080, 0x0000000000202080, 3531 0x0000000000000088, 0x0000000000002088, 3532 0x0000000000200088, 0x0000000000202088, 3533 0x0000000010000080, 0x0000000010002080, 3534 0x0000000010200080, 0x0000000010202080, 3535 0x0000000010000088, 0x0000000010002088, 3536 0x0000000010200088, 0x0000000010202088, 3537 0x0000000020000080, 0x0000000020002080, 3538 0x0000000020200080, 0x0000000020202080, 3539 0x0000000020000088, 0x0000000020002088, 3540 0x0000000020200088, 0x0000000020202088, 3541 0x0000000030000080, 0x0000000030002080, 3542 0x0000000030200080, 0x0000000030202080, 3543 0x0000000030000088, 0x0000000030002088, 3544 0x0000000030200088, 0x0000000030202088, 3545 0x0000000000040000, 0x0000000000042000, 3546 0x0000000000240000, 0x0000000000242000, 3547 0x0000000000040008, 0x0000000000042008, 3548 0x0000000000240008, 0x0000000000242008, 3549 0x0000000010040000, 0x0000000010042000, 3550 0x0000000010240000, 0x0000000010242000, 3551 0x0000000010040008, 0x0000000010042008, 3552 0x0000000010240008, 0x0000000010242008, 3553 0x0000000020040000, 0x0000000020042000, 3554 0x0000000020240000, 0x0000000020242000, 3555 0x0000000020040008, 0x0000000020042008, 3556 0x0000000020240008, 0x0000000020242008, 3557 0x0000000030040000, 0x0000000030042000, 3558 0x0000000030240000, 0x0000000030242000, 3559 0x0000000030040008, 0x0000000030042008, 3560 0x0000000030240008, 0x0000000030242008, 3561 0x0000000000040080, 0x0000000000042080, 3562 0x0000000000240080, 0x0000000000242080, 3563 0x0000000000040088, 0x0000000000042088, 3564 0x0000000000240088, 0x0000000000242088, 3565 0x0000000010040080, 0x0000000010042080, 3566 0x0000000010240080, 0x0000000010242080, 3567 0x0000000010040088, 0x0000000010042088, 3568 0x0000000010240088, 0x0000000010242088, 3569 0x0000000020040080, 0x0000000020042080, 3570 0x0000000020240080, 0x0000000020242080, 3571 0x0000000020040088, 0x0000000020042088, 3572 0x0000000020240088, 0x0000000020242088, 3573 0x0000000030040080, 0x0000000030042080, 3574 0x0000000030240080, 0x0000000030242080, 3575 0x0000000030040088, 0x0000000030042088, 3576 0x0000000030240088, 0x0000000030242088, 3577 0x0000000001000000, 0x0000000001002000, 3578 0x0000000001200000, 0x0000000001202000, 3579 0x0000000001000008, 0x0000000001002008, 3580 0x0000000001200008, 0x0000000001202008, 3581 0x0000000011000000, 0x0000000011002000, 3582 0x0000000011200000, 0x0000000011202000, 3583 0x0000000011000008, 0x0000000011002008, 3584 0x0000000011200008, 0x0000000011202008, 3585 0x0000000021000000, 0x0000000021002000, 3586 0x0000000021200000, 0x0000000021202000, 3587 0x0000000021000008, 0x0000000021002008, 3588 0x0000000021200008, 0x0000000021202008, 3589 0x0000000031000000, 0x0000000031002000, 3590 0x0000000031200000, 0x0000000031202000, 3591 0x0000000031000008, 0x0000000031002008, 3592 0x0000000031200008, 0x0000000031202008, 3593 0x0000000001000080, 0x0000000001002080, 3594 0x0000000001200080, 0x0000000001202080, 3595 0x0000000001000088, 0x0000000001002088, 3596 0x0000000001200088, 0x0000000001202088, 3597 0x0000000011000080, 0x0000000011002080, 3598 0x0000000011200080, 0x0000000011202080, 3599 0x0000000011000088, 0x0000000011002088, 3600 0x0000000011200088, 0x0000000011202088, 3601 0x0000000021000080, 0x0000000021002080, 3602 0x0000000021200080, 0x0000000021202080, 3603 0x0000000021000088, 0x0000000021002088, 3604 0x0000000021200088, 0x0000000021202088, 3605 0x0000000031000080, 0x0000000031002080, 3606 0x0000000031200080, 0x0000000031202080, 3607 0x0000000031000088, 0x0000000031002088, 3608 0x0000000031200088, 0x0000000031202088, 3609 0x0000000001040000, 0x0000000001042000, 3610 0x0000000001240000, 0x0000000001242000, 3611 0x0000000001040008, 0x0000000001042008, 3612 0x0000000001240008, 0x0000000001242008, 3613 0x0000000011040000, 0x0000000011042000, 3614 0x0000000011240000, 0x0000000011242000, 3615 0x0000000011040008, 0x0000000011042008, 3616 0x0000000011240008, 0x0000000011242008, 3617 0x0000000021040000, 0x0000000021042000, 3618 0x0000000021240000, 0x0000000021242000, 3619 0x0000000021040008, 0x0000000021042008, 3620 0x0000000021240008, 0x0000000021242008, 3621 0x0000000031040000, 0x0000000031042000, 3622 0x0000000031240000, 0x0000000031242000, 3623 0x0000000031040008, 0x0000000031042008, 3624 0x0000000031240008, 0x0000000031242008, 3625 0x0000000001040080, 0x0000000001042080, 3626 0x0000000001240080, 0x0000000001242080, 3627 0x0000000001040088, 0x0000000001042088, 3628 0x0000000001240088, 0x0000000001242088, 3629 0x0000000011040080, 0x0000000011042080, 3630 0x0000000011240080, 0x0000000011242080, 3631 0x0000000011040088, 0x0000000011042088, 3632 0x0000000011240088, 0x0000000011242088, 3633 0x0000000021040080, 0x0000000021042080, 3634 0x0000000021240080, 0x0000000021242080, 3635 0x0000000021040088, 0x0000000021042088, 3636 0x0000000021240088, 0x0000000021242088, 3637 0x0000000031040080, 0x0000000031042080, 3638 0x0000000031240080, 0x0000000031242080, 3639 0x0000000031040088, 0x0000000031042088, 3640 0x0000000031240088, 0x0000000031242088, 3641 0x0000000000000000, 0x0000000080000000, 3642 0x0000000000400000, 0x0000000080400000, 3643 0x0000000000001000, 0x0000000080001000, 3644 0x0000000000401000, 0x0000000080401000, 3645 0x0000000000000040, 0x0000000080000040, 3646 0x0000000000400040, 0x0000000080400040, 3647 0x0000000000001040, 0x0000000080001040, 3648 0x0000000000401040, 0x0000000080401040, 3649 0x0000000004000000, 0x0000000084000000, 3650 0x0000000004400000, 0x0000000084400000, 3651 0x0000000004001000, 0x0000000084001000, 3652 0x0000000004401000, 0x0000000084401000, 3653 0x0000000004000040, 0x0000000084000040, 3654 0x0000000004400040, 0x0000000084400040, 3655 0x0000000004001040, 0x0000000084001040, 3656 0x0000000004401040, 0x0000000084401040, 3657 0x0000000000000004, 0x0000000080000004, 3658 0x0000000000400004, 0x0000000080400004, 3659 0x0000000000001004, 0x0000000080001004, 3660 0x0000000000401004, 0x0000000080401004, 3661 0x0000000000000044, 0x0000000080000044, 3662 0x0000000000400044, 0x0000000080400044, 3663 0x0000000000001044, 0x0000000080001044, 3664 0x0000000000401044, 0x0000000080401044, 3665 0x0000000004000004, 0x0000000084000004, 3666 0x0000000004400004, 0x0000000084400004, 3667 0x0000000004001004, 0x0000000084001004, 3668 0x0000000004401004, 0x0000000084401004, 3669 0x0000000004000044, 0x0000000084000044, 3670 0x0000000004400044, 0x0000000084400044, 3671 0x0000000004001044, 0x0000000084001044, 3672 0x0000000004401044, 0x0000000084401044, 3673 0x0000000000010000, 0x0000000080010000, 3674 0x0000000000410000, 0x0000000080410000, 3675 0x0000000000011000, 0x0000000080011000, 3676 0x0000000000411000, 0x0000000080411000, 3677 0x0000000000010040, 0x0000000080010040, 3678 0x0000000000410040, 0x0000000080410040, 3679 0x0000000000011040, 0x0000000080011040, 3680 0x0000000000411040, 0x0000000080411040, 3681 0x0000000004010000, 0x0000000084010000, 3682 0x0000000004410000, 0x0000000084410000, 3683 0x0000000004011000, 0x0000000084011000, 3684 0x0000000004411000, 0x0000000084411000, 3685 0x0000000004010040, 0x0000000084010040, 3686 0x0000000004410040, 0x0000000084410040, 3687 0x0000000004011040, 0x0000000084011040, 3688 0x0000000004411040, 0x0000000084411040, 3689 0x0000000000010004, 0x0000000080010004, 3690 0x0000000000410004, 0x0000000080410004, 3691 0x0000000000011004, 0x0000000080011004, 3692 0x0000000000411004, 0x0000000080411004, 3693 0x0000000000010044, 0x0000000080010044, 3694 0x0000000000410044, 0x0000000080410044, 3695 0x0000000000011044, 0x0000000080011044, 3696 0x0000000000411044, 0x0000000080411044, 3697 0x0000000004010004, 0x0000000084010004, 3698 0x0000000004410004, 0x0000000084410004, 3699 0x0000000004011004, 0x0000000084011004, 3700 0x0000000004411004, 0x0000000084411004, 3701 0x0000000004010044, 0x0000000084010044, 3702 0x0000000004410044, 0x0000000084410044, 3703 0x0000000004011044, 0x0000000084011044, 3704 0x0000000004411044, 0x0000000084411044, 3705 0x0000000000000100, 0x0000000080000100, 3706 0x0000000000400100, 0x0000000080400100, 3707 0x0000000000001100, 0x0000000080001100, 3708 0x0000000000401100, 0x0000000080401100, 3709 0x0000000000000140, 0x0000000080000140, 3710 0x0000000000400140, 0x0000000080400140, 3711 0x0000000000001140, 0x0000000080001140, 3712 0x0000000000401140, 0x0000000080401140, 3713 0x0000000004000100, 0x0000000084000100, 3714 0x0000000004400100, 0x0000000084400100, 3715 0x0000000004001100, 0x0000000084001100, 3716 0x0000000004401100, 0x0000000084401100, 3717 0x0000000004000140, 0x0000000084000140, 3718 0x0000000004400140, 0x0000000084400140, 3719 0x0000000004001140, 0x0000000084001140, 3720 0x0000000004401140, 0x0000000084401140, 3721 0x0000000000000104, 0x0000000080000104, 3722 0x0000000000400104, 0x0000000080400104, 3723 0x0000000000001104, 0x0000000080001104, 3724 0x0000000000401104, 0x0000000080401104, 3725 0x0000000000000144, 0x0000000080000144, 3726 0x0000000000400144, 0x0000000080400144, 3727 0x0000000000001144, 0x0000000080001144, 3728 0x0000000000401144, 0x0000000080401144, 3729 0x0000000004000104, 0x0000000084000104, 3730 0x0000000004400104, 0x0000000084400104, 3731 0x0000000004001104, 0x0000000084001104, 3732 0x0000000004401104, 0x0000000084401104, 3733 0x0000000004000144, 0x0000000084000144, 3734 0x0000000004400144, 0x0000000084400144, 3735 0x0000000004001144, 0x0000000084001144, 3736 0x0000000004401144, 0x0000000084401144, 3737 0x0000000000010100, 0x0000000080010100, 3738 0x0000000000410100, 0x0000000080410100, 3739 0x0000000000011100, 0x0000000080011100, 3740 0x0000000000411100, 0x0000000080411100, 3741 0x0000000000010140, 0x0000000080010140, 3742 0x0000000000410140, 0x0000000080410140, 3743 0x0000000000011140, 0x0000000080011140, 3744 0x0000000000411140, 0x0000000080411140, 3745 0x0000000004010100, 0x0000000084010100, 3746 0x0000000004410100, 0x0000000084410100, 3747 0x0000000004011100, 0x0000000084011100, 3748 0x0000000004411100, 0x0000000084411100, 3749 0x0000000004010140, 0x0000000084010140, 3750 0x0000000004410140, 0x0000000084410140, 3751 0x0000000004011140, 0x0000000084011140, 3752 0x0000000004411140, 0x0000000084411140, 3753 0x0000000000010104, 0x0000000080010104, 3754 0x0000000000410104, 0x0000000080410104, 3755 0x0000000000011104, 0x0000000080011104, 3756 0x0000000000411104, 0x0000000080411104, 3757 0x0000000000010144, 0x0000000080010144, 3758 0x0000000000410144, 0x0000000080410144, 3759 0x0000000000011144, 0x0000000080011144, 3760 0x0000000000411144, 0x0000000080411144, 3761 0x0000000004010104, 0x0000000084010104, 3762 0x0000000004410104, 0x0000000084410104, 3763 0x0000000004011104, 0x0000000084011104, 3764 0x0000000004411104, 0x0000000084411104, 3765 0x0000000004010144, 0x0000000084010144, 3766 0x0000000004410144, 0x0000000084410144, 3767 0x0000000004011144, 0x0000000084011144, 3768 0x0000000004411144, 0x0000000084411144, 3769 0x0000000000000000, 0x0000000000004000, 3770 0x0000000040000000, 0x0000000040004000, 3771 0x0000000000000010, 0x0000000000004010, 3772 0x0000000040000010, 0x0000000040004010, 3773 0x0000000000080000, 0x0000000000084000, 3774 0x0000000040080000, 0x0000000040084000, 3775 0x0000000000080010, 0x0000000000084010, 3776 0x0000000040080010, 0x0000000040084010, 3777 0x0000000000000002, 0x0000000000004002, 3778 0x0000000040000002, 0x0000000040004002, 3779 0x0000000000000012, 0x0000000000004012, 3780 0x0000000040000012, 0x0000000040004012, 3781 0x0000000000080002, 0x0000000000084002, 3782 0x0000000040080002, 0x0000000040084002, 3783 0x0000000000080012, 0x0000000000084012, 3784 0x0000000040080012, 0x0000000040084012, 3785 0x0000000000000200, 0x0000000000004200, 3786 0x0000000040000200, 0x0000000040004200, 3787 0x0000000000000210, 0x0000000000004210, 3788 0x0000000040000210, 0x0000000040004210, 3789 0x0000000000080200, 0x0000000000084200, 3790 0x0000000040080200, 0x0000000040084200, 3791 0x0000000000080210, 0x0000000000084210, 3792 0x0000000040080210, 0x0000000040084210, 3793 0x0000000000000202, 0x0000000000004202, 3794 0x0000000040000202, 0x0000000040004202, 3795 0x0000000000000212, 0x0000000000004212, 3796 0x0000000040000212, 0x0000000040004212, 3797 0x0000000000080202, 0x0000000000084202, 3798 0x0000000040080202, 0x0000000040084202, 3799 0x0000000000080212, 0x0000000000084212, 3800 0x0000000040080212, 0x0000000040084212, 3801 0x0000000000008000, 0x000000000000c000, 3802 0x0000000040008000, 0x000000004000c000, 3803 0x0000000000008010, 0x000000000000c010, 3804 0x0000000040008010, 0x000000004000c010, 3805 0x0000000000088000, 0x000000000008c000, 3806 0x0000000040088000, 0x000000004008c000, 3807 0x0000000000088010, 0x000000000008c010, 3808 0x0000000040088010, 0x000000004008c010, 3809 0x0000000000008002, 0x000000000000c002, 3810 0x0000000040008002, 0x000000004000c002, 3811 0x0000000000008012, 0x000000000000c012, 3812 0x0000000040008012, 0x000000004000c012, 3813 0x0000000000088002, 0x000000000008c002, 3814 0x0000000040088002, 0x000000004008c002, 3815 0x0000000000088012, 0x000000000008c012, 3816 0x0000000040088012, 0x000000004008c012, 3817 0x0000000000008200, 0x000000000000c200, 3818 0x0000000040008200, 0x000000004000c200, 3819 0x0000000000008210, 0x000000000000c210, 3820 0x0000000040008210, 0x000000004000c210, 3821 0x0000000000088200, 0x000000000008c200, 3822 0x0000000040088200, 0x000000004008c200, 3823 0x0000000000088210, 0x000000000008c210, 3824 0x0000000040088210, 0x000000004008c210, 3825 0x0000000000008202, 0x000000000000c202, 3826 0x0000000040008202, 0x000000004000c202, 3827 0x0000000000008212, 0x000000000000c212, 3828 0x0000000040008212, 0x000000004000c212, 3829 0x0000000000088202, 0x000000000008c202, 3830 0x0000000040088202, 0x000000004008c202, 3831 0x0000000000088212, 0x000000000008c212, 3832 0x0000000040088212, 0x000000004008c212, 3833 0x0000000000800000, 0x0000000000804000, 3834 0x0000000040800000, 0x0000000040804000, 3835 0x0000000000800010, 0x0000000000804010, 3836 0x0000000040800010, 0x0000000040804010, 3837 0x0000000000880000, 0x0000000000884000, 3838 0x0000000040880000, 0x0000000040884000, 3839 0x0000000000880010, 0x0000000000884010, 3840 0x0000000040880010, 0x0000000040884010, 3841 0x0000000000800002, 0x0000000000804002, 3842 0x0000000040800002, 0x0000000040804002, 3843 0x0000000000800012, 0x0000000000804012, 3844 0x0000000040800012, 0x0000000040804012, 3845 0x0000000000880002, 0x0000000000884002, 3846 0x0000000040880002, 0x0000000040884002, 3847 0x0000000000880012, 0x0000000000884012, 3848 0x0000000040880012, 0x0000000040884012, 3849 0x0000000000800200, 0x0000000000804200, 3850 0x0000000040800200, 0x0000000040804200, 3851 0x0000000000800210, 0x0000000000804210, 3852 0x0000000040800210, 0x0000000040804210, 3853 0x0000000000880200, 0x0000000000884200, 3854 0x0000000040880200, 0x0000000040884200, 3855 0x0000000000880210, 0x0000000000884210, 3856 0x0000000040880210, 0x0000000040884210, 3857 0x0000000000800202, 0x0000000000804202, 3858 0x0000000040800202, 0x0000000040804202, 3859 0x0000000000800212, 0x0000000000804212, 3860 0x0000000040800212, 0x0000000040804212, 3861 0x0000000000880202, 0x0000000000884202, 3862 0x0000000040880202, 0x0000000040884202, 3863 0x0000000000880212, 0x0000000000884212, 3864 0x0000000040880212, 0x0000000040884212, 3865 0x0000000000808000, 0x000000000080c000, 3866 0x0000000040808000, 0x000000004080c000, 3867 0x0000000000808010, 0x000000000080c010, 3868 0x0000000040808010, 0x000000004080c010, 3869 0x0000000000888000, 0x000000000088c000, 3870 0x0000000040888000, 0x000000004088c000, 3871 0x0000000000888010, 0x000000000088c010, 3872 0x0000000040888010, 0x000000004088c010, 3873 0x0000000000808002, 0x000000000080c002, 3874 0x0000000040808002, 0x000000004080c002, 3875 0x0000000000808012, 0x000000000080c012, 3876 0x0000000040808012, 0x000000004080c012, 3877 0x0000000000888002, 0x000000000088c002, 3878 0x0000000040888002, 0x000000004088c002, 3879 0x0000000000888012, 0x000000000088c012, 3880 0x0000000040888012, 0x000000004088c012, 3881 0x0000000000808200, 0x000000000080c200, 3882 0x0000000040808200, 0x000000004080c200, 3883 0x0000000000808210, 0x000000000080c210, 3884 0x0000000040808210, 0x000000004080c210, 3885 0x0000000000888200, 0x000000000088c200, 3886 0x0000000040888200, 0x000000004088c200, 3887 0x0000000000888210, 0x000000000088c210, 3888 0x0000000040888210, 0x000000004088c210, 3889 0x0000000000808202, 0x000000000080c202, 3890 0x0000000040808202, 0x000000004080c202, 3891 0x0000000000808212, 0x000000000080c212, 3892 0x0000000040808212, 0x000000004080c212, 3893 0x0000000000888202, 0x000000000088c202, 3894 0x0000000040888202, 0x000000004088c202, 3895 0x0000000000888212, 0x000000000088c212, 3896 0x0000000040888212, 0x000000004088c212 3897) 3898 3899# Inverse P permutation table 3900N_P_K = ( 3901 0x0000000000000000, 0x0000000000000080, 3902 0x0000000010000000, 0x0000000010000080, 3903 0x0000000000200000, 0x0000000000200080, 3904 0x0000000010200000, 0x0000000010200080, 3905 0x0000000000000400, 0x0000000000000480, 3906 0x0000000010000400, 0x0000000010000480, 3907 0x0000000000200400, 0x0000000000200480, 3908 0x0000000010200400, 0x0000000010200480, 3909 0x0000000004000000, 0x0000000004000080, 3910 0x0000000014000000, 0x0000000014000080, 3911 0x0000000004200000, 0x0000000004200080, 3912 0x0000000014200000, 0x0000000014200080, 3913 0x0000000004000400, 0x0000000004000480, 3914 0x0000000014000400, 0x0000000014000480, 3915 0x0000000004200400, 0x0000000004200480, 3916 0x0000000014200400, 0x0000000014200480, 3917 0x0000000000000004, 0x0000000000000084, 3918 0x0000000010000004, 0x0000000010000084, 3919 0x0000000000200004, 0x0000000000200084, 3920 0x0000000010200004, 0x0000000010200084, 3921 0x0000000000000404, 0x0000000000000484, 3922 0x0000000010000404, 0x0000000010000484, 3923 0x0000000000200404, 0x0000000000200484, 3924 0x0000000010200404, 0x0000000010200484, 3925 0x0000000004000004, 0x0000000004000084, 3926 0x0000000014000004, 0x0000000014000084, 3927 0x0000000004200004, 0x0000000004200084, 3928 0x0000000014200004, 0x0000000014200084, 3929 0x0000000004000404, 0x0000000004000484, 3930 0x0000000014000404, 0x0000000014000484, 3931 0x0000000004200404, 0x0000000004200484, 3932 0x0000000014200404, 0x0000000014200484, 3933 0x0000000000080000, 0x0000000000080080, 3934 0x0000000010080000, 0x0000000010080080, 3935 0x0000000000280000, 0x0000000000280080, 3936 0x0000000010280000, 0x0000000010280080, 3937 0x0000000000080400, 0x0000000000080480, 3938 0x0000000010080400, 0x0000000010080480, 3939 0x0000000000280400, 0x0000000000280480, 3940 0x0000000010280400, 0x0000000010280480, 3941 0x0000000004080000, 0x0000000004080080, 3942 0x0000000014080000, 0x0000000014080080, 3943 0x0000000004280000, 0x0000000004280080, 3944 0x0000000014280000, 0x0000000014280080, 3945 0x0000000004080400, 0x0000000004080480, 3946 0x0000000014080400, 0x0000000014080480, 3947 0x0000000004280400, 0x0000000004280480, 3948 0x0000000014280400, 0x0000000014280480, 3949 0x0000000000080004, 0x0000000000080084, 3950 0x0000000010080004, 0x0000000010080084, 3951 0x0000000000280004, 0x0000000000280084, 3952 0x0000000010280004, 0x0000000010280084, 3953 0x0000000000080404, 0x0000000000080484, 3954 0x0000000010080404, 0x0000000010080484, 3955 0x0000000000280404, 0x0000000000280484, 3956 0x0000000010280404, 0x0000000010280484, 3957 0x0000000004080004, 0x0000000004080084, 3958 0x0000000014080004, 0x0000000014080084, 3959 0x0000000004280004, 0x0000000004280084, 3960 0x0000000014280004, 0x0000000014280084, 3961 0x0000000004080404, 0x0000000004080484, 3962 0x0000000014080404, 0x0000000014080484, 3963 0x0000000004280404, 0x0000000004280484, 3964 0x0000000014280404, 0x0000000014280484, 3965 0x0000000000002000, 0x0000000000002080, 3966 0x0000000010002000, 0x0000000010002080, 3967 0x0000000000202000, 0x0000000000202080, 3968 0x0000000010202000, 0x0000000010202080, 3969 0x0000000000002400, 0x0000000000002480, 3970 0x0000000010002400, 0x0000000010002480, 3971 0x0000000000202400, 0x0000000000202480, 3972 0x0000000010202400, 0x0000000010202480, 3973 0x0000000004002000, 0x0000000004002080, 3974 0x0000000014002000, 0x0000000014002080, 3975 0x0000000004202000, 0x0000000004202080, 3976 0x0000000014202000, 0x0000000014202080, 3977 0x0000000004002400, 0x0000000004002480, 3978 0x0000000014002400, 0x0000000014002480, 3979 0x0000000004202400, 0x0000000004202480, 3980 0x0000000014202400, 0x0000000014202480, 3981 0x0000000000002004, 0x0000000000002084, 3982 0x0000000010002004, 0x0000000010002084, 3983 0x0000000000202004, 0x0000000000202084, 3984 0x0000000010202004, 0x0000000010202084, 3985 0x0000000000002404, 0x0000000000002484, 3986 0x0000000010002404, 0x0000000010002484, 3987 0x0000000000202404, 0x0000000000202484, 3988 0x0000000010202404, 0x0000000010202484, 3989 0x0000000004002004, 0x0000000004002084, 3990 0x0000000014002004, 0x0000000014002084, 3991 0x0000000004202004, 0x0000000004202084, 3992 0x0000000014202004, 0x0000000014202084, 3993 0x0000000004002404, 0x0000000004002484, 3994 0x0000000014002404, 0x0000000014002484, 3995 0x0000000004202404, 0x0000000004202484, 3996 0x0000000014202404, 0x0000000014202484, 3997 0x0000000000082000, 0x0000000000082080, 3998 0x0000000010082000, 0x0000000010082080, 3999 0x0000000000282000, 0x0000000000282080, 4000 0x0000000010282000, 0x0000000010282080, 4001 0x0000000000082400, 0x0000000000082480, 4002 0x0000000010082400, 0x0000000010082480, 4003 0x0000000000282400, 0x0000000000282480, 4004 0x0000000010282400, 0x0000000010282480, 4005 0x0000000004082000, 0x0000000004082080, 4006 0x0000000014082000, 0x0000000014082080, 4007 0x0000000004282000, 0x0000000004282080, 4008 0x0000000014282000, 0x0000000014282080, 4009 0x0000000004082400, 0x0000000004082480, 4010 0x0000000014082400, 0x0000000014082480, 4011 0x0000000004282400, 0x0000000004282480, 4012 0x0000000014282400, 0x0000000014282480, 4013 0x0000000000082004, 0x0000000000082084, 4014 0x0000000010082004, 0x0000000010082084, 4015 0x0000000000282004, 0x0000000000282084, 4016 0x0000000010282004, 0x0000000010282084, 4017 0x0000000000082404, 0x0000000000082484, 4018 0x0000000010082404, 0x0000000010082484, 4019 0x0000000000282404, 0x0000000000282484, 4020 0x0000000010282404, 0x0000000010282484, 4021 0x0000000004082004, 0x0000000004082084, 4022 0x0000000014082004, 0x0000000014082084, 4023 0x0000000004282004, 0x0000000004282084, 4024 0x0000000014282004, 0x0000000014282084, 4025 0x0000000004082404, 0x0000000004082484, 4026 0x0000000014082404, 0x0000000014082484, 4027 0x0000000004282404, 0x0000000004282484, 4028 0x0000000014282404, 0x0000000014282484, 4029 0x0000000000000000, 0x0000000000800000, 4030 0x0000000020000000, 0x0000000020800000, 4031 0x0000000000000020, 0x0000000000800020, 4032 0x0000000020000020, 0x0000000020800020, 4033 0x0000000000000001, 0x0000000000800001, 4034 0x0000000020000001, 0x0000000020800001, 4035 0x0000000000000021, 0x0000000000800021, 4036 0x0000000020000021, 0x0000000020800021, 4037 0x0000000000040000, 0x0000000000840000, 4038 0x0000000020040000, 0x0000000020840000, 4039 0x0000000000040020, 0x0000000000840020, 4040 0x0000000020040020, 0x0000000020840020, 4041 0x0000000000040001, 0x0000000000840001, 4042 0x0000000020040001, 0x0000000020840001, 4043 0x0000000000040021, 0x0000000000840021, 4044 0x0000000020040021, 0x0000000020840021, 4045 0x0000000000000100, 0x0000000000800100, 4046 0x0000000020000100, 0x0000000020800100, 4047 0x0000000000000120, 0x0000000000800120, 4048 0x0000000020000120, 0x0000000020800120, 4049 0x0000000000000101, 0x0000000000800101, 4050 0x0000000020000101, 0x0000000020800101, 4051 0x0000000000000121, 0x0000000000800121, 4052 0x0000000020000121, 0x0000000020800121, 4053 0x0000000000040100, 0x0000000000840100, 4054 0x0000000020040100, 0x0000000020840100, 4055 0x0000000000040120, 0x0000000000840120, 4056 0x0000000020040120, 0x0000000020840120, 4057 0x0000000000040101, 0x0000000000840101, 4058 0x0000000020040101, 0x0000000020840101, 4059 0x0000000000040121, 0x0000000000840121, 4060 0x0000000020040121, 0x0000000020840121, 4061 0x0000000001000000, 0x0000000001800000, 4062 0x0000000021000000, 0x0000000021800000, 4063 0x0000000001000020, 0x0000000001800020, 4064 0x0000000021000020, 0x0000000021800020, 4065 0x0000000001000001, 0x0000000001800001, 4066 0x0000000021000001, 0x0000000021800001, 4067 0x0000000001000021, 0x0000000001800021, 4068 0x0000000021000021, 0x0000000021800021, 4069 0x0000000001040000, 0x0000000001840000, 4070 0x0000000021040000, 0x0000000021840000, 4071 0x0000000001040020, 0x0000000001840020, 4072 0x0000000021040020, 0x0000000021840020, 4073 0x0000000001040001, 0x0000000001840001, 4074 0x0000000021040001, 0x0000000021840001, 4075 0x0000000001040021, 0x0000000001840021, 4076 0x0000000021040021, 0x0000000021840021, 4077 0x0000000001000100, 0x0000000001800100, 4078 0x0000000021000100, 0x0000000021800100, 4079 0x0000000001000120, 0x0000000001800120, 4080 0x0000000021000120, 0x0000000021800120, 4081 0x0000000001000101, 0x0000000001800101, 4082 0x0000000021000101, 0x0000000021800101, 4083 0x0000000001000121, 0x0000000001800121, 4084 0x0000000021000121, 0x0000000021800121, 4085 0x0000000001040100, 0x0000000001840100, 4086 0x0000000021040100, 0x0000000021840100, 4087 0x0000000001040120, 0x0000000001840120, 4088 0x0000000021040120, 0x0000000021840120, 4089 0x0000000001040101, 0x0000000001840101, 4090 0x0000000021040101, 0x0000000021840101, 4091 0x0000000001040121, 0x0000000001840121, 4092 0x0000000021040121, 0x0000000021840121, 4093 0x0000000040000000, 0x0000000040800000, 4094 0x0000000060000000, 0x0000000060800000, 4095 0x0000000040000020, 0x0000000040800020, 4096 0x0000000060000020, 0x0000000060800020, 4097 0x0000000040000001, 0x0000000040800001, 4098 0x0000000060000001, 0x0000000060800001, 4099 0x0000000040000021, 0x0000000040800021, 4100 0x0000000060000021, 0x0000000060800021, 4101 0x0000000040040000, 0x0000000040840000, 4102 0x0000000060040000, 0x0000000060840000, 4103 0x0000000040040020, 0x0000000040840020, 4104 0x0000000060040020, 0x0000000060840020, 4105 0x0000000040040001, 0x0000000040840001, 4106 0x0000000060040001, 0x0000000060840001, 4107 0x0000000040040021, 0x0000000040840021, 4108 0x0000000060040021, 0x0000000060840021, 4109 0x0000000040000100, 0x0000000040800100, 4110 0x0000000060000100, 0x0000000060800100, 4111 0x0000000040000120, 0x0000000040800120, 4112 0x0000000060000120, 0x0000000060800120, 4113 0x0000000040000101, 0x0000000040800101, 4114 0x0000000060000101, 0x0000000060800101, 4115 0x0000000040000121, 0x0000000040800121, 4116 0x0000000060000121, 0x0000000060800121, 4117 0x0000000040040100, 0x0000000040840100, 4118 0x0000000060040100, 0x0000000060840100, 4119 0x0000000040040120, 0x0000000040840120, 4120 0x0000000060040120, 0x0000000060840120, 4121 0x0000000040040101, 0x0000000040840101, 4122 0x0000000060040101, 0x0000000060840101, 4123 0x0000000040040121, 0x0000000040840121, 4124 0x0000000060040121, 0x0000000060840121, 4125 0x0000000041000000, 0x0000000041800000, 4126 0x0000000061000000, 0x0000000061800000, 4127 0x0000000041000020, 0x0000000041800020, 4128 0x0000000061000020, 0x0000000061800020, 4129 0x0000000041000001, 0x0000000041800001, 4130 0x0000000061000001, 0x0000000061800001, 4131 0x0000000041000021, 0x0000000041800021, 4132 0x0000000061000021, 0x0000000061800021, 4133 0x0000000041040000, 0x0000000041840000, 4134 0x0000000061040000, 0x0000000061840000, 4135 0x0000000041040020, 0x0000000041840020, 4136 0x0000000061040020, 0x0000000061840020, 4137 0x0000000041040001, 0x0000000041840001, 4138 0x0000000061040001, 0x0000000061840001, 4139 0x0000000041040021, 0x0000000041840021, 4140 0x0000000061040021, 0x0000000061840021, 4141 0x0000000041000100, 0x0000000041800100, 4142 0x0000000061000100, 0x0000000061800100, 4143 0x0000000041000120, 0x0000000041800120, 4144 0x0000000061000120, 0x0000000061800120, 4145 0x0000000041000101, 0x0000000041800101, 4146 0x0000000061000101, 0x0000000061800101, 4147 0x0000000041000121, 0x0000000041800121, 4148 0x0000000061000121, 0x0000000061800121, 4149 0x0000000041040100, 0x0000000041840100, 4150 0x0000000061040100, 0x0000000061840100, 4151 0x0000000041040120, 0x0000000041840120, 4152 0x0000000061040120, 0x0000000061840120, 4153 0x0000000041040101, 0x0000000041840101, 4154 0x0000000061040101, 0x0000000061840101, 4155 0x0000000041040121, 0x0000000041840121, 4156 0x0000000061040121, 0x0000000061840121, 4157 0x0000000000000000, 0x0000000000400000, 4158 0x0000000000000002, 0x0000000000400002, 4159 0x0000000000004000, 0x0000000000404000, 4160 0x0000000000004002, 0x0000000000404002, 4161 0x0000000008000000, 0x0000000008400000, 4162 0x0000000008000002, 0x0000000008400002, 4163 0x0000000008004000, 0x0000000008404000, 4164 0x0000000008004002, 0x0000000008404002, 4165 0x0000000000000040, 0x0000000000400040, 4166 0x0000000000000042, 0x0000000000400042, 4167 0x0000000000004040, 0x0000000000404040, 4168 0x0000000000004042, 0x0000000000404042, 4169 0x0000000008000040, 0x0000000008400040, 4170 0x0000000008000042, 0x0000000008400042, 4171 0x0000000008004040, 0x0000000008404040, 4172 0x0000000008004042, 0x0000000008404042, 4173 0x0000000000000200, 0x0000000000400200, 4174 0x0000000000000202, 0x0000000000400202, 4175 0x0000000000004200, 0x0000000000404200, 4176 0x0000000000004202, 0x0000000000404202, 4177 0x0000000008000200, 0x0000000008400200, 4178 0x0000000008000202, 0x0000000008400202, 4179 0x0000000008004200, 0x0000000008404200, 4180 0x0000000008004202, 0x0000000008404202, 4181 0x0000000000000240, 0x0000000000400240, 4182 0x0000000000000242, 0x0000000000400242, 4183 0x0000000000004240, 0x0000000000404240, 4184 0x0000000000004242, 0x0000000000404242, 4185 0x0000000008000240, 0x0000000008400240, 4186 0x0000000008000242, 0x0000000008400242, 4187 0x0000000008004240, 0x0000000008404240, 4188 0x0000000008004242, 0x0000000008404242, 4189 0x0000000000020000, 0x0000000000420000, 4190 0x0000000000020002, 0x0000000000420002, 4191 0x0000000000024000, 0x0000000000424000, 4192 0x0000000000024002, 0x0000000000424002, 4193 0x0000000008020000, 0x0000000008420000, 4194 0x0000000008020002, 0x0000000008420002, 4195 0x0000000008024000, 0x0000000008424000, 4196 0x0000000008024002, 0x0000000008424002, 4197 0x0000000000020040, 0x0000000000420040, 4198 0x0000000000020042, 0x0000000000420042, 4199 0x0000000000024040, 0x0000000000424040, 4200 0x0000000000024042, 0x0000000000424042, 4201 0x0000000008020040, 0x0000000008420040, 4202 0x0000000008020042, 0x0000000008420042, 4203 0x0000000008024040, 0x0000000008424040, 4204 0x0000000008024042, 0x0000000008424042, 4205 0x0000000000020200, 0x0000000000420200, 4206 0x0000000000020202, 0x0000000000420202, 4207 0x0000000000024200, 0x0000000000424200, 4208 0x0000000000024202, 0x0000000000424202, 4209 0x0000000008020200, 0x0000000008420200, 4210 0x0000000008020202, 0x0000000008420202, 4211 0x0000000008024200, 0x0000000008424200, 4212 0x0000000008024202, 0x0000000008424202, 4213 0x0000000000020240, 0x0000000000420240, 4214 0x0000000000020242, 0x0000000000420242, 4215 0x0000000000024240, 0x0000000000424240, 4216 0x0000000000024242, 0x0000000000424242, 4217 0x0000000008020240, 0x0000000008420240, 4218 0x0000000008020242, 0x0000000008420242, 4219 0x0000000008024240, 0x0000000008424240, 4220 0x0000000008024242, 0x0000000008424242, 4221 0x0000000080000000, 0x0000000080400000, 4222 0x0000000080000002, 0x0000000080400002, 4223 0x0000000080004000, 0x0000000080404000, 4224 0x0000000080004002, 0x0000000080404002, 4225 0x0000000088000000, 0x0000000088400000, 4226 0x0000000088000002, 0x0000000088400002, 4227 0x0000000088004000, 0x0000000088404000, 4228 0x0000000088004002, 0x0000000088404002, 4229 0x0000000080000040, 0x0000000080400040, 4230 0x0000000080000042, 0x0000000080400042, 4231 0x0000000080004040, 0x0000000080404040, 4232 0x0000000080004042, 0x0000000080404042, 4233 0x0000000088000040, 0x0000000088400040, 4234 0x0000000088000042, 0x0000000088400042, 4235 0x0000000088004040, 0x0000000088404040, 4236 0x0000000088004042, 0x0000000088404042, 4237 0x0000000080000200, 0x0000000080400200, 4238 0x0000000080000202, 0x0000000080400202, 4239 0x0000000080004200, 0x0000000080404200, 4240 0x0000000080004202, 0x0000000080404202, 4241 0x0000000088000200, 0x0000000088400200, 4242 0x0000000088000202, 0x0000000088400202, 4243 0x0000000088004200, 0x0000000088404200, 4244 0x0000000088004202, 0x0000000088404202, 4245 0x0000000080000240, 0x0000000080400240, 4246 0x0000000080000242, 0x0000000080400242, 4247 0x0000000080004240, 0x0000000080404240, 4248 0x0000000080004242, 0x0000000080404242, 4249 0x0000000088000240, 0x0000000088400240, 4250 0x0000000088000242, 0x0000000088400242, 4251 0x0000000088004240, 0x0000000088404240, 4252 0x0000000088004242, 0x0000000088404242, 4253 0x0000000080020000, 0x0000000080420000, 4254 0x0000000080020002, 0x0000000080420002, 4255 0x0000000080024000, 0x0000000080424000, 4256 0x0000000080024002, 0x0000000080424002, 4257 0x0000000088020000, 0x0000000088420000, 4258 0x0000000088020002, 0x0000000088420002, 4259 0x0000000088024000, 0x0000000088424000, 4260 0x0000000088024002, 0x0000000088424002, 4261 0x0000000080020040, 0x0000000080420040, 4262 0x0000000080020042, 0x0000000080420042, 4263 0x0000000080024040, 0x0000000080424040, 4264 0x0000000080024042, 0x0000000080424042, 4265 0x0000000088020040, 0x0000000088420040, 4266 0x0000000088020042, 0x0000000088420042, 4267 0x0000000088024040, 0x0000000088424040, 4268 0x0000000088024042, 0x0000000088424042, 4269 0x0000000080020200, 0x0000000080420200, 4270 0x0000000080020202, 0x0000000080420202, 4271 0x0000000080024200, 0x0000000080424200, 4272 0x0000000080024202, 0x0000000080424202, 4273 0x0000000088020200, 0x0000000088420200, 4274 0x0000000088020202, 0x0000000088420202, 4275 0x0000000088024200, 0x0000000088424200, 4276 0x0000000088024202, 0x0000000088424202, 4277 0x0000000080020240, 0x0000000080420240, 4278 0x0000000080020242, 0x0000000080420242, 4279 0x0000000080024240, 0x0000000080424240, 4280 0x0000000080024242, 0x0000000080424242, 4281 0x0000000088020240, 0x0000000088420240, 4282 0x0000000088020242, 0x0000000088420242, 4283 0x0000000088024240, 0x0000000088424240, 4284 0x0000000088024242, 0x0000000088424242, 4285 0x0000000000000000, 0x0000000000008000, 4286 0x0000000000000010, 0x0000000000008010, 4287 0x0000000000100000, 0x0000000000108000, 4288 0x0000000000100010, 0x0000000000108010, 4289 0x0000000000000008, 0x0000000000008008, 4290 0x0000000000000018, 0x0000000000008018, 4291 0x0000000000100008, 0x0000000000108008, 4292 0x0000000000100018, 0x0000000000108018, 4293 0x0000000000000800, 0x0000000000008800, 4294 0x0000000000000810, 0x0000000000008810, 4295 0x0000000000100800, 0x0000000000108800, 4296 0x0000000000100810, 0x0000000000108810, 4297 0x0000000000000808, 0x0000000000008808, 4298 0x0000000000000818, 0x0000000000008818, 4299 0x0000000000100808, 0x0000000000108808, 4300 0x0000000000100818, 0x0000000000108818, 4301 0x0000000000001000, 0x0000000000009000, 4302 0x0000000000001010, 0x0000000000009010, 4303 0x0000000000101000, 0x0000000000109000, 4304 0x0000000000101010, 0x0000000000109010, 4305 0x0000000000001008, 0x0000000000009008, 4306 0x0000000000001018, 0x0000000000009018, 4307 0x0000000000101008, 0x0000000000109008, 4308 0x0000000000101018, 0x0000000000109018, 4309 0x0000000000001800, 0x0000000000009800, 4310 0x0000000000001810, 0x0000000000009810, 4311 0x0000000000101800, 0x0000000000109800, 4312 0x0000000000101810, 0x0000000000109810, 4313 0x0000000000001808, 0x0000000000009808, 4314 0x0000000000001818, 0x0000000000009818, 4315 0x0000000000101808, 0x0000000000109808, 4316 0x0000000000101818, 0x0000000000109818, 4317 0x0000000002000000, 0x0000000002008000, 4318 0x0000000002000010, 0x0000000002008010, 4319 0x0000000002100000, 0x0000000002108000, 4320 0x0000000002100010, 0x0000000002108010, 4321 0x0000000002000008, 0x0000000002008008, 4322 0x0000000002000018, 0x0000000002008018, 4323 0x0000000002100008, 0x0000000002108008, 4324 0x0000000002100018, 0x0000000002108018, 4325 0x0000000002000800, 0x0000000002008800, 4326 0x0000000002000810, 0x0000000002008810, 4327 0x0000000002100800, 0x0000000002108800, 4328 0x0000000002100810, 0x0000000002108810, 4329 0x0000000002000808, 0x0000000002008808, 4330 0x0000000002000818, 0x0000000002008818, 4331 0x0000000002100808, 0x0000000002108808, 4332 0x0000000002100818, 0x0000000002108818, 4333 0x0000000002001000, 0x0000000002009000, 4334 0x0000000002001010, 0x0000000002009010, 4335 0x0000000002101000, 0x0000000002109000, 4336 0x0000000002101010, 0x0000000002109010, 4337 0x0000000002001008, 0x0000000002009008, 4338 0x0000000002001018, 0x0000000002009018, 4339 0x0000000002101008, 0x0000000002109008, 4340 0x0000000002101018, 0x0000000002109018, 4341 0x0000000002001800, 0x0000000002009800, 4342 0x0000000002001810, 0x0000000002009810, 4343 0x0000000002101800, 0x0000000002109800, 4344 0x0000000002101810, 0x0000000002109810, 4345 0x0000000002001808, 0x0000000002009808, 4346 0x0000000002001818, 0x0000000002009818, 4347 0x0000000002101808, 0x0000000002109808, 4348 0x0000000002101818, 0x0000000002109818, 4349 0x0000000000010000, 0x0000000000018000, 4350 0x0000000000010010, 0x0000000000018010, 4351 0x0000000000110000, 0x0000000000118000, 4352 0x0000000000110010, 0x0000000000118010, 4353 0x0000000000010008, 0x0000000000018008, 4354 0x0000000000010018, 0x0000000000018018, 4355 0x0000000000110008, 0x0000000000118008, 4356 0x0000000000110018, 0x0000000000118018, 4357 0x0000000000010800, 0x0000000000018800, 4358 0x0000000000010810, 0x0000000000018810, 4359 0x0000000000110800, 0x0000000000118800, 4360 0x0000000000110810, 0x0000000000118810, 4361 0x0000000000010808, 0x0000000000018808, 4362 0x0000000000010818, 0x0000000000018818, 4363 0x0000000000110808, 0x0000000000118808, 4364 0x0000000000110818, 0x0000000000118818, 4365 0x0000000000011000, 0x0000000000019000, 4366 0x0000000000011010, 0x0000000000019010, 4367 0x0000000000111000, 0x0000000000119000, 4368 0x0000000000111010, 0x0000000000119010, 4369 0x0000000000011008, 0x0000000000019008, 4370 0x0000000000011018, 0x0000000000019018, 4371 0x0000000000111008, 0x0000000000119008, 4372 0x0000000000111018, 0x0000000000119018, 4373 0x0000000000011800, 0x0000000000019800, 4374 0x0000000000011810, 0x0000000000019810, 4375 0x0000000000111800, 0x0000000000119800, 4376 0x0000000000111810, 0x0000000000119810, 4377 0x0000000000011808, 0x0000000000019808, 4378 0x0000000000011818, 0x0000000000019818, 4379 0x0000000000111808, 0x0000000000119808, 4380 0x0000000000111818, 0x0000000000119818, 4381 0x0000000002010000, 0x0000000002018000, 4382 0x0000000002010010, 0x0000000002018010, 4383 0x0000000002110000, 0x0000000002118000, 4384 0x0000000002110010, 0x0000000002118010, 4385 0x0000000002010008, 0x0000000002018008, 4386 0x0000000002010018, 0x0000000002018018, 4387 0x0000000002110008, 0x0000000002118008, 4388 0x0000000002110018, 0x0000000002118018, 4389 0x0000000002010800, 0x0000000002018800, 4390 0x0000000002010810, 0x0000000002018810, 4391 0x0000000002110800, 0x0000000002118800, 4392 0x0000000002110810, 0x0000000002118810, 4393 0x0000000002010808, 0x0000000002018808, 4394 0x0000000002010818, 0x0000000002018818, 4395 0x0000000002110808, 0x0000000002118808, 4396 0x0000000002110818, 0x0000000002118818, 4397 0x0000000002011000, 0x0000000002019000, 4398 0x0000000002011010, 0x0000000002019010, 4399 0x0000000002111000, 0x0000000002119000, 4400 0x0000000002111010, 0x0000000002119010, 4401 0x0000000002011008, 0x0000000002019008, 4402 0x0000000002011018, 0x0000000002019018, 4403 0x0000000002111008, 0x0000000002119008, 4404 0x0000000002111018, 0x0000000002119018, 4405 0x0000000002011800, 0x0000000002019800, 4406 0x0000000002011810, 0x0000000002019810, 4407 0x0000000002111800, 0x0000000002119800, 4408 0x0000000002111810, 0x0000000002119810, 4409 0x0000000002011808, 0x0000000002019808, 4410 0x0000000002011818, 0x0000000002019818, 4411 0x0000000002111808, 0x0000000002119808, 4412 0x0000000002111818, 0x0000000002119818 4413) 4414 4415# PC1 permutation table 4416PC1_K = ( 4417 0x0000000000000000, 0x0000000000000000, 4418 0x0000000008000000, 0x0000000008000000, 4419 0x0000000000080000, 0x0000000000080000, 4420 0x0000000008080000, 0x0000000008080000, 4421 0x0000000000000800, 0x0000000000000800, 4422 0x0000000008000800, 0x0000000008000800, 4423 0x0000000000080800, 0x0000000000080800, 4424 0x0000000008080800, 0x0000000008080800, 4425 0x0000000080000000, 0x0000000080000000, 4426 0x0000000088000000, 0x0000000088000000, 4427 0x0000000080080000, 0x0000000080080000, 4428 0x0000000088080000, 0x0000000088080000, 4429 0x0000000080000800, 0x0000000080000800, 4430 0x0000000088000800, 0x0000000088000800, 4431 0x0000000080080800, 0x0000000080080800, 4432 0x0000000088080800, 0x0000000088080800, 4433 0x0000008000000000, 0x0000008000000000, 4434 0x0000008008000000, 0x0000008008000000, 4435 0x0000008000080000, 0x0000008000080000, 4436 0x0000008008080000, 0x0000008008080000, 4437 0x0000008000000800, 0x0000008000000800, 4438 0x0000008008000800, 0x0000008008000800, 4439 0x0000008000080800, 0x0000008000080800, 4440 0x0000008008080800, 0x0000008008080800, 4441 0x0000008080000000, 0x0000008080000000, 4442 0x0000008088000000, 0x0000008088000000, 4443 0x0000008080080000, 0x0000008080080000, 4444 0x0000008088080000, 0x0000008088080000, 4445 0x0000008080000800, 0x0000008080000800, 4446 0x0000008088000800, 0x0000008088000800, 4447 0x0000008080080800, 0x0000008080080800, 4448 0x0000008088080800, 0x0000008088080800, 4449 0x0000800000000000, 0x0000800000000000, 4450 0x0000800008000000, 0x0000800008000000, 4451 0x0000800000080000, 0x0000800000080000, 4452 0x0000800008080000, 0x0000800008080000, 4453 0x0000800000000800, 0x0000800000000800, 4454 0x0000800008000800, 0x0000800008000800, 4455 0x0000800000080800, 0x0000800000080800, 4456 0x0000800008080800, 0x0000800008080800, 4457 0x0000800080000000, 0x0000800080000000, 4458 0x0000800088000000, 0x0000800088000000, 4459 0x0000800080080000, 0x0000800080080000, 4460 0x0000800088080000, 0x0000800088080000, 4461 0x0000800080000800, 0x0000800080000800, 4462 0x0000800088000800, 0x0000800088000800, 4463 0x0000800080080800, 0x0000800080080800, 4464 0x0000800088080800, 0x0000800088080800, 4465 0x0000808000000000, 0x0000808000000000, 4466 0x0000808008000000, 0x0000808008000000, 4467 0x0000808000080000, 0x0000808000080000, 4468 0x0000808008080000, 0x0000808008080000, 4469 0x0000808000000800, 0x0000808000000800, 4470 0x0000808008000800, 0x0000808008000800, 4471 0x0000808000080800, 0x0000808000080800, 4472 0x0000808008080800, 0x0000808008080800, 4473 0x0000808080000000, 0x0000808080000000, 4474 0x0000808088000000, 0x0000808088000000, 4475 0x0000808080080000, 0x0000808080080000, 4476 0x0000808088080000, 0x0000808088080000, 4477 0x0000808080000800, 0x0000808080000800, 4478 0x0000808088000800, 0x0000808088000800, 4479 0x0000808080080800, 0x0000808080080800, 4480 0x0000808088080800, 0x0000808088080800, 4481 0x0080000000000000, 0x0080000000000000, 4482 0x0080000008000000, 0x0080000008000000, 4483 0x0080000000080000, 0x0080000000080000, 4484 0x0080000008080000, 0x0080000008080000, 4485 0x0080000000000800, 0x0080000000000800, 4486 0x0080000008000800, 0x0080000008000800, 4487 0x0080000000080800, 0x0080000000080800, 4488 0x0080000008080800, 0x0080000008080800, 4489 0x0080000080000000, 0x0080000080000000, 4490 0x0080000088000000, 0x0080000088000000, 4491 0x0080000080080000, 0x0080000080080000, 4492 0x0080000088080000, 0x0080000088080000, 4493 0x0080000080000800, 0x0080000080000800, 4494 0x0080000088000800, 0x0080000088000800, 4495 0x0080000080080800, 0x0080000080080800, 4496 0x0080000088080800, 0x0080000088080800, 4497 0x0080008000000000, 0x0080008000000000, 4498 0x0080008008000000, 0x0080008008000000, 4499 0x0080008000080000, 0x0080008000080000, 4500 0x0080008008080000, 0x0080008008080000, 4501 0x0080008000000800, 0x0080008000000800, 4502 0x0080008008000800, 0x0080008008000800, 4503 0x0080008000080800, 0x0080008000080800, 4504 0x0080008008080800, 0x0080008008080800, 4505 0x0080008080000000, 0x0080008080000000, 4506 0x0080008088000000, 0x0080008088000000, 4507 0x0080008080080000, 0x0080008080080000, 4508 0x0080008088080000, 0x0080008088080000, 4509 0x0080008080000800, 0x0080008080000800, 4510 0x0080008088000800, 0x0080008088000800, 4511 0x0080008080080800, 0x0080008080080800, 4512 0x0080008088080800, 0x0080008088080800, 4513 0x0080800000000000, 0x0080800000000000, 4514 0x0080800008000000, 0x0080800008000000, 4515 0x0080800000080000, 0x0080800000080000, 4516 0x0080800008080000, 0x0080800008080000, 4517 0x0080800000000800, 0x0080800000000800, 4518 0x0080800008000800, 0x0080800008000800, 4519 0x0080800000080800, 0x0080800000080800, 4520 0x0080800008080800, 0x0080800008080800, 4521 0x0080800080000000, 0x0080800080000000, 4522 0x0080800088000000, 0x0080800088000000, 4523 0x0080800080080000, 0x0080800080080000, 4524 0x0080800088080000, 0x0080800088080000, 4525 0x0080800080000800, 0x0080800080000800, 4526 0x0080800088000800, 0x0080800088000800, 4527 0x0080800080080800, 0x0080800080080800, 4528 0x0080800088080800, 0x0080800088080800, 4529 0x0080808000000000, 0x0080808000000000, 4530 0x0080808008000000, 0x0080808008000000, 4531 0x0080808000080000, 0x0080808000080000, 4532 0x0080808008080000, 0x0080808008080000, 4533 0x0080808000000800, 0x0080808000000800, 4534 0x0080808008000800, 0x0080808008000800, 4535 0x0080808000080800, 0x0080808000080800, 4536 0x0080808008080800, 0x0080808008080800, 4537 0x0080808080000000, 0x0080808080000000, 4538 0x0080808088000000, 0x0080808088000000, 4539 0x0080808080080000, 0x0080808080080000, 4540 0x0080808088080000, 0x0080808088080000, 4541 0x0080808080000800, 0x0080808080000800, 4542 0x0080808088000800, 0x0080808088000800, 4543 0x0080808080080800, 0x0080808080080800, 4544 0x0080808088080800, 0x0080808088080800, 4545 0x0000000000000000, 0x0000000000000000, 4546 0x0000000004000000, 0x0000000004000000, 4547 0x0000000000040000, 0x0000000000040000, 4548 0x0000000004040000, 0x0000000004040000, 4549 0x0000000000000400, 0x0000000000000400, 4550 0x0000000004000400, 0x0000000004000400, 4551 0x0000000000040400, 0x0000000000040400, 4552 0x0000000004040400, 0x0000000004040400, 4553 0x0000000040000000, 0x0000000040000000, 4554 0x0000000044000000, 0x0000000044000000, 4555 0x0000000040040000, 0x0000000040040000, 4556 0x0000000044040000, 0x0000000044040000, 4557 0x0000000040000400, 0x0000000040000400, 4558 0x0000000044000400, 0x0000000044000400, 4559 0x0000000040040400, 0x0000000040040400, 4560 0x0000000044040400, 0x0000000044040400, 4561 0x0000004000000000, 0x0000004000000000, 4562 0x0000004004000000, 0x0000004004000000, 4563 0x0000004000040000, 0x0000004000040000, 4564 0x0000004004040000, 0x0000004004040000, 4565 0x0000004000000400, 0x0000004000000400, 4566 0x0000004004000400, 0x0000004004000400, 4567 0x0000004000040400, 0x0000004000040400, 4568 0x0000004004040400, 0x0000004004040400, 4569 0x0000004040000000, 0x0000004040000000, 4570 0x0000004044000000, 0x0000004044000000, 4571 0x0000004040040000, 0x0000004040040000, 4572 0x0000004044040000, 0x0000004044040000, 4573 0x0000004040000400, 0x0000004040000400, 4574 0x0000004044000400, 0x0000004044000400, 4575 0x0000004040040400, 0x0000004040040400, 4576 0x0000004044040400, 0x0000004044040400, 4577 0x0000400000000000, 0x0000400000000000, 4578 0x0000400004000000, 0x0000400004000000, 4579 0x0000400000040000, 0x0000400000040000, 4580 0x0000400004040000, 0x0000400004040000, 4581 0x0000400000000400, 0x0000400000000400, 4582 0x0000400004000400, 0x0000400004000400, 4583 0x0000400000040400, 0x0000400000040400, 4584 0x0000400004040400, 0x0000400004040400, 4585 0x0000400040000000, 0x0000400040000000, 4586 0x0000400044000000, 0x0000400044000000, 4587 0x0000400040040000, 0x0000400040040000, 4588 0x0000400044040000, 0x0000400044040000, 4589 0x0000400040000400, 0x0000400040000400, 4590 0x0000400044000400, 0x0000400044000400, 4591 0x0000400040040400, 0x0000400040040400, 4592 0x0000400044040400, 0x0000400044040400, 4593 0x0000404000000000, 0x0000404000000000, 4594 0x0000404004000000, 0x0000404004000000, 4595 0x0000404000040000, 0x0000404000040000, 4596 0x0000404004040000, 0x0000404004040000, 4597 0x0000404000000400, 0x0000404000000400, 4598 0x0000404004000400, 0x0000404004000400, 4599 0x0000404000040400, 0x0000404000040400, 4600 0x0000404004040400, 0x0000404004040400, 4601 0x0000404040000000, 0x0000404040000000, 4602 0x0000404044000000, 0x0000404044000000, 4603 0x0000404040040000, 0x0000404040040000, 4604 0x0000404044040000, 0x0000404044040000, 4605 0x0000404040000400, 0x0000404040000400, 4606 0x0000404044000400, 0x0000404044000400, 4607 0x0000404040040400, 0x0000404040040400, 4608 0x0000404044040400, 0x0000404044040400, 4609 0x0040000000000000, 0x0040000000000000, 4610 0x0040000004000000, 0x0040000004000000, 4611 0x0040000000040000, 0x0040000000040000, 4612 0x0040000004040000, 0x0040000004040000, 4613 0x0040000000000400, 0x0040000000000400, 4614 0x0040000004000400, 0x0040000004000400, 4615 0x0040000000040400, 0x0040000000040400, 4616 0x0040000004040400, 0x0040000004040400, 4617 0x0040000040000000, 0x0040000040000000, 4618 0x0040000044000000, 0x0040000044000000, 4619 0x0040000040040000, 0x0040000040040000, 4620 0x0040000044040000, 0x0040000044040000, 4621 0x0040000040000400, 0x0040000040000400, 4622 0x0040000044000400, 0x0040000044000400, 4623 0x0040000040040400, 0x0040000040040400, 4624 0x0040000044040400, 0x0040000044040400, 4625 0x0040004000000000, 0x0040004000000000, 4626 0x0040004004000000, 0x0040004004000000, 4627 0x0040004000040000, 0x0040004000040000, 4628 0x0040004004040000, 0x0040004004040000, 4629 0x0040004000000400, 0x0040004000000400, 4630 0x0040004004000400, 0x0040004004000400, 4631 0x0040004000040400, 0x0040004000040400, 4632 0x0040004004040400, 0x0040004004040400, 4633 0x0040004040000000, 0x0040004040000000, 4634 0x0040004044000000, 0x0040004044000000, 4635 0x0040004040040000, 0x0040004040040000, 4636 0x0040004044040000, 0x0040004044040000, 4637 0x0040004040000400, 0x0040004040000400, 4638 0x0040004044000400, 0x0040004044000400, 4639 0x0040004040040400, 0x0040004040040400, 4640 0x0040004044040400, 0x0040004044040400, 4641 0x0040400000000000, 0x0040400000000000, 4642 0x0040400004000000, 0x0040400004000000, 4643 0x0040400000040000, 0x0040400000040000, 4644 0x0040400004040000, 0x0040400004040000, 4645 0x0040400000000400, 0x0040400000000400, 4646 0x0040400004000400, 0x0040400004000400, 4647 0x0040400000040400, 0x0040400000040400, 4648 0x0040400004040400, 0x0040400004040400, 4649 0x0040400040000000, 0x0040400040000000, 4650 0x0040400044000000, 0x0040400044000000, 4651 0x0040400040040000, 0x0040400040040000, 4652 0x0040400044040000, 0x0040400044040000, 4653 0x0040400040000400, 0x0040400040000400, 4654 0x0040400044000400, 0x0040400044000400, 4655 0x0040400040040400, 0x0040400040040400, 4656 0x0040400044040400, 0x0040400044040400, 4657 0x0040404000000000, 0x0040404000000000, 4658 0x0040404004000000, 0x0040404004000000, 4659 0x0040404000040000, 0x0040404000040000, 4660 0x0040404004040000, 0x0040404004040000, 4661 0x0040404000000400, 0x0040404000000400, 4662 0x0040404004000400, 0x0040404004000400, 4663 0x0040404000040400, 0x0040404000040400, 4664 0x0040404004040400, 0x0040404004040400, 4665 0x0040404040000000, 0x0040404040000000, 4666 0x0040404044000000, 0x0040404044000000, 4667 0x0040404040040000, 0x0040404040040000, 4668 0x0040404044040000, 0x0040404044040000, 4669 0x0040404040000400, 0x0040404040000400, 4670 0x0040404044000400, 0x0040404044000400, 4671 0x0040404040040400, 0x0040404040040400, 4672 0x0040404044040400, 0x0040404044040400, 4673 0x0000000000000000, 0x0000000000000000, 4674 0x0000000002000000, 0x0000000002000000, 4675 0x0000000000020000, 0x0000000000020000, 4676 0x0000000002020000, 0x0000000002020000, 4677 0x0000000000000200, 0x0000000000000200, 4678 0x0000000002000200, 0x0000000002000200, 4679 0x0000000000020200, 0x0000000000020200, 4680 0x0000000002020200, 0x0000000002020200, 4681 0x0000000020000000, 0x0000000020000000, 4682 0x0000000022000000, 0x0000000022000000, 4683 0x0000000020020000, 0x0000000020020000, 4684 0x0000000022020000, 0x0000000022020000, 4685 0x0000000020000200, 0x0000000020000200, 4686 0x0000000022000200, 0x0000000022000200, 4687 0x0000000020020200, 0x0000000020020200, 4688 0x0000000022020200, 0x0000000022020200, 4689 0x0000002000000000, 0x0000002000000000, 4690 0x0000002002000000, 0x0000002002000000, 4691 0x0000002000020000, 0x0000002000020000, 4692 0x0000002002020000, 0x0000002002020000, 4693 0x0000002000000200, 0x0000002000000200, 4694 0x0000002002000200, 0x0000002002000200, 4695 0x0000002000020200, 0x0000002000020200, 4696 0x0000002002020200, 0x0000002002020200, 4697 0x0000002020000000, 0x0000002020000000, 4698 0x0000002022000000, 0x0000002022000000, 4699 0x0000002020020000, 0x0000002020020000, 4700 0x0000002022020000, 0x0000002022020000, 4701 0x0000002020000200, 0x0000002020000200, 4702 0x0000002022000200, 0x0000002022000200, 4703 0x0000002020020200, 0x0000002020020200, 4704 0x0000002022020200, 0x0000002022020200, 4705 0x0000200000000000, 0x0000200000000000, 4706 0x0000200002000000, 0x0000200002000000, 4707 0x0000200000020000, 0x0000200000020000, 4708 0x0000200002020000, 0x0000200002020000, 4709 0x0000200000000200, 0x0000200000000200, 4710 0x0000200002000200, 0x0000200002000200, 4711 0x0000200000020200, 0x0000200000020200, 4712 0x0000200002020200, 0x0000200002020200, 4713 0x0000200020000000, 0x0000200020000000, 4714 0x0000200022000000, 0x0000200022000000, 4715 0x0000200020020000, 0x0000200020020000, 4716 0x0000200022020000, 0x0000200022020000, 4717 0x0000200020000200, 0x0000200020000200, 4718 0x0000200022000200, 0x0000200022000200, 4719 0x0000200020020200, 0x0000200020020200, 4720 0x0000200022020200, 0x0000200022020200, 4721 0x0000202000000000, 0x0000202000000000, 4722 0x0000202002000000, 0x0000202002000000, 4723 0x0000202000020000, 0x0000202000020000, 4724 0x0000202002020000, 0x0000202002020000, 4725 0x0000202000000200, 0x0000202000000200, 4726 0x0000202002000200, 0x0000202002000200, 4727 0x0000202000020200, 0x0000202000020200, 4728 0x0000202002020200, 0x0000202002020200, 4729 0x0000202020000000, 0x0000202020000000, 4730 0x0000202022000000, 0x0000202022000000, 4731 0x0000202020020000, 0x0000202020020000, 4732 0x0000202022020000, 0x0000202022020000, 4733 0x0000202020000200, 0x0000202020000200, 4734 0x0000202022000200, 0x0000202022000200, 4735 0x0000202020020200, 0x0000202020020200, 4736 0x0000202022020200, 0x0000202022020200, 4737 0x0020000000000000, 0x0020000000000000, 4738 0x0020000002000000, 0x0020000002000000, 4739 0x0020000000020000, 0x0020000000020000, 4740 0x0020000002020000, 0x0020000002020000, 4741 0x0020000000000200, 0x0020000000000200, 4742 0x0020000002000200, 0x0020000002000200, 4743 0x0020000000020200, 0x0020000000020200, 4744 0x0020000002020200, 0x0020000002020200, 4745 0x0020000020000000, 0x0020000020000000, 4746 0x0020000022000000, 0x0020000022000000, 4747 0x0020000020020000, 0x0020000020020000, 4748 0x0020000022020000, 0x0020000022020000, 4749 0x0020000020000200, 0x0020000020000200, 4750 0x0020000022000200, 0x0020000022000200, 4751 0x0020000020020200, 0x0020000020020200, 4752 0x0020000022020200, 0x0020000022020200, 4753 0x0020002000000000, 0x0020002000000000, 4754 0x0020002002000000, 0x0020002002000000, 4755 0x0020002000020000, 0x0020002000020000, 4756 0x0020002002020000, 0x0020002002020000, 4757 0x0020002000000200, 0x0020002000000200, 4758 0x0020002002000200, 0x0020002002000200, 4759 0x0020002000020200, 0x0020002000020200, 4760 0x0020002002020200, 0x0020002002020200, 4761 0x0020002020000000, 0x0020002020000000, 4762 0x0020002022000000, 0x0020002022000000, 4763 0x0020002020020000, 0x0020002020020000, 4764 0x0020002022020000, 0x0020002022020000, 4765 0x0020002020000200, 0x0020002020000200, 4766 0x0020002022000200, 0x0020002022000200, 4767 0x0020002020020200, 0x0020002020020200, 4768 0x0020002022020200, 0x0020002022020200, 4769 0x0020200000000000, 0x0020200000000000, 4770 0x0020200002000000, 0x0020200002000000, 4771 0x0020200000020000, 0x0020200000020000, 4772 0x0020200002020000, 0x0020200002020000, 4773 0x0020200000000200, 0x0020200000000200, 4774 0x0020200002000200, 0x0020200002000200, 4775 0x0020200000020200, 0x0020200000020200, 4776 0x0020200002020200, 0x0020200002020200, 4777 0x0020200020000000, 0x0020200020000000, 4778 0x0020200022000000, 0x0020200022000000, 4779 0x0020200020020000, 0x0020200020020000, 4780 0x0020200022020000, 0x0020200022020000, 4781 0x0020200020000200, 0x0020200020000200, 4782 0x0020200022000200, 0x0020200022000200, 4783 0x0020200020020200, 0x0020200020020200, 4784 0x0020200022020200, 0x0020200022020200, 4785 0x0020202000000000, 0x0020202000000000, 4786 0x0020202002000000, 0x0020202002000000, 4787 0x0020202000020000, 0x0020202000020000, 4788 0x0020202002020000, 0x0020202002020000, 4789 0x0020202000000200, 0x0020202000000200, 4790 0x0020202002000200, 0x0020202002000200, 4791 0x0020202000020200, 0x0020202000020200, 4792 0x0020202002020200, 0x0020202002020200, 4793 0x0020202020000000, 0x0020202020000000, 4794 0x0020202022000000, 0x0020202022000000, 4795 0x0020202020020000, 0x0020202020020000, 4796 0x0020202022020000, 0x0020202022020000, 4797 0x0020202020000200, 0x0020202020000200, 4798 0x0020202022000200, 0x0020202022000200, 4799 0x0020202020020200, 0x0020202020020200, 4800 0x0020202022020200, 0x0020202022020200, 4801 0x0000000000000000, 0x0000000000000000, 4802 0x0000000001000000, 0x0000000001000000, 4803 0x0000000000010000, 0x0000000000010000, 4804 0x0000000001010000, 0x0000000001010000, 4805 0x0000000000000100, 0x0000000000000100, 4806 0x0000000001000100, 0x0000000001000100, 4807 0x0000000000010100, 0x0000000000010100, 4808 0x0000000001010100, 0x0000000001010100, 4809 0x0000000010000000, 0x0000000010000000, 4810 0x0000000011000000, 0x0000000011000000, 4811 0x0000000010010000, 0x0000000010010000, 4812 0x0000000011010000, 0x0000000011010000, 4813 0x0000000010000100, 0x0000000010000100, 4814 0x0000000011000100, 0x0000000011000100, 4815 0x0000000010010100, 0x0000000010010100, 4816 0x0000000011010100, 0x0000000011010100, 4817 0x0000001000000000, 0x0000001000000000, 4818 0x0000001001000000, 0x0000001001000000, 4819 0x0000001000010000, 0x0000001000010000, 4820 0x0000001001010000, 0x0000001001010000, 4821 0x0000001000000100, 0x0000001000000100, 4822 0x0000001001000100, 0x0000001001000100, 4823 0x0000001000010100, 0x0000001000010100, 4824 0x0000001001010100, 0x0000001001010100, 4825 0x0000001010000000, 0x0000001010000000, 4826 0x0000001011000000, 0x0000001011000000, 4827 0x0000001010010000, 0x0000001010010000, 4828 0x0000001011010000, 0x0000001011010000, 4829 0x0000001010000100, 0x0000001010000100, 4830 0x0000001011000100, 0x0000001011000100, 4831 0x0000001010010100, 0x0000001010010100, 4832 0x0000001011010100, 0x0000001011010100, 4833 0x0000100000000000, 0x0000100000000000, 4834 0x0000100001000000, 0x0000100001000000, 4835 0x0000100000010000, 0x0000100000010000, 4836 0x0000100001010000, 0x0000100001010000, 4837 0x0000100000000100, 0x0000100000000100, 4838 0x0000100001000100, 0x0000100001000100, 4839 0x0000100000010100, 0x0000100000010100, 4840 0x0000100001010100, 0x0000100001010100, 4841 0x0000100010000000, 0x0000100010000000, 4842 0x0000100011000000, 0x0000100011000000, 4843 0x0000100010010000, 0x0000100010010000, 4844 0x0000100011010000, 0x0000100011010000, 4845 0x0000100010000100, 0x0000100010000100, 4846 0x0000100011000100, 0x0000100011000100, 4847 0x0000100010010100, 0x0000100010010100, 4848 0x0000100011010100, 0x0000100011010100, 4849 0x0000101000000000, 0x0000101000000000, 4850 0x0000101001000000, 0x0000101001000000, 4851 0x0000101000010000, 0x0000101000010000, 4852 0x0000101001010000, 0x0000101001010000, 4853 0x0000101000000100, 0x0000101000000100, 4854 0x0000101001000100, 0x0000101001000100, 4855 0x0000101000010100, 0x0000101000010100, 4856 0x0000101001010100, 0x0000101001010100, 4857 0x0000101010000000, 0x0000101010000000, 4858 0x0000101011000000, 0x0000101011000000, 4859 0x0000101010010000, 0x0000101010010000, 4860 0x0000101011010000, 0x0000101011010000, 4861 0x0000101010000100, 0x0000101010000100, 4862 0x0000101011000100, 0x0000101011000100, 4863 0x0000101010010100, 0x0000101010010100, 4864 0x0000101011010100, 0x0000101011010100, 4865 0x0010000000000000, 0x0010000000000000, 4866 0x0010000001000000, 0x0010000001000000, 4867 0x0010000000010000, 0x0010000000010000, 4868 0x0010000001010000, 0x0010000001010000, 4869 0x0010000000000100, 0x0010000000000100, 4870 0x0010000001000100, 0x0010000001000100, 4871 0x0010000000010100, 0x0010000000010100, 4872 0x0010000001010100, 0x0010000001010100, 4873 0x0010000010000000, 0x0010000010000000, 4874 0x0010000011000000, 0x0010000011000000, 4875 0x0010000010010000, 0x0010000010010000, 4876 0x0010000011010000, 0x0010000011010000, 4877 0x0010000010000100, 0x0010000010000100, 4878 0x0010000011000100, 0x0010000011000100, 4879 0x0010000010010100, 0x0010000010010100, 4880 0x0010000011010100, 0x0010000011010100, 4881 0x0010001000000000, 0x0010001000000000, 4882 0x0010001001000000, 0x0010001001000000, 4883 0x0010001000010000, 0x0010001000010000, 4884 0x0010001001010000, 0x0010001001010000, 4885 0x0010001000000100, 0x0010001000000100, 4886 0x0010001001000100, 0x0010001001000100, 4887 0x0010001000010100, 0x0010001000010100, 4888 0x0010001001010100, 0x0010001001010100, 4889 0x0010001010000000, 0x0010001010000000, 4890 0x0010001011000000, 0x0010001011000000, 4891 0x0010001010010000, 0x0010001010010000, 4892 0x0010001011010000, 0x0010001011010000, 4893 0x0010001010000100, 0x0010001010000100, 4894 0x0010001011000100, 0x0010001011000100, 4895 0x0010001010010100, 0x0010001010010100, 4896 0x0010001011010100, 0x0010001011010100, 4897 0x0010100000000000, 0x0010100000000000, 4898 0x0010100001000000, 0x0010100001000000, 4899 0x0010100000010000, 0x0010100000010000, 4900 0x0010100001010000, 0x0010100001010000, 4901 0x0010100000000100, 0x0010100000000100, 4902 0x0010100001000100, 0x0010100001000100, 4903 0x0010100000010100, 0x0010100000010100, 4904 0x0010100001010100, 0x0010100001010100, 4905 0x0010100010000000, 0x0010100010000000, 4906 0x0010100011000000, 0x0010100011000000, 4907 0x0010100010010000, 0x0010100010010000, 4908 0x0010100011010000, 0x0010100011010000, 4909 0x0010100010000100, 0x0010100010000100, 4910 0x0010100011000100, 0x0010100011000100, 4911 0x0010100010010100, 0x0010100010010100, 4912 0x0010100011010100, 0x0010100011010100, 4913 0x0010101000000000, 0x0010101000000000, 4914 0x0010101001000000, 0x0010101001000000, 4915 0x0010101000010000, 0x0010101000010000, 4916 0x0010101001010000, 0x0010101001010000, 4917 0x0010101000000100, 0x0010101000000100, 4918 0x0010101001000100, 0x0010101001000100, 4919 0x0010101000010100, 0x0010101000010100, 4920 0x0010101001010100, 0x0010101001010100, 4921 0x0010101010000000, 0x0010101010000000, 4922 0x0010101011000000, 0x0010101011000000, 4923 0x0010101010010000, 0x0010101010010000, 4924 0x0010101011010000, 0x0010101011010000, 4925 0x0010101010000100, 0x0010101010000100, 4926 0x0010101011000100, 0x0010101011000100, 4927 0x0010101010010100, 0x0010101010010100, 4928 0x0010101011010100, 0x0010101011010100, 4929 0x0000000000000000, 0x0000000000000000, 4930 0x0000000000800000, 0x0000000000800000, 4931 0x0000000000008000, 0x0000000000008000, 4932 0x0000000000808000, 0x0000000000808000, 4933 0x0000000000000080, 0x0000000000000080, 4934 0x0000000000800080, 0x0000000000800080, 4935 0x0000000000008080, 0x0000000000008080, 4936 0x0000000000808080, 0x0000000000808080, 4937 0x0000000000000008, 0x0000000000000008, 4938 0x0000000000800008, 0x0000000000800008, 4939 0x0000000000008008, 0x0000000000008008, 4940 0x0000000000808008, 0x0000000000808008, 4941 0x0000000000000088, 0x0000000000000088, 4942 0x0000000000800088, 0x0000000000800088, 4943 0x0000000000008088, 0x0000000000008088, 4944 0x0000000000808088, 0x0000000000808088, 4945 0x0000000800000000, 0x0000000800000000, 4946 0x0000000800800000, 0x0000000800800000, 4947 0x0000000800008000, 0x0000000800008000, 4948 0x0000000800808000, 0x0000000800808000, 4949 0x0000000800000080, 0x0000000800000080, 4950 0x0000000800800080, 0x0000000800800080, 4951 0x0000000800008080, 0x0000000800008080, 4952 0x0000000800808080, 0x0000000800808080, 4953 0x0000000800000008, 0x0000000800000008, 4954 0x0000000800800008, 0x0000000800800008, 4955 0x0000000800008008, 0x0000000800008008, 4956 0x0000000800808008, 0x0000000800808008, 4957 0x0000000800000088, 0x0000000800000088, 4958 0x0000000800800088, 0x0000000800800088, 4959 0x0000000800008088, 0x0000000800008088, 4960 0x0000000800808088, 0x0000000800808088, 4961 0x0000080000000000, 0x0000080000000000, 4962 0x0000080000800000, 0x0000080000800000, 4963 0x0000080000008000, 0x0000080000008000, 4964 0x0000080000808000, 0x0000080000808000, 4965 0x0000080000000080, 0x0000080000000080, 4966 0x0000080000800080, 0x0000080000800080, 4967 0x0000080000008080, 0x0000080000008080, 4968 0x0000080000808080, 0x0000080000808080, 4969 0x0000080000000008, 0x0000080000000008, 4970 0x0000080000800008, 0x0000080000800008, 4971 0x0000080000008008, 0x0000080000008008, 4972 0x0000080000808008, 0x0000080000808008, 4973 0x0000080000000088, 0x0000080000000088, 4974 0x0000080000800088, 0x0000080000800088, 4975 0x0000080000008088, 0x0000080000008088, 4976 0x0000080000808088, 0x0000080000808088, 4977 0x0000080800000000, 0x0000080800000000, 4978 0x0000080800800000, 0x0000080800800000, 4979 0x0000080800008000, 0x0000080800008000, 4980 0x0000080800808000, 0x0000080800808000, 4981 0x0000080800000080, 0x0000080800000080, 4982 0x0000080800800080, 0x0000080800800080, 4983 0x0000080800008080, 0x0000080800008080, 4984 0x0000080800808080, 0x0000080800808080, 4985 0x0000080800000008, 0x0000080800000008, 4986 0x0000080800800008, 0x0000080800800008, 4987 0x0000080800008008, 0x0000080800008008, 4988 0x0000080800808008, 0x0000080800808008, 4989 0x0000080800000088, 0x0000080800000088, 4990 0x0000080800800088, 0x0000080800800088, 4991 0x0000080800008088, 0x0000080800008088, 4992 0x0000080800808088, 0x0000080800808088, 4993 0x0008000000000000, 0x0008000000000000, 4994 0x0008000000800000, 0x0008000000800000, 4995 0x0008000000008000, 0x0008000000008000, 4996 0x0008000000808000, 0x0008000000808000, 4997 0x0008000000000080, 0x0008000000000080, 4998 0x0008000000800080, 0x0008000000800080, 4999 0x0008000000008080, 0x0008000000008080, 5000 0x0008000000808080, 0x0008000000808080, 5001 0x0008000000000008, 0x0008000000000008, 5002 0x0008000000800008, 0x0008000000800008, 5003 0x0008000000008008, 0x0008000000008008, 5004 0x0008000000808008, 0x0008000000808008, 5005 0x0008000000000088, 0x0008000000000088, 5006 0x0008000000800088, 0x0008000000800088, 5007 0x0008000000008088, 0x0008000000008088, 5008 0x0008000000808088, 0x0008000000808088, 5009 0x0008000800000000, 0x0008000800000000, 5010 0x0008000800800000, 0x0008000800800000, 5011 0x0008000800008000, 0x0008000800008000, 5012 0x0008000800808000, 0x0008000800808000, 5013 0x0008000800000080, 0x0008000800000080, 5014 0x0008000800800080, 0x0008000800800080, 5015 0x0008000800008080, 0x0008000800008080, 5016 0x0008000800808080, 0x0008000800808080, 5017 0x0008000800000008, 0x0008000800000008, 5018 0x0008000800800008, 0x0008000800800008, 5019 0x0008000800008008, 0x0008000800008008, 5020 0x0008000800808008, 0x0008000800808008, 5021 0x0008000800000088, 0x0008000800000088, 5022 0x0008000800800088, 0x0008000800800088, 5023 0x0008000800008088, 0x0008000800008088, 5024 0x0008000800808088, 0x0008000800808088, 5025 0x0008080000000000, 0x0008080000000000, 5026 0x0008080000800000, 0x0008080000800000, 5027 0x0008080000008000, 0x0008080000008000, 5028 0x0008080000808000, 0x0008080000808000, 5029 0x0008080000000080, 0x0008080000000080, 5030 0x0008080000800080, 0x0008080000800080, 5031 0x0008080000008080, 0x0008080000008080, 5032 0x0008080000808080, 0x0008080000808080, 5033 0x0008080000000008, 0x0008080000000008, 5034 0x0008080000800008, 0x0008080000800008, 5035 0x0008080000008008, 0x0008080000008008, 5036 0x0008080000808008, 0x0008080000808008, 5037 0x0008080000000088, 0x0008080000000088, 5038 0x0008080000800088, 0x0008080000800088, 5039 0x0008080000008088, 0x0008080000008088, 5040 0x0008080000808088, 0x0008080000808088, 5041 0x0008080800000000, 0x0008080800000000, 5042 0x0008080800800000, 0x0008080800800000, 5043 0x0008080800008000, 0x0008080800008000, 5044 0x0008080800808000, 0x0008080800808000, 5045 0x0008080800000080, 0x0008080800000080, 5046 0x0008080800800080, 0x0008080800800080, 5047 0x0008080800008080, 0x0008080800008080, 5048 0x0008080800808080, 0x0008080800808080, 5049 0x0008080800000008, 0x0008080800000008, 5050 0x0008080800800008, 0x0008080800800008, 5051 0x0008080800008008, 0x0008080800008008, 5052 0x0008080800808008, 0x0008080800808008, 5053 0x0008080800000088, 0x0008080800000088, 5054 0x0008080800800088, 0x0008080800800088, 5055 0x0008080800008088, 0x0008080800008088, 5056 0x0008080800808088, 0x0008080800808088, 5057 0x0000000000000000, 0x0000000000000000, 5058 0x0000000000400000, 0x0000000000400000, 5059 0x0000000000004000, 0x0000000000004000, 5060 0x0000000000404000, 0x0000000000404000, 5061 0x0000000000000040, 0x0000000000000040, 5062 0x0000000000400040, 0x0000000000400040, 5063 0x0000000000004040, 0x0000000000004040, 5064 0x0000000000404040, 0x0000000000404040, 5065 0x0000000000000004, 0x0000000000000004, 5066 0x0000000000400004, 0x0000000000400004, 5067 0x0000000000004004, 0x0000000000004004, 5068 0x0000000000404004, 0x0000000000404004, 5069 0x0000000000000044, 0x0000000000000044, 5070 0x0000000000400044, 0x0000000000400044, 5071 0x0000000000004044, 0x0000000000004044, 5072 0x0000000000404044, 0x0000000000404044, 5073 0x0000000400000000, 0x0000000400000000, 5074 0x0000000400400000, 0x0000000400400000, 5075 0x0000000400004000, 0x0000000400004000, 5076 0x0000000400404000, 0x0000000400404000, 5077 0x0000000400000040, 0x0000000400000040, 5078 0x0000000400400040, 0x0000000400400040, 5079 0x0000000400004040, 0x0000000400004040, 5080 0x0000000400404040, 0x0000000400404040, 5081 0x0000000400000004, 0x0000000400000004, 5082 0x0000000400400004, 0x0000000400400004, 5083 0x0000000400004004, 0x0000000400004004, 5084 0x0000000400404004, 0x0000000400404004, 5085 0x0000000400000044, 0x0000000400000044, 5086 0x0000000400400044, 0x0000000400400044, 5087 0x0000000400004044, 0x0000000400004044, 5088 0x0000000400404044, 0x0000000400404044, 5089 0x0000040000000000, 0x0000040000000000, 5090 0x0000040000400000, 0x0000040000400000, 5091 0x0000040000004000, 0x0000040000004000, 5092 0x0000040000404000, 0x0000040000404000, 5093 0x0000040000000040, 0x0000040000000040, 5094 0x0000040000400040, 0x0000040000400040, 5095 0x0000040000004040, 0x0000040000004040, 5096 0x0000040000404040, 0x0000040000404040, 5097 0x0000040000000004, 0x0000040000000004, 5098 0x0000040000400004, 0x0000040000400004, 5099 0x0000040000004004, 0x0000040000004004, 5100 0x0000040000404004, 0x0000040000404004, 5101 0x0000040000000044, 0x0000040000000044, 5102 0x0000040000400044, 0x0000040000400044, 5103 0x0000040000004044, 0x0000040000004044, 5104 0x0000040000404044, 0x0000040000404044, 5105 0x0000040400000000, 0x0000040400000000, 5106 0x0000040400400000, 0x0000040400400000, 5107 0x0000040400004000, 0x0000040400004000, 5108 0x0000040400404000, 0x0000040400404000, 5109 0x0000040400000040, 0x0000040400000040, 5110 0x0000040400400040, 0x0000040400400040, 5111 0x0000040400004040, 0x0000040400004040, 5112 0x0000040400404040, 0x0000040400404040, 5113 0x0000040400000004, 0x0000040400000004, 5114 0x0000040400400004, 0x0000040400400004, 5115 0x0000040400004004, 0x0000040400004004, 5116 0x0000040400404004, 0x0000040400404004, 5117 0x0000040400000044, 0x0000040400000044, 5118 0x0000040400400044, 0x0000040400400044, 5119 0x0000040400004044, 0x0000040400004044, 5120 0x0000040400404044, 0x0000040400404044, 5121 0x0004000000000000, 0x0004000000000000, 5122 0x0004000000400000, 0x0004000000400000, 5123 0x0004000000004000, 0x0004000000004000, 5124 0x0004000000404000, 0x0004000000404000, 5125 0x0004000000000040, 0x0004000000000040, 5126 0x0004000000400040, 0x0004000000400040, 5127 0x0004000000004040, 0x0004000000004040, 5128 0x0004000000404040, 0x0004000000404040, 5129 0x0004000000000004, 0x0004000000000004, 5130 0x0004000000400004, 0x0004000000400004, 5131 0x0004000000004004, 0x0004000000004004, 5132 0x0004000000404004, 0x0004000000404004, 5133 0x0004000000000044, 0x0004000000000044, 5134 0x0004000000400044, 0x0004000000400044, 5135 0x0004000000004044, 0x0004000000004044, 5136 0x0004000000404044, 0x0004000000404044, 5137 0x0004000400000000, 0x0004000400000000, 5138 0x0004000400400000, 0x0004000400400000, 5139 0x0004000400004000, 0x0004000400004000, 5140 0x0004000400404000, 0x0004000400404000, 5141 0x0004000400000040, 0x0004000400000040, 5142 0x0004000400400040, 0x0004000400400040, 5143 0x0004000400004040, 0x0004000400004040, 5144 0x0004000400404040, 0x0004000400404040, 5145 0x0004000400000004, 0x0004000400000004, 5146 0x0004000400400004, 0x0004000400400004, 5147 0x0004000400004004, 0x0004000400004004, 5148 0x0004000400404004, 0x0004000400404004, 5149 0x0004000400000044, 0x0004000400000044, 5150 0x0004000400400044, 0x0004000400400044, 5151 0x0004000400004044, 0x0004000400004044, 5152 0x0004000400404044, 0x0004000400404044, 5153 0x0004040000000000, 0x0004040000000000, 5154 0x0004040000400000, 0x0004040000400000, 5155 0x0004040000004000, 0x0004040000004000, 5156 0x0004040000404000, 0x0004040000404000, 5157 0x0004040000000040, 0x0004040000000040, 5158 0x0004040000400040, 0x0004040000400040, 5159 0x0004040000004040, 0x0004040000004040, 5160 0x0004040000404040, 0x0004040000404040, 5161 0x0004040000000004, 0x0004040000000004, 5162 0x0004040000400004, 0x0004040000400004, 5163 0x0004040000004004, 0x0004040000004004, 5164 0x0004040000404004, 0x0004040000404004, 5165 0x0004040000000044, 0x0004040000000044, 5166 0x0004040000400044, 0x0004040000400044, 5167 0x0004040000004044, 0x0004040000004044, 5168 0x0004040000404044, 0x0004040000404044, 5169 0x0004040400000000, 0x0004040400000000, 5170 0x0004040400400000, 0x0004040400400000, 5171 0x0004040400004000, 0x0004040400004000, 5172 0x0004040400404000, 0x0004040400404000, 5173 0x0004040400000040, 0x0004040400000040, 5174 0x0004040400400040, 0x0004040400400040, 5175 0x0004040400004040, 0x0004040400004040, 5176 0x0004040400404040, 0x0004040400404040, 5177 0x0004040400000004, 0x0004040400000004, 5178 0x0004040400400004, 0x0004040400400004, 5179 0x0004040400004004, 0x0004040400004004, 5180 0x0004040400404004, 0x0004040400404004, 5181 0x0004040400000044, 0x0004040400000044, 5182 0x0004040400400044, 0x0004040400400044, 5183 0x0004040400004044, 0x0004040400004044, 5184 0x0004040400404044, 0x0004040400404044, 5185 0x0000000000000000, 0x0000000000000000, 5186 0x0000000000200000, 0x0000000000200000, 5187 0x0000000000002000, 0x0000000000002000, 5188 0x0000000000202000, 0x0000000000202000, 5189 0x0000000000000020, 0x0000000000000020, 5190 0x0000000000200020, 0x0000000000200020, 5191 0x0000000000002020, 0x0000000000002020, 5192 0x0000000000202020, 0x0000000000202020, 5193 0x0000000000000002, 0x0000000000000002, 5194 0x0000000000200002, 0x0000000000200002, 5195 0x0000000000002002, 0x0000000000002002, 5196 0x0000000000202002, 0x0000000000202002, 5197 0x0000000000000022, 0x0000000000000022, 5198 0x0000000000200022, 0x0000000000200022, 5199 0x0000000000002022, 0x0000000000002022, 5200 0x0000000000202022, 0x0000000000202022, 5201 0x0000000200000000, 0x0000000200000000, 5202 0x0000000200200000, 0x0000000200200000, 5203 0x0000000200002000, 0x0000000200002000, 5204 0x0000000200202000, 0x0000000200202000, 5205 0x0000000200000020, 0x0000000200000020, 5206 0x0000000200200020, 0x0000000200200020, 5207 0x0000000200002020, 0x0000000200002020, 5208 0x0000000200202020, 0x0000000200202020, 5209 0x0000000200000002, 0x0000000200000002, 5210 0x0000000200200002, 0x0000000200200002, 5211 0x0000000200002002, 0x0000000200002002, 5212 0x0000000200202002, 0x0000000200202002, 5213 0x0000000200000022, 0x0000000200000022, 5214 0x0000000200200022, 0x0000000200200022, 5215 0x0000000200002022, 0x0000000200002022, 5216 0x0000000200202022, 0x0000000200202022, 5217 0x0000020000000000, 0x0000020000000000, 5218 0x0000020000200000, 0x0000020000200000, 5219 0x0000020000002000, 0x0000020000002000, 5220 0x0000020000202000, 0x0000020000202000, 5221 0x0000020000000020, 0x0000020000000020, 5222 0x0000020000200020, 0x0000020000200020, 5223 0x0000020000002020, 0x0000020000002020, 5224 0x0000020000202020, 0x0000020000202020, 5225 0x0000020000000002, 0x0000020000000002, 5226 0x0000020000200002, 0x0000020000200002, 5227 0x0000020000002002, 0x0000020000002002, 5228 0x0000020000202002, 0x0000020000202002, 5229 0x0000020000000022, 0x0000020000000022, 5230 0x0000020000200022, 0x0000020000200022, 5231 0x0000020000002022, 0x0000020000002022, 5232 0x0000020000202022, 0x0000020000202022, 5233 0x0000020200000000, 0x0000020200000000, 5234 0x0000020200200000, 0x0000020200200000, 5235 0x0000020200002000, 0x0000020200002000, 5236 0x0000020200202000, 0x0000020200202000, 5237 0x0000020200000020, 0x0000020200000020, 5238 0x0000020200200020, 0x0000020200200020, 5239 0x0000020200002020, 0x0000020200002020, 5240 0x0000020200202020, 0x0000020200202020, 5241 0x0000020200000002, 0x0000020200000002, 5242 0x0000020200200002, 0x0000020200200002, 5243 0x0000020200002002, 0x0000020200002002, 5244 0x0000020200202002, 0x0000020200202002, 5245 0x0000020200000022, 0x0000020200000022, 5246 0x0000020200200022, 0x0000020200200022, 5247 0x0000020200002022, 0x0000020200002022, 5248 0x0000020200202022, 0x0000020200202022, 5249 0x0002000000000000, 0x0002000000000000, 5250 0x0002000000200000, 0x0002000000200000, 5251 0x0002000000002000, 0x0002000000002000, 5252 0x0002000000202000, 0x0002000000202000, 5253 0x0002000000000020, 0x0002000000000020, 5254 0x0002000000200020, 0x0002000000200020, 5255 0x0002000000002020, 0x0002000000002020, 5256 0x0002000000202020, 0x0002000000202020, 5257 0x0002000000000002, 0x0002000000000002, 5258 0x0002000000200002, 0x0002000000200002, 5259 0x0002000000002002, 0x0002000000002002, 5260 0x0002000000202002, 0x0002000000202002, 5261 0x0002000000000022, 0x0002000000000022, 5262 0x0002000000200022, 0x0002000000200022, 5263 0x0002000000002022, 0x0002000000002022, 5264 0x0002000000202022, 0x0002000000202022, 5265 0x0002000200000000, 0x0002000200000000, 5266 0x0002000200200000, 0x0002000200200000, 5267 0x0002000200002000, 0x0002000200002000, 5268 0x0002000200202000, 0x0002000200202000, 5269 0x0002000200000020, 0x0002000200000020, 5270 0x0002000200200020, 0x0002000200200020, 5271 0x0002000200002020, 0x0002000200002020, 5272 0x0002000200202020, 0x0002000200202020, 5273 0x0002000200000002, 0x0002000200000002, 5274 0x0002000200200002, 0x0002000200200002, 5275 0x0002000200002002, 0x0002000200002002, 5276 0x0002000200202002, 0x0002000200202002, 5277 0x0002000200000022, 0x0002000200000022, 5278 0x0002000200200022, 0x0002000200200022, 5279 0x0002000200002022, 0x0002000200002022, 5280 0x0002000200202022, 0x0002000200202022, 5281 0x0002020000000000, 0x0002020000000000, 5282 0x0002020000200000, 0x0002020000200000, 5283 0x0002020000002000, 0x0002020000002000, 5284 0x0002020000202000, 0x0002020000202000, 5285 0x0002020000000020, 0x0002020000000020, 5286 0x0002020000200020, 0x0002020000200020, 5287 0x0002020000002020, 0x0002020000002020, 5288 0x0002020000202020, 0x0002020000202020, 5289 0x0002020000000002, 0x0002020000000002, 5290 0x0002020000200002, 0x0002020000200002, 5291 0x0002020000002002, 0x0002020000002002, 5292 0x0002020000202002, 0x0002020000202002, 5293 0x0002020000000022, 0x0002020000000022, 5294 0x0002020000200022, 0x0002020000200022, 5295 0x0002020000002022, 0x0002020000002022, 5296 0x0002020000202022, 0x0002020000202022, 5297 0x0002020200000000, 0x0002020200000000, 5298 0x0002020200200000, 0x0002020200200000, 5299 0x0002020200002000, 0x0002020200002000, 5300 0x0002020200202000, 0x0002020200202000, 5301 0x0002020200000020, 0x0002020200000020, 5302 0x0002020200200020, 0x0002020200200020, 5303 0x0002020200002020, 0x0002020200002020, 5304 0x0002020200202020, 0x0002020200202020, 5305 0x0002020200000002, 0x0002020200000002, 5306 0x0002020200200002, 0x0002020200200002, 5307 0x0002020200002002, 0x0002020200002002, 5308 0x0002020200202002, 0x0002020200202002, 5309 0x0002020200000022, 0x0002020200000022, 5310 0x0002020200200022, 0x0002020200200022, 5311 0x0002020200002022, 0x0002020200002022, 5312 0x0002020200202022, 0x0002020200202022, 5313 0x0000000000000000, 0x0000000000000000, 5314 0x0000000000100000, 0x0000000000100000, 5315 0x0000000000001000, 0x0000000000001000, 5316 0x0000000000101000, 0x0000000000101000, 5317 0x0000000000000010, 0x0000000000000010, 5318 0x0000000000100010, 0x0000000000100010, 5319 0x0000000000001010, 0x0000000000001010, 5320 0x0000000000101010, 0x0000000000101010, 5321 0x0000000000000001, 0x0000000000000001, 5322 0x0000000000100001, 0x0000000000100001, 5323 0x0000000000001001, 0x0000000000001001, 5324 0x0000000000101001, 0x0000000000101001, 5325 0x0000000000000011, 0x0000000000000011, 5326 0x0000000000100011, 0x0000000000100011, 5327 0x0000000000001011, 0x0000000000001011, 5328 0x0000000000101011, 0x0000000000101011, 5329 0x0000000100000000, 0x0000000100000000, 5330 0x0000000100100000, 0x0000000100100000, 5331 0x0000000100001000, 0x0000000100001000, 5332 0x0000000100101000, 0x0000000100101000, 5333 0x0000000100000010, 0x0000000100000010, 5334 0x0000000100100010, 0x0000000100100010, 5335 0x0000000100001010, 0x0000000100001010, 5336 0x0000000100101010, 0x0000000100101010, 5337 0x0000000100000001, 0x0000000100000001, 5338 0x0000000100100001, 0x0000000100100001, 5339 0x0000000100001001, 0x0000000100001001, 5340 0x0000000100101001, 0x0000000100101001, 5341 0x0000000100000011, 0x0000000100000011, 5342 0x0000000100100011, 0x0000000100100011, 5343 0x0000000100001011, 0x0000000100001011, 5344 0x0000000100101011, 0x0000000100101011, 5345 0x0000010000000000, 0x0000010000000000, 5346 0x0000010000100000, 0x0000010000100000, 5347 0x0000010000001000, 0x0000010000001000, 5348 0x0000010000101000, 0x0000010000101000, 5349 0x0000010000000010, 0x0000010000000010, 5350 0x0000010000100010, 0x0000010000100010, 5351 0x0000010000001010, 0x0000010000001010, 5352 0x0000010000101010, 0x0000010000101010, 5353 0x0000010000000001, 0x0000010000000001, 5354 0x0000010000100001, 0x0000010000100001, 5355 0x0000010000001001, 0x0000010000001001, 5356 0x0000010000101001, 0x0000010000101001, 5357 0x0000010000000011, 0x0000010000000011, 5358 0x0000010000100011, 0x0000010000100011, 5359 0x0000010000001011, 0x0000010000001011, 5360 0x0000010000101011, 0x0000010000101011, 5361 0x0000010100000000, 0x0000010100000000, 5362 0x0000010100100000, 0x0000010100100000, 5363 0x0000010100001000, 0x0000010100001000, 5364 0x0000010100101000, 0x0000010100101000, 5365 0x0000010100000010, 0x0000010100000010, 5366 0x0000010100100010, 0x0000010100100010, 5367 0x0000010100001010, 0x0000010100001010, 5368 0x0000010100101010, 0x0000010100101010, 5369 0x0000010100000001, 0x0000010100000001, 5370 0x0000010100100001, 0x0000010100100001, 5371 0x0000010100001001, 0x0000010100001001, 5372 0x0000010100101001, 0x0000010100101001, 5373 0x0000010100000011, 0x0000010100000011, 5374 0x0000010100100011, 0x0000010100100011, 5375 0x0000010100001011, 0x0000010100001011, 5376 0x0000010100101011, 0x0000010100101011, 5377 0x0001000000000000, 0x0001000000000000, 5378 0x0001000000100000, 0x0001000000100000, 5379 0x0001000000001000, 0x0001000000001000, 5380 0x0001000000101000, 0x0001000000101000, 5381 0x0001000000000010, 0x0001000000000010, 5382 0x0001000000100010, 0x0001000000100010, 5383 0x0001000000001010, 0x0001000000001010, 5384 0x0001000000101010, 0x0001000000101010, 5385 0x0001000000000001, 0x0001000000000001, 5386 0x0001000000100001, 0x0001000000100001, 5387 0x0001000000001001, 0x0001000000001001, 5388 0x0001000000101001, 0x0001000000101001, 5389 0x0001000000000011, 0x0001000000000011, 5390 0x0001000000100011, 0x0001000000100011, 5391 0x0001000000001011, 0x0001000000001011, 5392 0x0001000000101011, 0x0001000000101011, 5393 0x0001000100000000, 0x0001000100000000, 5394 0x0001000100100000, 0x0001000100100000, 5395 0x0001000100001000, 0x0001000100001000, 5396 0x0001000100101000, 0x0001000100101000, 5397 0x0001000100000010, 0x0001000100000010, 5398 0x0001000100100010, 0x0001000100100010, 5399 0x0001000100001010, 0x0001000100001010, 5400 0x0001000100101010, 0x0001000100101010, 5401 0x0001000100000001, 0x0001000100000001, 5402 0x0001000100100001, 0x0001000100100001, 5403 0x0001000100001001, 0x0001000100001001, 5404 0x0001000100101001, 0x0001000100101001, 5405 0x0001000100000011, 0x0001000100000011, 5406 0x0001000100100011, 0x0001000100100011, 5407 0x0001000100001011, 0x0001000100001011, 5408 0x0001000100101011, 0x0001000100101011, 5409 0x0001010000000000, 0x0001010000000000, 5410 0x0001010000100000, 0x0001010000100000, 5411 0x0001010000001000, 0x0001010000001000, 5412 0x0001010000101000, 0x0001010000101000, 5413 0x0001010000000010, 0x0001010000000010, 5414 0x0001010000100010, 0x0001010000100010, 5415 0x0001010000001010, 0x0001010000001010, 5416 0x0001010000101010, 0x0001010000101010, 5417 0x0001010000000001, 0x0001010000000001, 5418 0x0001010000100001, 0x0001010000100001, 5419 0x0001010000001001, 0x0001010000001001, 5420 0x0001010000101001, 0x0001010000101001, 5421 0x0001010000000011, 0x0001010000000011, 5422 0x0001010000100011, 0x0001010000100011, 5423 0x0001010000001011, 0x0001010000001011, 5424 0x0001010000101011, 0x0001010000101011, 5425 0x0001010100000000, 0x0001010100000000, 5426 0x0001010100100000, 0x0001010100100000, 5427 0x0001010100001000, 0x0001010100001000, 5428 0x0001010100101000, 0x0001010100101000, 5429 0x0001010100000010, 0x0001010100000010, 5430 0x0001010100100010, 0x0001010100100010, 5431 0x0001010100001010, 0x0001010100001010, 5432 0x0001010100101010, 0x0001010100101010, 5433 0x0001010100000001, 0x0001010100000001, 5434 0x0001010100100001, 0x0001010100100001, 5435 0x0001010100001001, 0x0001010100001001, 5436 0x0001010100101001, 0x0001010100101001, 5437 0x0001010100000011, 0x0001010100000011, 5438 0x0001010100100011, 0x0001010100100011, 5439 0x0001010100001011, 0x0001010100001011, 5440 0x0001010100101011, 0x0001010100101011 5441) 5442 5443# Inverse PC1 permutation table 5444N_PC1_K = ( 5445 0x0000000000000000, 0x1000000000000000, 5446 0x0010000000000000, 0x1010000000000000, 5447 0x0000100000000000, 0x1000100000000000, 5448 0x0010100000000000, 0x1010100000000000, 5449 0x0000001000000000, 0x1000001000000000, 5450 0x0010001000000000, 0x1010001000000000, 5451 0x0000101000000000, 0x1000101000000000, 5452 0x0010101000000000, 0x1010101000000000, 5453 0x0800000000000000, 0x1800000000000000, 5454 0x0810000000000000, 0x1810000000000000, 5455 0x0800100000000000, 0x1800100000000000, 5456 0x0810100000000000, 0x1810100000000000, 5457 0x0800001000000000, 0x1800001000000000, 5458 0x0810001000000000, 0x1810001000000000, 5459 0x0800101000000000, 0x1800101000000000, 5460 0x0810101000000000, 0x1810101000000000, 5461 0x0008000000000000, 0x1008000000000000, 5462 0x0018000000000000, 0x1018000000000000, 5463 0x0008100000000000, 0x1008100000000000, 5464 0x0018100000000000, 0x1018100000000000, 5465 0x0008001000000000, 0x1008001000000000, 5466 0x0018001000000000, 0x1018001000000000, 5467 0x0008101000000000, 0x1008101000000000, 5468 0x0018101000000000, 0x1018101000000000, 5469 0x0808000000000000, 0x1808000000000000, 5470 0x0818000000000000, 0x1818000000000000, 5471 0x0808100000000000, 0x1808100000000000, 5472 0x0818100000000000, 0x1818100000000000, 5473 0x0808001000000000, 0x1808001000000000, 5474 0x0818001000000000, 0x1818001000000000, 5475 0x0808101000000000, 0x1808101000000000, 5476 0x0818101000000000, 0x1818101000000000, 5477 0x0000080000000000, 0x1000080000000000, 5478 0x0010080000000000, 0x1010080000000000, 5479 0x0000180000000000, 0x1000180000000000, 5480 0x0010180000000000, 0x1010180000000000, 5481 0x0000081000000000, 0x1000081000000000, 5482 0x0010081000000000, 0x1010081000000000, 5483 0x0000181000000000, 0x1000181000000000, 5484 0x0010181000000000, 0x1010181000000000, 5485 0x0800080000000000, 0x1800080000000000, 5486 0x0810080000000000, 0x1810080000000000, 5487 0x0800180000000000, 0x1800180000000000, 5488 0x0810180000000000, 0x1810180000000000, 5489 0x0800081000000000, 0x1800081000000000, 5490 0x0810081000000000, 0x1810081000000000, 5491 0x0800181000000000, 0x1800181000000000, 5492 0x0810181000000000, 0x1810181000000000, 5493 0x0008080000000000, 0x1008080000000000, 5494 0x0018080000000000, 0x1018080000000000, 5495 0x0008180000000000, 0x1008180000000000, 5496 0x0018180000000000, 0x1018180000000000, 5497 0x0008081000000000, 0x1008081000000000, 5498 0x0018081000000000, 0x1018081000000000, 5499 0x0008181000000000, 0x1008181000000000, 5500 0x0018181000000000, 0x1018181000000000, 5501 0x0808080000000000, 0x1808080000000000, 5502 0x0818080000000000, 0x1818080000000000, 5503 0x0808180000000000, 0x1808180000000000, 5504 0x0818180000000000, 0x1818180000000000, 5505 0x0808081000000000, 0x1808081000000000, 5506 0x0818081000000000, 0x1818081000000000, 5507 0x0808181000000000, 0x1808181000000000, 5508 0x0818181000000000, 0x1818181000000000, 5509 0x0000000800000000, 0x1000000800000000, 5510 0x0010000800000000, 0x1010000800000000, 5511 0x0000100800000000, 0x1000100800000000, 5512 0x0010100800000000, 0x1010100800000000, 5513 0x0000001800000000, 0x1000001800000000, 5514 0x0010001800000000, 0x1010001800000000, 5515 0x0000101800000000, 0x1000101800000000, 5516 0x0010101800000000, 0x1010101800000000, 5517 0x0800000800000000, 0x1800000800000000, 5518 0x0810000800000000, 0x1810000800000000, 5519 0x0800100800000000, 0x1800100800000000, 5520 0x0810100800000000, 0x1810100800000000, 5521 0x0800001800000000, 0x1800001800000000, 5522 0x0810001800000000, 0x1810001800000000, 5523 0x0800101800000000, 0x1800101800000000, 5524 0x0810101800000000, 0x1810101800000000, 5525 0x0008000800000000, 0x1008000800000000, 5526 0x0018000800000000, 0x1018000800000000, 5527 0x0008100800000000, 0x1008100800000000, 5528 0x0018100800000000, 0x1018100800000000, 5529 0x0008001800000000, 0x1008001800000000, 5530 0x0018001800000000, 0x1018001800000000, 5531 0x0008101800000000, 0x1008101800000000, 5532 0x0018101800000000, 0x1018101800000000, 5533 0x0808000800000000, 0x1808000800000000, 5534 0x0818000800000000, 0x1818000800000000, 5535 0x0808100800000000, 0x1808100800000000, 5536 0x0818100800000000, 0x1818100800000000, 5537 0x0808001800000000, 0x1808001800000000, 5538 0x0818001800000000, 0x1818001800000000, 5539 0x0808101800000000, 0x1808101800000000, 5540 0x0818101800000000, 0x1818101800000000, 5541 0x0000080800000000, 0x1000080800000000, 5542 0x0010080800000000, 0x1010080800000000, 5543 0x0000180800000000, 0x1000180800000000, 5544 0x0010180800000000, 0x1010180800000000, 5545 0x0000081800000000, 0x1000081800000000, 5546 0x0010081800000000, 0x1010081800000000, 5547 0x0000181800000000, 0x1000181800000000, 5548 0x0010181800000000, 0x1010181800000000, 5549 0x0800080800000000, 0x1800080800000000, 5550 0x0810080800000000, 0x1810080800000000, 5551 0x0800180800000000, 0x1800180800000000, 5552 0x0810180800000000, 0x1810180800000000, 5553 0x0800081800000000, 0x1800081800000000, 5554 0x0810081800000000, 0x1810081800000000, 5555 0x0800181800000000, 0x1800181800000000, 5556 0x0810181800000000, 0x1810181800000000, 5557 0x0008080800000000, 0x1008080800000000, 5558 0x0018080800000000, 0x1018080800000000, 5559 0x0008180800000000, 0x1008180800000000, 5560 0x0018180800000000, 0x1018180800000000, 5561 0x0008081800000000, 0x1008081800000000, 5562 0x0018081800000000, 0x1018081800000000, 5563 0x0008181800000000, 0x1008181800000000, 5564 0x0018181800000000, 0x1018181800000000, 5565 0x0808080800000000, 0x1808080800000000, 5566 0x0818080800000000, 0x1818080800000000, 5567 0x0808180800000000, 0x1808180800000000, 5568 0x0818180800000000, 0x1818180800000000, 5569 0x0808081800000000, 0x1808081800000000, 5570 0x0818081800000000, 0x1818081800000000, 5571 0x0808181800000000, 0x1808181800000000, 5572 0x0818181800000000, 0x1818181800000000, 5573 0x0000000000000000, 0x0000000008000000, 5574 0x0000000000080000, 0x0000000008080000, 5575 0x0000000000000800, 0x0000000008000800, 5576 0x0000000000080800, 0x0000000008080800, 5577 0x0000000000000008, 0x0000000008000008, 5578 0x0000000000080008, 0x0000000008080008, 5579 0x0000000000000808, 0x0000000008000808, 5580 0x0000000000080808, 0x0000000008080808, 5581 0x0400000000000000, 0x0400000008000000, 5582 0x0400000000080000, 0x0400000008080000, 5583 0x0400000000000800, 0x0400000008000800, 5584 0x0400000000080800, 0x0400000008080800, 5585 0x0400000000000008, 0x0400000008000008, 5586 0x0400000000080008, 0x0400000008080008, 5587 0x0400000000000808, 0x0400000008000808, 5588 0x0400000000080808, 0x0400000008080808, 5589 0x0004000000000000, 0x0004000008000000, 5590 0x0004000000080000, 0x0004000008080000, 5591 0x0004000000000800, 0x0004000008000800, 5592 0x0004000000080800, 0x0004000008080800, 5593 0x0004000000000008, 0x0004000008000008, 5594 0x0004000000080008, 0x0004000008080008, 5595 0x0004000000000808, 0x0004000008000808, 5596 0x0004000000080808, 0x0004000008080808, 5597 0x0404000000000000, 0x0404000008000000, 5598 0x0404000000080000, 0x0404000008080000, 5599 0x0404000000000800, 0x0404000008000800, 5600 0x0404000000080800, 0x0404000008080800, 5601 0x0404000000000008, 0x0404000008000008, 5602 0x0404000000080008, 0x0404000008080008, 5603 0x0404000000000808, 0x0404000008000808, 5604 0x0404000000080808, 0x0404000008080808, 5605 0x0000040000000000, 0x0000040008000000, 5606 0x0000040000080000, 0x0000040008080000, 5607 0x0000040000000800, 0x0000040008000800, 5608 0x0000040000080800, 0x0000040008080800, 5609 0x0000040000000008, 0x0000040008000008, 5610 0x0000040000080008, 0x0000040008080008, 5611 0x0000040000000808, 0x0000040008000808, 5612 0x0000040000080808, 0x0000040008080808, 5613 0x0400040000000000, 0x0400040008000000, 5614 0x0400040000080000, 0x0400040008080000, 5615 0x0400040000000800, 0x0400040008000800, 5616 0x0400040000080800, 0x0400040008080800, 5617 0x0400040000000008, 0x0400040008000008, 5618 0x0400040000080008, 0x0400040008080008, 5619 0x0400040000000808, 0x0400040008000808, 5620 0x0400040000080808, 0x0400040008080808, 5621 0x0004040000000000, 0x0004040008000000, 5622 0x0004040000080000, 0x0004040008080000, 5623 0x0004040000000800, 0x0004040008000800, 5624 0x0004040000080800, 0x0004040008080800, 5625 0x0004040000000008, 0x0004040008000008, 5626 0x0004040000080008, 0x0004040008080008, 5627 0x0004040000000808, 0x0004040008000808, 5628 0x0004040000080808, 0x0004040008080808, 5629 0x0404040000000000, 0x0404040008000000, 5630 0x0404040000080000, 0x0404040008080000, 5631 0x0404040000000800, 0x0404040008000800, 5632 0x0404040000080800, 0x0404040008080800, 5633 0x0404040000000008, 0x0404040008000008, 5634 0x0404040000080008, 0x0404040008080008, 5635 0x0404040000000808, 0x0404040008000808, 5636 0x0404040000080808, 0x0404040008080808, 5637 0x0000000400000000, 0x0000000408000000, 5638 0x0000000400080000, 0x0000000408080000, 5639 0x0000000400000800, 0x0000000408000800, 5640 0x0000000400080800, 0x0000000408080800, 5641 0x0000000400000008, 0x0000000408000008, 5642 0x0000000400080008, 0x0000000408080008, 5643 0x0000000400000808, 0x0000000408000808, 5644 0x0000000400080808, 0x0000000408080808, 5645 0x0400000400000000, 0x0400000408000000, 5646 0x0400000400080000, 0x0400000408080000, 5647 0x0400000400000800, 0x0400000408000800, 5648 0x0400000400080800, 0x0400000408080800, 5649 0x0400000400000008, 0x0400000408000008, 5650 0x0400000400080008, 0x0400000408080008, 5651 0x0400000400000808, 0x0400000408000808, 5652 0x0400000400080808, 0x0400000408080808, 5653 0x0004000400000000, 0x0004000408000000, 5654 0x0004000400080000, 0x0004000408080000, 5655 0x0004000400000800, 0x0004000408000800, 5656 0x0004000400080800, 0x0004000408080800, 5657 0x0004000400000008, 0x0004000408000008, 5658 0x0004000400080008, 0x0004000408080008, 5659 0x0004000400000808, 0x0004000408000808, 5660 0x0004000400080808, 0x0004000408080808, 5661 0x0404000400000000, 0x0404000408000000, 5662 0x0404000400080000, 0x0404000408080000, 5663 0x0404000400000800, 0x0404000408000800, 5664 0x0404000400080800, 0x0404000408080800, 5665 0x0404000400000008, 0x0404000408000008, 5666 0x0404000400080008, 0x0404000408080008, 5667 0x0404000400000808, 0x0404000408000808, 5668 0x0404000400080808, 0x0404000408080808, 5669 0x0000040400000000, 0x0000040408000000, 5670 0x0000040400080000, 0x0000040408080000, 5671 0x0000040400000800, 0x0000040408000800, 5672 0x0000040400080800, 0x0000040408080800, 5673 0x0000040400000008, 0x0000040408000008, 5674 0x0000040400080008, 0x0000040408080008, 5675 0x0000040400000808, 0x0000040408000808, 5676 0x0000040400080808, 0x0000040408080808, 5677 0x0400040400000000, 0x0400040408000000, 5678 0x0400040400080000, 0x0400040408080000, 5679 0x0400040400000800, 0x0400040408000800, 5680 0x0400040400080800, 0x0400040408080800, 5681 0x0400040400000008, 0x0400040408000008, 5682 0x0400040400080008, 0x0400040408080008, 5683 0x0400040400000808, 0x0400040408000808, 5684 0x0400040400080808, 0x0400040408080808, 5685 0x0004040400000000, 0x0004040408000000, 5686 0x0004040400080000, 0x0004040408080000, 5687 0x0004040400000800, 0x0004040408000800, 5688 0x0004040400080800, 0x0004040408080800, 5689 0x0004040400000008, 0x0004040408000008, 5690 0x0004040400080008, 0x0004040408080008, 5691 0x0004040400000808, 0x0004040408000808, 5692 0x0004040400080808, 0x0004040408080808, 5693 0x0404040400000000, 0x0404040408000000, 5694 0x0404040400080000, 0x0404040408080000, 5695 0x0404040400000800, 0x0404040408000800, 5696 0x0404040400080800, 0x0404040408080800, 5697 0x0404040400000008, 0x0404040408000008, 5698 0x0404040400080008, 0x0404040408080008, 5699 0x0404040400000808, 0x0404040408000808, 5700 0x0404040400080808, 0x0404040408080808, 5701 0x0000000000000000, 0x0000000004000000, 5702 0x0000000000040000, 0x0000000004040000, 5703 0x0000000000000400, 0x0000000004000400, 5704 0x0000000000040400, 0x0000000004040400, 5705 0x0000000000000004, 0x0000000004000004, 5706 0x0000000000040004, 0x0000000004040004, 5707 0x0000000000000404, 0x0000000004000404, 5708 0x0000000000040404, 0x0000000004040404, 5709 0x0200000000000000, 0x0200000004000000, 5710 0x0200000000040000, 0x0200000004040000, 5711 0x0200000000000400, 0x0200000004000400, 5712 0x0200000000040400, 0x0200000004040400, 5713 0x0200000000000004, 0x0200000004000004, 5714 0x0200000000040004, 0x0200000004040004, 5715 0x0200000000000404, 0x0200000004000404, 5716 0x0200000000040404, 0x0200000004040404, 5717 0x0002000000000000, 0x0002000004000000, 5718 0x0002000000040000, 0x0002000004040000, 5719 0x0002000000000400, 0x0002000004000400, 5720 0x0002000000040400, 0x0002000004040400, 5721 0x0002000000000004, 0x0002000004000004, 5722 0x0002000000040004, 0x0002000004040004, 5723 0x0002000000000404, 0x0002000004000404, 5724 0x0002000000040404, 0x0002000004040404, 5725 0x0202000000000000, 0x0202000004000000, 5726 0x0202000000040000, 0x0202000004040000, 5727 0x0202000000000400, 0x0202000004000400, 5728 0x0202000000040400, 0x0202000004040400, 5729 0x0202000000000004, 0x0202000004000004, 5730 0x0202000000040004, 0x0202000004040004, 5731 0x0202000000000404, 0x0202000004000404, 5732 0x0202000000040404, 0x0202000004040404, 5733 0x0000020000000000, 0x0000020004000000, 5734 0x0000020000040000, 0x0000020004040000, 5735 0x0000020000000400, 0x0000020004000400, 5736 0x0000020000040400, 0x0000020004040400, 5737 0x0000020000000004, 0x0000020004000004, 5738 0x0000020000040004, 0x0000020004040004, 5739 0x0000020000000404, 0x0000020004000404, 5740 0x0000020000040404, 0x0000020004040404, 5741 0x0200020000000000, 0x0200020004000000, 5742 0x0200020000040000, 0x0200020004040000, 5743 0x0200020000000400, 0x0200020004000400, 5744 0x0200020000040400, 0x0200020004040400, 5745 0x0200020000000004, 0x0200020004000004, 5746 0x0200020000040004, 0x0200020004040004, 5747 0x0200020000000404, 0x0200020004000404, 5748 0x0200020000040404, 0x0200020004040404, 5749 0x0002020000000000, 0x0002020004000000, 5750 0x0002020000040000, 0x0002020004040000, 5751 0x0002020000000400, 0x0002020004000400, 5752 0x0002020000040400, 0x0002020004040400, 5753 0x0002020000000004, 0x0002020004000004, 5754 0x0002020000040004, 0x0002020004040004, 5755 0x0002020000000404, 0x0002020004000404, 5756 0x0002020000040404, 0x0002020004040404, 5757 0x0202020000000000, 0x0202020004000000, 5758 0x0202020000040000, 0x0202020004040000, 5759 0x0202020000000400, 0x0202020004000400, 5760 0x0202020000040400, 0x0202020004040400, 5761 0x0202020000000004, 0x0202020004000004, 5762 0x0202020000040004, 0x0202020004040004, 5763 0x0202020000000404, 0x0202020004000404, 5764 0x0202020000040404, 0x0202020004040404, 5765 0x0000000200000000, 0x0000000204000000, 5766 0x0000000200040000, 0x0000000204040000, 5767 0x0000000200000400, 0x0000000204000400, 5768 0x0000000200040400, 0x0000000204040400, 5769 0x0000000200000004, 0x0000000204000004, 5770 0x0000000200040004, 0x0000000204040004, 5771 0x0000000200000404, 0x0000000204000404, 5772 0x0000000200040404, 0x0000000204040404, 5773 0x0200000200000000, 0x0200000204000000, 5774 0x0200000200040000, 0x0200000204040000, 5775 0x0200000200000400, 0x0200000204000400, 5776 0x0200000200040400, 0x0200000204040400, 5777 0x0200000200000004, 0x0200000204000004, 5778 0x0200000200040004, 0x0200000204040004, 5779 0x0200000200000404, 0x0200000204000404, 5780 0x0200000200040404, 0x0200000204040404, 5781 0x0002000200000000, 0x0002000204000000, 5782 0x0002000200040000, 0x0002000204040000, 5783 0x0002000200000400, 0x0002000204000400, 5784 0x0002000200040400, 0x0002000204040400, 5785 0x0002000200000004, 0x0002000204000004, 5786 0x0002000200040004, 0x0002000204040004, 5787 0x0002000200000404, 0x0002000204000404, 5788 0x0002000200040404, 0x0002000204040404, 5789 0x0202000200000000, 0x0202000204000000, 5790 0x0202000200040000, 0x0202000204040000, 5791 0x0202000200000400, 0x0202000204000400, 5792 0x0202000200040400, 0x0202000204040400, 5793 0x0202000200000004, 0x0202000204000004, 5794 0x0202000200040004, 0x0202000204040004, 5795 0x0202000200000404, 0x0202000204000404, 5796 0x0202000200040404, 0x0202000204040404, 5797 0x0000020200000000, 0x0000020204000000, 5798 0x0000020200040000, 0x0000020204040000, 5799 0x0000020200000400, 0x0000020204000400, 5800 0x0000020200040400, 0x0000020204040400, 5801 0x0000020200000004, 0x0000020204000004, 5802 0x0000020200040004, 0x0000020204040004, 5803 0x0000020200000404, 0x0000020204000404, 5804 0x0000020200040404, 0x0000020204040404, 5805 0x0200020200000000, 0x0200020204000000, 5806 0x0200020200040000, 0x0200020204040000, 5807 0x0200020200000400, 0x0200020204000400, 5808 0x0200020200040400, 0x0200020204040400, 5809 0x0200020200000004, 0x0200020204000004, 5810 0x0200020200040004, 0x0200020204040004, 5811 0x0200020200000404, 0x0200020204000404, 5812 0x0200020200040404, 0x0200020204040404, 5813 0x0002020200000000, 0x0002020204000000, 5814 0x0002020200040000, 0x0002020204040000, 5815 0x0002020200000400, 0x0002020204000400, 5816 0x0002020200040400, 0x0002020204040400, 5817 0x0002020200000004, 0x0002020204000004, 5818 0x0002020200040004, 0x0002020204040004, 5819 0x0002020200000404, 0x0002020204000404, 5820 0x0002020200040404, 0x0002020204040404, 5821 0x0202020200000000, 0x0202020204000000, 5822 0x0202020200040000, 0x0202020204040000, 5823 0x0202020200000400, 0x0202020204000400, 5824 0x0202020200040400, 0x0202020204040400, 5825 0x0202020200000004, 0x0202020204000004, 5826 0x0202020200040004, 0x0202020204040004, 5827 0x0202020200000404, 0x0202020204000404, 5828 0x0202020200040404, 0x0202020204040404, 5829 0x0000000000000000, 0x0000000002000000, 5830 0x0000000000020000, 0x0000000002020000, 5831 0x0000000000000200, 0x0000000002000200, 5832 0x0000000000020200, 0x0000000002020200, 5833 0x0000000000000002, 0x0000000002000002, 5834 0x0000000000020002, 0x0000000002020002, 5835 0x0000000000000202, 0x0000000002000202, 5836 0x0000000000020202, 0x0000000002020202, 5837 0x0000000010000000, 0x0000000012000000, 5838 0x0000000010020000, 0x0000000012020000, 5839 0x0000000010000200, 0x0000000012000200, 5840 0x0000000010020200, 0x0000000012020200, 5841 0x0000000010000002, 0x0000000012000002, 5842 0x0000000010020002, 0x0000000012020002, 5843 0x0000000010000202, 0x0000000012000202, 5844 0x0000000010020202, 0x0000000012020202, 5845 0x0000000000100000, 0x0000000002100000, 5846 0x0000000000120000, 0x0000000002120000, 5847 0x0000000000100200, 0x0000000002100200, 5848 0x0000000000120200, 0x0000000002120200, 5849 0x0000000000100002, 0x0000000002100002, 5850 0x0000000000120002, 0x0000000002120002, 5851 0x0000000000100202, 0x0000000002100202, 5852 0x0000000000120202, 0x0000000002120202, 5853 0x0000000010100000, 0x0000000012100000, 5854 0x0000000010120000, 0x0000000012120000, 5855 0x0000000010100200, 0x0000000012100200, 5856 0x0000000010120200, 0x0000000012120200, 5857 0x0000000010100002, 0x0000000012100002, 5858 0x0000000010120002, 0x0000000012120002, 5859 0x0000000010100202, 0x0000000012100202, 5860 0x0000000010120202, 0x0000000012120202, 5861 0x0000000000001000, 0x0000000002001000, 5862 0x0000000000021000, 0x0000000002021000, 5863 0x0000000000001200, 0x0000000002001200, 5864 0x0000000000021200, 0x0000000002021200, 5865 0x0000000000001002, 0x0000000002001002, 5866 0x0000000000021002, 0x0000000002021002, 5867 0x0000000000001202, 0x0000000002001202, 5868 0x0000000000021202, 0x0000000002021202, 5869 0x0000000010001000, 0x0000000012001000, 5870 0x0000000010021000, 0x0000000012021000, 5871 0x0000000010001200, 0x0000000012001200, 5872 0x0000000010021200, 0x0000000012021200, 5873 0x0000000010001002, 0x0000000012001002, 5874 0x0000000010021002, 0x0000000012021002, 5875 0x0000000010001202, 0x0000000012001202, 5876 0x0000000010021202, 0x0000000012021202, 5877 0x0000000000101000, 0x0000000002101000, 5878 0x0000000000121000, 0x0000000002121000, 5879 0x0000000000101200, 0x0000000002101200, 5880 0x0000000000121200, 0x0000000002121200, 5881 0x0000000000101002, 0x0000000002101002, 5882 0x0000000000121002, 0x0000000002121002, 5883 0x0000000000101202, 0x0000000002101202, 5884 0x0000000000121202, 0x0000000002121202, 5885 0x0000000010101000, 0x0000000012101000, 5886 0x0000000010121000, 0x0000000012121000, 5887 0x0000000010101200, 0x0000000012101200, 5888 0x0000000010121200, 0x0000000012121200, 5889 0x0000000010101002, 0x0000000012101002, 5890 0x0000000010121002, 0x0000000012121002, 5891 0x0000000010101202, 0x0000000012101202, 5892 0x0000000010121202, 0x0000000012121202, 5893 0x0000000000000010, 0x0000000002000010, 5894 0x0000000000020010, 0x0000000002020010, 5895 0x0000000000000210, 0x0000000002000210, 5896 0x0000000000020210, 0x0000000002020210, 5897 0x0000000000000012, 0x0000000002000012, 5898 0x0000000000020012, 0x0000000002020012, 5899 0x0000000000000212, 0x0000000002000212, 5900 0x0000000000020212, 0x0000000002020212, 5901 0x0000000010000010, 0x0000000012000010, 5902 0x0000000010020010, 0x0000000012020010, 5903 0x0000000010000210, 0x0000000012000210, 5904 0x0000000010020210, 0x0000000012020210, 5905 0x0000000010000012, 0x0000000012000012, 5906 0x0000000010020012, 0x0000000012020012, 5907 0x0000000010000212, 0x0000000012000212, 5908 0x0000000010020212, 0x0000000012020212, 5909 0x0000000000100010, 0x0000000002100010, 5910 0x0000000000120010, 0x0000000002120010, 5911 0x0000000000100210, 0x0000000002100210, 5912 0x0000000000120210, 0x0000000002120210, 5913 0x0000000000100012, 0x0000000002100012, 5914 0x0000000000120012, 0x0000000002120012, 5915 0x0000000000100212, 0x0000000002100212, 5916 0x0000000000120212, 0x0000000002120212, 5917 0x0000000010100010, 0x0000000012100010, 5918 0x0000000010120010, 0x0000000012120010, 5919 0x0000000010100210, 0x0000000012100210, 5920 0x0000000010120210, 0x0000000012120210, 5921 0x0000000010100012, 0x0000000012100012, 5922 0x0000000010120012, 0x0000000012120012, 5923 0x0000000010100212, 0x0000000012100212, 5924 0x0000000010120212, 0x0000000012120212, 5925 0x0000000000001010, 0x0000000002001010, 5926 0x0000000000021010, 0x0000000002021010, 5927 0x0000000000001210, 0x0000000002001210, 5928 0x0000000000021210, 0x0000000002021210, 5929 0x0000000000001012, 0x0000000002001012, 5930 0x0000000000021012, 0x0000000002021012, 5931 0x0000000000001212, 0x0000000002001212, 5932 0x0000000000021212, 0x0000000002021212, 5933 0x0000000010001010, 0x0000000012001010, 5934 0x0000000010021010, 0x0000000012021010, 5935 0x0000000010001210, 0x0000000012001210, 5936 0x0000000010021210, 0x0000000012021210, 5937 0x0000000010001012, 0x0000000012001012, 5938 0x0000000010021012, 0x0000000012021012, 5939 0x0000000010001212, 0x0000000012001212, 5940 0x0000000010021212, 0x0000000012021212, 5941 0x0000000000101010, 0x0000000002101010, 5942 0x0000000000121010, 0x0000000002121010, 5943 0x0000000000101210, 0x0000000002101210, 5944 0x0000000000121210, 0x0000000002121210, 5945 0x0000000000101012, 0x0000000002101012, 5946 0x0000000000121012, 0x0000000002121012, 5947 0x0000000000101212, 0x0000000002101212, 5948 0x0000000000121212, 0x0000000002121212, 5949 0x0000000010101010, 0x0000000012101010, 5950 0x0000000010121010, 0x0000000012121010, 5951 0x0000000010101210, 0x0000000012101210, 5952 0x0000000010121210, 0x0000000012121210, 5953 0x0000000010101012, 0x0000000012101012, 5954 0x0000000010121012, 0x0000000012121012, 5955 0x0000000010101212, 0x0000000012101212, 5956 0x0000000010121212, 0x0000000012121212, 5957 0x0000000000000000, 0x2000000000000000, 5958 0x0020000000000000, 0x2020000000000000, 5959 0x0000200000000000, 0x2000200000000000, 5960 0x0020200000000000, 0x2020200000000000, 5961 0x0000002000000000, 0x2000002000000000, 5962 0x0020002000000000, 0x2020002000000000, 5963 0x0000202000000000, 0x2000202000000000, 5964 0x0020202000000000, 0x2020202000000000, 5965 0x0000000020000000, 0x2000000020000000, 5966 0x0020000020000000, 0x2020000020000000, 5967 0x0000200020000000, 0x2000200020000000, 5968 0x0020200020000000, 0x2020200020000000, 5969 0x0000002020000000, 0x2000002020000000, 5970 0x0020002020000000, 0x2020002020000000, 5971 0x0000202020000000, 0x2000202020000000, 5972 0x0020202020000000, 0x2020202020000000, 5973 0x0000000000200000, 0x2000000000200000, 5974 0x0020000000200000, 0x2020000000200000, 5975 0x0000200000200000, 0x2000200000200000, 5976 0x0020200000200000, 0x2020200000200000, 5977 0x0000002000200000, 0x2000002000200000, 5978 0x0020002000200000, 0x2020002000200000, 5979 0x0000202000200000, 0x2000202000200000, 5980 0x0020202000200000, 0x2020202000200000, 5981 0x0000000020200000, 0x2000000020200000, 5982 0x0020000020200000, 0x2020000020200000, 5983 0x0000200020200000, 0x2000200020200000, 5984 0x0020200020200000, 0x2020200020200000, 5985 0x0000002020200000, 0x2000002020200000, 5986 0x0020002020200000, 0x2020002020200000, 5987 0x0000202020200000, 0x2000202020200000, 5988 0x0020202020200000, 0x2020202020200000, 5989 0x0000000000002000, 0x2000000000002000, 5990 0x0020000000002000, 0x2020000000002000, 5991 0x0000200000002000, 0x2000200000002000, 5992 0x0020200000002000, 0x2020200000002000, 5993 0x0000002000002000, 0x2000002000002000, 5994 0x0020002000002000, 0x2020002000002000, 5995 0x0000202000002000, 0x2000202000002000, 5996 0x0020202000002000, 0x2020202000002000, 5997 0x0000000020002000, 0x2000000020002000, 5998 0x0020000020002000, 0x2020000020002000, 5999 0x0000200020002000, 0x2000200020002000, 6000 0x0020200020002000, 0x2020200020002000, 6001 0x0000002020002000, 0x2000002020002000, 6002 0x0020002020002000, 0x2020002020002000, 6003 0x0000202020002000, 0x2000202020002000, 6004 0x0020202020002000, 0x2020202020002000, 6005 0x0000000000202000, 0x2000000000202000, 6006 0x0020000000202000, 0x2020000000202000, 6007 0x0000200000202000, 0x2000200000202000, 6008 0x0020200000202000, 0x2020200000202000, 6009 0x0000002000202000, 0x2000002000202000, 6010 0x0020002000202000, 0x2020002000202000, 6011 0x0000202000202000, 0x2000202000202000, 6012 0x0020202000202000, 0x2020202000202000, 6013 0x0000000020202000, 0x2000000020202000, 6014 0x0020000020202000, 0x2020000020202000, 6015 0x0000200020202000, 0x2000200020202000, 6016 0x0020200020202000, 0x2020200020202000, 6017 0x0000002020202000, 0x2000002020202000, 6018 0x0020002020202000, 0x2020002020202000, 6019 0x0000202020202000, 0x2000202020202000, 6020 0x0020202020202000, 0x2020202020202000, 6021 0x0000000000000020, 0x2000000000000020, 6022 0x0020000000000020, 0x2020000000000020, 6023 0x0000200000000020, 0x2000200000000020, 6024 0x0020200000000020, 0x2020200000000020, 6025 0x0000002000000020, 0x2000002000000020, 6026 0x0020002000000020, 0x2020002000000020, 6027 0x0000202000000020, 0x2000202000000020, 6028 0x0020202000000020, 0x2020202000000020, 6029 0x0000000020000020, 0x2000000020000020, 6030 0x0020000020000020, 0x2020000020000020, 6031 0x0000200020000020, 0x2000200020000020, 6032 0x0020200020000020, 0x2020200020000020, 6033 0x0000002020000020, 0x2000002020000020, 6034 0x0020002020000020, 0x2020002020000020, 6035 0x0000202020000020, 0x2000202020000020, 6036 0x0020202020000020, 0x2020202020000020, 6037 0x0000000000200020, 0x2000000000200020, 6038 0x0020000000200020, 0x2020000000200020, 6039 0x0000200000200020, 0x2000200000200020, 6040 0x0020200000200020, 0x2020200000200020, 6041 0x0000002000200020, 0x2000002000200020, 6042 0x0020002000200020, 0x2020002000200020, 6043 0x0000202000200020, 0x2000202000200020, 6044 0x0020202000200020, 0x2020202000200020, 6045 0x0000000020200020, 0x2000000020200020, 6046 0x0020000020200020, 0x2020000020200020, 6047 0x0000200020200020, 0x2000200020200020, 6048 0x0020200020200020, 0x2020200020200020, 6049 0x0000002020200020, 0x2000002020200020, 6050 0x0020002020200020, 0x2020002020200020, 6051 0x0000202020200020, 0x2000202020200020, 6052 0x0020202020200020, 0x2020202020200020, 6053 0x0000000000002020, 0x2000000000002020, 6054 0x0020000000002020, 0x2020000000002020, 6055 0x0000200000002020, 0x2000200000002020, 6056 0x0020200000002020, 0x2020200000002020, 6057 0x0000002000002020, 0x2000002000002020, 6058 0x0020002000002020, 0x2020002000002020, 6059 0x0000202000002020, 0x2000202000002020, 6060 0x0020202000002020, 0x2020202000002020, 6061 0x0000000020002020, 0x2000000020002020, 6062 0x0020000020002020, 0x2020000020002020, 6063 0x0000200020002020, 0x2000200020002020, 6064 0x0020200020002020, 0x2020200020002020, 6065 0x0000002020002020, 0x2000002020002020, 6066 0x0020002020002020, 0x2020002020002020, 6067 0x0000202020002020, 0x2000202020002020, 6068 0x0020202020002020, 0x2020202020002020, 6069 0x0000000000202020, 0x2000000000202020, 6070 0x0020000000202020, 0x2020000000202020, 6071 0x0000200000202020, 0x2000200000202020, 6072 0x0020200000202020, 0x2020200000202020, 6073 0x0000002000202020, 0x2000002000202020, 6074 0x0020002000202020, 0x2020002000202020, 6075 0x0000202000202020, 0x2000202000202020, 6076 0x0020202000202020, 0x2020202000202020, 6077 0x0000000020202020, 0x2000000020202020, 6078 0x0020000020202020, 0x2020000020202020, 6079 0x0000200020202020, 0x2000200020202020, 6080 0x0020200020202020, 0x2020200020202020, 6081 0x0000002020202020, 0x2000002020202020, 6082 0x0020002020202020, 0x2020002020202020, 6083 0x0000202020202020, 0x2000202020202020, 6084 0x0020202020202020, 0x2020202020202020, 6085 0x0000000000000000, 0x4000000000000000, 6086 0x0040000000000000, 0x4040000000000000, 6087 0x0000400000000000, 0x4000400000000000, 6088 0x0040400000000000, 0x4040400000000000, 6089 0x0000004000000000, 0x4000004000000000, 6090 0x0040004000000000, 0x4040004000000000, 6091 0x0000404000000000, 0x4000404000000000, 6092 0x0040404000000000, 0x4040404000000000, 6093 0x0000000040000000, 0x4000000040000000, 6094 0x0040000040000000, 0x4040000040000000, 6095 0x0000400040000000, 0x4000400040000000, 6096 0x0040400040000000, 0x4040400040000000, 6097 0x0000004040000000, 0x4000004040000000, 6098 0x0040004040000000, 0x4040004040000000, 6099 0x0000404040000000, 0x4000404040000000, 6100 0x0040404040000000, 0x4040404040000000, 6101 0x0000000000400000, 0x4000000000400000, 6102 0x0040000000400000, 0x4040000000400000, 6103 0x0000400000400000, 0x4000400000400000, 6104 0x0040400000400000, 0x4040400000400000, 6105 0x0000004000400000, 0x4000004000400000, 6106 0x0040004000400000, 0x4040004000400000, 6107 0x0000404000400000, 0x4000404000400000, 6108 0x0040404000400000, 0x4040404000400000, 6109 0x0000000040400000, 0x4000000040400000, 6110 0x0040000040400000, 0x4040000040400000, 6111 0x0000400040400000, 0x4000400040400000, 6112 0x0040400040400000, 0x4040400040400000, 6113 0x0000004040400000, 0x4000004040400000, 6114 0x0040004040400000, 0x4040004040400000, 6115 0x0000404040400000, 0x4000404040400000, 6116 0x0040404040400000, 0x4040404040400000, 6117 0x0000000000004000, 0x4000000000004000, 6118 0x0040000000004000, 0x4040000000004000, 6119 0x0000400000004000, 0x4000400000004000, 6120 0x0040400000004000, 0x4040400000004000, 6121 0x0000004000004000, 0x4000004000004000, 6122 0x0040004000004000, 0x4040004000004000, 6123 0x0000404000004000, 0x4000404000004000, 6124 0x0040404000004000, 0x4040404000004000, 6125 0x0000000040004000, 0x4000000040004000, 6126 0x0040000040004000, 0x4040000040004000, 6127 0x0000400040004000, 0x4000400040004000, 6128 0x0040400040004000, 0x4040400040004000, 6129 0x0000004040004000, 0x4000004040004000, 6130 0x0040004040004000, 0x4040004040004000, 6131 0x0000404040004000, 0x4000404040004000, 6132 0x0040404040004000, 0x4040404040004000, 6133 0x0000000000404000, 0x4000000000404000, 6134 0x0040000000404000, 0x4040000000404000, 6135 0x0000400000404000, 0x4000400000404000, 6136 0x0040400000404000, 0x4040400000404000, 6137 0x0000004000404000, 0x4000004000404000, 6138 0x0040004000404000, 0x4040004000404000, 6139 0x0000404000404000, 0x4000404000404000, 6140 0x0040404000404000, 0x4040404000404000, 6141 0x0000000040404000, 0x4000000040404000, 6142 0x0040000040404000, 0x4040000040404000, 6143 0x0000400040404000, 0x4000400040404000, 6144 0x0040400040404000, 0x4040400040404000, 6145 0x0000004040404000, 0x4000004040404000, 6146 0x0040004040404000, 0x4040004040404000, 6147 0x0000404040404000, 0x4000404040404000, 6148 0x0040404040404000, 0x4040404040404000, 6149 0x0000000000000040, 0x4000000000000040, 6150 0x0040000000000040, 0x4040000000000040, 6151 0x0000400000000040, 0x4000400000000040, 6152 0x0040400000000040, 0x4040400000000040, 6153 0x0000004000000040, 0x4000004000000040, 6154 0x0040004000000040, 0x4040004000000040, 6155 0x0000404000000040, 0x4000404000000040, 6156 0x0040404000000040, 0x4040404000000040, 6157 0x0000000040000040, 0x4000000040000040, 6158 0x0040000040000040, 0x4040000040000040, 6159 0x0000400040000040, 0x4000400040000040, 6160 0x0040400040000040, 0x4040400040000040, 6161 0x0000004040000040, 0x4000004040000040, 6162 0x0040004040000040, 0x4040004040000040, 6163 0x0000404040000040, 0x4000404040000040, 6164 0x0040404040000040, 0x4040404040000040, 6165 0x0000000000400040, 0x4000000000400040, 6166 0x0040000000400040, 0x4040000000400040, 6167 0x0000400000400040, 0x4000400000400040, 6168 0x0040400000400040, 0x4040400000400040, 6169 0x0000004000400040, 0x4000004000400040, 6170 0x0040004000400040, 0x4040004000400040, 6171 0x0000404000400040, 0x4000404000400040, 6172 0x0040404000400040, 0x4040404000400040, 6173 0x0000000040400040, 0x4000000040400040, 6174 0x0040000040400040, 0x4040000040400040, 6175 0x0000400040400040, 0x4000400040400040, 6176 0x0040400040400040, 0x4040400040400040, 6177 0x0000004040400040, 0x4000004040400040, 6178 0x0040004040400040, 0x4040004040400040, 6179 0x0000404040400040, 0x4000404040400040, 6180 0x0040404040400040, 0x4040404040400040, 6181 0x0000000000004040, 0x4000000000004040, 6182 0x0040000000004040, 0x4040000000004040, 6183 0x0000400000004040, 0x4000400000004040, 6184 0x0040400000004040, 0x4040400000004040, 6185 0x0000004000004040, 0x4000004000004040, 6186 0x0040004000004040, 0x4040004000004040, 6187 0x0000404000004040, 0x4000404000004040, 6188 0x0040404000004040, 0x4040404000004040, 6189 0x0000000040004040, 0x4000000040004040, 6190 0x0040000040004040, 0x4040000040004040, 6191 0x0000400040004040, 0x4000400040004040, 6192 0x0040400040004040, 0x4040400040004040, 6193 0x0000004040004040, 0x4000004040004040, 6194 0x0040004040004040, 0x4040004040004040, 6195 0x0000404040004040, 0x4000404040004040, 6196 0x0040404040004040, 0x4040404040004040, 6197 0x0000000000404040, 0x4000000000404040, 6198 0x0040000000404040, 0x4040000000404040, 6199 0x0000400000404040, 0x4000400000404040, 6200 0x0040400000404040, 0x4040400000404040, 6201 0x0000004000404040, 0x4000004000404040, 6202 0x0040004000404040, 0x4040004000404040, 6203 0x0000404000404040, 0x4000404000404040, 6204 0x0040404000404040, 0x4040404000404040, 6205 0x0000000040404040, 0x4000000040404040, 6206 0x0040000040404040, 0x4040000040404040, 6207 0x0000400040404040, 0x4000400040404040, 6208 0x0040400040404040, 0x4040400040404040, 6209 0x0000004040404040, 0x4000004040404040, 6210 0x0040004040404040, 0x4040004040404040, 6211 0x0000404040404040, 0x4000404040404040, 6212 0x0040404040404040, 0x4040404040404040, 6213 0x0000000000000000, 0x8000000000000000, 6214 0x0080000000000000, 0x8080000000000000, 6215 0x0000800000000000, 0x8000800000000000, 6216 0x0080800000000000, 0x8080800000000000, 6217 0x0000008000000000, 0x8000008000000000, 6218 0x0080008000000000, 0x8080008000000000, 6219 0x0000808000000000, 0x8000808000000000, 6220 0x0080808000000000, 0x8080808000000000, 6221 0x0000000080000000, 0x8000000080000000, 6222 0x0080000080000000, 0x8080000080000000, 6223 0x0000800080000000, 0x8000800080000000, 6224 0x0080800080000000, 0x8080800080000000, 6225 0x0000008080000000, 0x8000008080000000, 6226 0x0080008080000000, 0x8080008080000000, 6227 0x0000808080000000, 0x8000808080000000, 6228 0x0080808080000000, 0x8080808080000000, 6229 0x0000000000800000, 0x8000000000800000, 6230 0x0080000000800000, 0x8080000000800000, 6231 0x0000800000800000, 0x8000800000800000, 6232 0x0080800000800000, 0x8080800000800000, 6233 0x0000008000800000, 0x8000008000800000, 6234 0x0080008000800000, 0x8080008000800000, 6235 0x0000808000800000, 0x8000808000800000, 6236 0x0080808000800000, 0x8080808000800000, 6237 0x0000000080800000, 0x8000000080800000, 6238 0x0080000080800000, 0x8080000080800000, 6239 0x0000800080800000, 0x8000800080800000, 6240 0x0080800080800000, 0x8080800080800000, 6241 0x0000008080800000, 0x8000008080800000, 6242 0x0080008080800000, 0x8080008080800000, 6243 0x0000808080800000, 0x8000808080800000, 6244 0x0080808080800000, 0x8080808080800000, 6245 0x0000000000008000, 0x8000000000008000, 6246 0x0080000000008000, 0x8080000000008000, 6247 0x0000800000008000, 0x8000800000008000, 6248 0x0080800000008000, 0x8080800000008000, 6249 0x0000008000008000, 0x8000008000008000, 6250 0x0080008000008000, 0x8080008000008000, 6251 0x0000808000008000, 0x8000808000008000, 6252 0x0080808000008000, 0x8080808000008000, 6253 0x0000000080008000, 0x8000000080008000, 6254 0x0080000080008000, 0x8080000080008000, 6255 0x0000800080008000, 0x8000800080008000, 6256 0x0080800080008000, 0x8080800080008000, 6257 0x0000008080008000, 0x8000008080008000, 6258 0x0080008080008000, 0x8080008080008000, 6259 0x0000808080008000, 0x8000808080008000, 6260 0x0080808080008000, 0x8080808080008000, 6261 0x0000000000808000, 0x8000000000808000, 6262 0x0080000000808000, 0x8080000000808000, 6263 0x0000800000808000, 0x8000800000808000, 6264 0x0080800000808000, 0x8080800000808000, 6265 0x0000008000808000, 0x8000008000808000, 6266 0x0080008000808000, 0x8080008000808000, 6267 0x0000808000808000, 0x8000808000808000, 6268 0x0080808000808000, 0x8080808000808000, 6269 0x0000000080808000, 0x8000000080808000, 6270 0x0080000080808000, 0x8080000080808000, 6271 0x0000800080808000, 0x8000800080808000, 6272 0x0080800080808000, 0x8080800080808000, 6273 0x0000008080808000, 0x8000008080808000, 6274 0x0080008080808000, 0x8080008080808000, 6275 0x0000808080808000, 0x8000808080808000, 6276 0x0080808080808000, 0x8080808080808000, 6277 0x0000000000000080, 0x8000000000000080, 6278 0x0080000000000080, 0x8080000000000080, 6279 0x0000800000000080, 0x8000800000000080, 6280 0x0080800000000080, 0x8080800000000080, 6281 0x0000008000000080, 0x8000008000000080, 6282 0x0080008000000080, 0x8080008000000080, 6283 0x0000808000000080, 0x8000808000000080, 6284 0x0080808000000080, 0x8080808000000080, 6285 0x0000000080000080, 0x8000000080000080, 6286 0x0080000080000080, 0x8080000080000080, 6287 0x0000800080000080, 0x8000800080000080, 6288 0x0080800080000080, 0x8080800080000080, 6289 0x0000008080000080, 0x8000008080000080, 6290 0x0080008080000080, 0x8080008080000080, 6291 0x0000808080000080, 0x8000808080000080, 6292 0x0080808080000080, 0x8080808080000080, 6293 0x0000000000800080, 0x8000000000800080, 6294 0x0080000000800080, 0x8080000000800080, 6295 0x0000800000800080, 0x8000800000800080, 6296 0x0080800000800080, 0x8080800000800080, 6297 0x0000008000800080, 0x8000008000800080, 6298 0x0080008000800080, 0x8080008000800080, 6299 0x0000808000800080, 0x8000808000800080, 6300 0x0080808000800080, 0x8080808000800080, 6301 0x0000000080800080, 0x8000000080800080, 6302 0x0080000080800080, 0x8080000080800080, 6303 0x0000800080800080, 0x8000800080800080, 6304 0x0080800080800080, 0x8080800080800080, 6305 0x0000008080800080, 0x8000008080800080, 6306 0x0080008080800080, 0x8080008080800080, 6307 0x0000808080800080, 0x8000808080800080, 6308 0x0080808080800080, 0x8080808080800080, 6309 0x0000000000008080, 0x8000000000008080, 6310 0x0080000000008080, 0x8080000000008080, 6311 0x0000800000008080, 0x8000800000008080, 6312 0x0080800000008080, 0x8080800000008080, 6313 0x0000008000008080, 0x8000008000008080, 6314 0x0080008000008080, 0x8080008000008080, 6315 0x0000808000008080, 0x8000808000008080, 6316 0x0080808000008080, 0x8080808000008080, 6317 0x0000000080008080, 0x8000000080008080, 6318 0x0080000080008080, 0x8080000080008080, 6319 0x0000800080008080, 0x8000800080008080, 6320 0x0080800080008080, 0x8080800080008080, 6321 0x0000008080008080, 0x8000008080008080, 6322 0x0080008080008080, 0x8080008080008080, 6323 0x0000808080008080, 0x8000808080008080, 6324 0x0080808080008080, 0x8080808080008080, 6325 0x0000000000808080, 0x8000000000808080, 6326 0x0080000000808080, 0x8080000000808080, 6327 0x0000800000808080, 0x8000800000808080, 6328 0x0080800000808080, 0x8080800000808080, 6329 0x0000008000808080, 0x8000008000808080, 6330 0x0080008000808080, 0x8080008000808080, 6331 0x0000808000808080, 0x8000808000808080, 6332 0x0080808000808080, 0x8080808000808080, 6333 0x0000000080808080, 0x8000000080808080, 6334 0x0080000080808080, 0x8080000080808080, 6335 0x0000800080808080, 0x8000800080808080, 6336 0x0080800080808080, 0x8080800080808080, 6337 0x0000008080808080, 0x8000008080808080, 6338 0x0080008080808080, 0x8080008080808080, 6339 0x0000808080808080, 0x8000808080808080, 6340 0x0080808080808080, 0x8080808080808080 6341) 6342 6343# PC2 permutation table 6344PC2_K = ( 6345 0x0000000000000000, 0x0000000000000100, 6346 0x0000000000040000, 0x0000000000040100, 6347 0x0000000000000000, 0x0000000000000100, 6348 0x0000000000040000, 0x0000000000040100, 6349 0x0000000000000040, 0x0000000000000140, 6350 0x0000000000040040, 0x0000000000040140, 6351 0x0000000000000040, 0x0000000000000140, 6352 0x0000000000040040, 0x0000000000040140, 6353 0x0000000000400000, 0x0000000000400100, 6354 0x0000000000440000, 0x0000000000440100, 6355 0x0000000000400000, 0x0000000000400100, 6356 0x0000000000440000, 0x0000000000440100, 6357 0x0000000000400040, 0x0000000000400140, 6358 0x0000000000440040, 0x0000000000440140, 6359 0x0000000000400040, 0x0000000000400140, 6360 0x0000000000440040, 0x0000000000440140, 6361 0x0000000000008000, 0x0000000000008100, 6362 0x0000000000048000, 0x0000000000048100, 6363 0x0000000000008000, 0x0000000000008100, 6364 0x0000000000048000, 0x0000000000048100, 6365 0x0000000000008040, 0x0000000000008140, 6366 0x0000000000048040, 0x0000000000048140, 6367 0x0000000000008040, 0x0000000000008140, 6368 0x0000000000048040, 0x0000000000048140, 6369 0x0000000000408000, 0x0000000000408100, 6370 0x0000000000448000, 0x0000000000448100, 6371 0x0000000000408000, 0x0000000000408100, 6372 0x0000000000448000, 0x0000000000448100, 6373 0x0000000000408040, 0x0000000000408140, 6374 0x0000000000448040, 0x0000000000448140, 6375 0x0000000000408040, 0x0000000000408140, 6376 0x0000000000448040, 0x0000000000448140, 6377 0x0000000000000008, 0x0000000000000108, 6378 0x0000000000040008, 0x0000000000040108, 6379 0x0000000000000008, 0x0000000000000108, 6380 0x0000000000040008, 0x0000000000040108, 6381 0x0000000000000048, 0x0000000000000148, 6382 0x0000000000040048, 0x0000000000040148, 6383 0x0000000000000048, 0x0000000000000148, 6384 0x0000000000040048, 0x0000000000040148, 6385 0x0000000000400008, 0x0000000000400108, 6386 0x0000000000440008, 0x0000000000440108, 6387 0x0000000000400008, 0x0000000000400108, 6388 0x0000000000440008, 0x0000000000440108, 6389 0x0000000000400048, 0x0000000000400148, 6390 0x0000000000440048, 0x0000000000440148, 6391 0x0000000000400048, 0x0000000000400148, 6392 0x0000000000440048, 0x0000000000440148, 6393 0x0000000000008008, 0x0000000000008108, 6394 0x0000000000048008, 0x0000000000048108, 6395 0x0000000000008008, 0x0000000000008108, 6396 0x0000000000048008, 0x0000000000048108, 6397 0x0000000000008048, 0x0000000000008148, 6398 0x0000000000048048, 0x0000000000048148, 6399 0x0000000000008048, 0x0000000000008148, 6400 0x0000000000048048, 0x0000000000048148, 6401 0x0000000000408008, 0x0000000000408108, 6402 0x0000000000448008, 0x0000000000448108, 6403 0x0000000000408008, 0x0000000000408108, 6404 0x0000000000448008, 0x0000000000448108, 6405 0x0000000000408048, 0x0000000000408148, 6406 0x0000000000448048, 0x0000000000448148, 6407 0x0000000000408048, 0x0000000000408148, 6408 0x0000000000448048, 0x0000000000448148, 6409 0x0000000000000400, 0x0000000000000500, 6410 0x0000000000040400, 0x0000000000040500, 6411 0x0000000000000400, 0x0000000000000500, 6412 0x0000000000040400, 0x0000000000040500, 6413 0x0000000000000440, 0x0000000000000540, 6414 0x0000000000040440, 0x0000000000040540, 6415 0x0000000000000440, 0x0000000000000540, 6416 0x0000000000040440, 0x0000000000040540, 6417 0x0000000000400400, 0x0000000000400500, 6418 0x0000000000440400, 0x0000000000440500, 6419 0x0000000000400400, 0x0000000000400500, 6420 0x0000000000440400, 0x0000000000440500, 6421 0x0000000000400440, 0x0000000000400540, 6422 0x0000000000440440, 0x0000000000440540, 6423 0x0000000000400440, 0x0000000000400540, 6424 0x0000000000440440, 0x0000000000440540, 6425 0x0000000000008400, 0x0000000000008500, 6426 0x0000000000048400, 0x0000000000048500, 6427 0x0000000000008400, 0x0000000000008500, 6428 0x0000000000048400, 0x0000000000048500, 6429 0x0000000000008440, 0x0000000000008540, 6430 0x0000000000048440, 0x0000000000048540, 6431 0x0000000000008440, 0x0000000000008540, 6432 0x0000000000048440, 0x0000000000048540, 6433 0x0000000000408400, 0x0000000000408500, 6434 0x0000000000448400, 0x0000000000448500, 6435 0x0000000000408400, 0x0000000000408500, 6436 0x0000000000448400, 0x0000000000448500, 6437 0x0000000000408440, 0x0000000000408540, 6438 0x0000000000448440, 0x0000000000448540, 6439 0x0000000000408440, 0x0000000000408540, 6440 0x0000000000448440, 0x0000000000448540, 6441 0x0000000000000408, 0x0000000000000508, 6442 0x0000000000040408, 0x0000000000040508, 6443 0x0000000000000408, 0x0000000000000508, 6444 0x0000000000040408, 0x0000000000040508, 6445 0x0000000000000448, 0x0000000000000548, 6446 0x0000000000040448, 0x0000000000040548, 6447 0x0000000000000448, 0x0000000000000548, 6448 0x0000000000040448, 0x0000000000040548, 6449 0x0000000000400408, 0x0000000000400508, 6450 0x0000000000440408, 0x0000000000440508, 6451 0x0000000000400408, 0x0000000000400508, 6452 0x0000000000440408, 0x0000000000440508, 6453 0x0000000000400448, 0x0000000000400548, 6454 0x0000000000440448, 0x0000000000440548, 6455 0x0000000000400448, 0x0000000000400548, 6456 0x0000000000440448, 0x0000000000440548, 6457 0x0000000000008408, 0x0000000000008508, 6458 0x0000000000048408, 0x0000000000048508, 6459 0x0000000000008408, 0x0000000000008508, 6460 0x0000000000048408, 0x0000000000048508, 6461 0x0000000000008448, 0x0000000000008548, 6462 0x0000000000048448, 0x0000000000048548, 6463 0x0000000000008448, 0x0000000000008548, 6464 0x0000000000048448, 0x0000000000048548, 6465 0x0000000000408408, 0x0000000000408508, 6466 0x0000000000448408, 0x0000000000448508, 6467 0x0000000000408408, 0x0000000000408508, 6468 0x0000000000448408, 0x0000000000448508, 6469 0x0000000000408448, 0x0000000000408548, 6470 0x0000000000448448, 0x0000000000448548, 6471 0x0000000000408448, 0x0000000000408548, 6472 0x0000000000448448, 0x0000000000448548, 6473 0x0000000000000000, 0x0000000000001000, 6474 0x0000000000080000, 0x0000000000081000, 6475 0x0000000000000020, 0x0000000000001020, 6476 0x0000000000080020, 0x0000000000081020, 6477 0x0000000000004000, 0x0000000000005000, 6478 0x0000000000084000, 0x0000000000085000, 6479 0x0000000000004020, 0x0000000000005020, 6480 0x0000000000084020, 0x0000000000085020, 6481 0x0000000000000800, 0x0000000000001800, 6482 0x0000000000080800, 0x0000000000081800, 6483 0x0000000000000820, 0x0000000000001820, 6484 0x0000000000080820, 0x0000000000081820, 6485 0x0000000000004800, 0x0000000000005800, 6486 0x0000000000084800, 0x0000000000085800, 6487 0x0000000000004820, 0x0000000000005820, 6488 0x0000000000084820, 0x0000000000085820, 6489 0x0000000000000000, 0x0000000000001000, 6490 0x0000000000080000, 0x0000000000081000, 6491 0x0000000000000020, 0x0000000000001020, 6492 0x0000000000080020, 0x0000000000081020, 6493 0x0000000000004000, 0x0000000000005000, 6494 0x0000000000084000, 0x0000000000085000, 6495 0x0000000000004020, 0x0000000000005020, 6496 0x0000000000084020, 0x0000000000085020, 6497 0x0000000000000800, 0x0000000000001800, 6498 0x0000000000080800, 0x0000000000081800, 6499 0x0000000000000820, 0x0000000000001820, 6500 0x0000000000080820, 0x0000000000081820, 6501 0x0000000000004800, 0x0000000000005800, 6502 0x0000000000084800, 0x0000000000085800, 6503 0x0000000000004820, 0x0000000000005820, 6504 0x0000000000084820, 0x0000000000085820, 6505 0x0000000000000010, 0x0000000000001010, 6506 0x0000000000080010, 0x0000000000081010, 6507 0x0000000000000030, 0x0000000000001030, 6508 0x0000000000080030, 0x0000000000081030, 6509 0x0000000000004010, 0x0000000000005010, 6510 0x0000000000084010, 0x0000000000085010, 6511 0x0000000000004030, 0x0000000000005030, 6512 0x0000000000084030, 0x0000000000085030, 6513 0x0000000000000810, 0x0000000000001810, 6514 0x0000000000080810, 0x0000000000081810, 6515 0x0000000000000830, 0x0000000000001830, 6516 0x0000000000080830, 0x0000000000081830, 6517 0x0000000000004810, 0x0000000000005810, 6518 0x0000000000084810, 0x0000000000085810, 6519 0x0000000000004830, 0x0000000000005830, 6520 0x0000000000084830, 0x0000000000085830, 6521 0x0000000000000010, 0x0000000000001010, 6522 0x0000000000080010, 0x0000000000081010, 6523 0x0000000000000030, 0x0000000000001030, 6524 0x0000000000080030, 0x0000000000081030, 6525 0x0000000000004010, 0x0000000000005010, 6526 0x0000000000084010, 0x0000000000085010, 6527 0x0000000000004030, 0x0000000000005030, 6528 0x0000000000084030, 0x0000000000085030, 6529 0x0000000000000810, 0x0000000000001810, 6530 0x0000000000080810, 0x0000000000081810, 6531 0x0000000000000830, 0x0000000000001830, 6532 0x0000000000080830, 0x0000000000081830, 6533 0x0000000000004810, 0x0000000000005810, 6534 0x0000000000084810, 0x0000000000085810, 6535 0x0000000000004830, 0x0000000000005830, 6536 0x0000000000084830, 0x0000000000085830, 6537 0x0000000000800000, 0x0000000000801000, 6538 0x0000000000880000, 0x0000000000881000, 6539 0x0000000000800020, 0x0000000000801020, 6540 0x0000000000880020, 0x0000000000881020, 6541 0x0000000000804000, 0x0000000000805000, 6542 0x0000000000884000, 0x0000000000885000, 6543 0x0000000000804020, 0x0000000000805020, 6544 0x0000000000884020, 0x0000000000885020, 6545 0x0000000000800800, 0x0000000000801800, 6546 0x0000000000880800, 0x0000000000881800, 6547 0x0000000000800820, 0x0000000000801820, 6548 0x0000000000880820, 0x0000000000881820, 6549 0x0000000000804800, 0x0000000000805800, 6550 0x0000000000884800, 0x0000000000885800, 6551 0x0000000000804820, 0x0000000000805820, 6552 0x0000000000884820, 0x0000000000885820, 6553 0x0000000000800000, 0x0000000000801000, 6554 0x0000000000880000, 0x0000000000881000, 6555 0x0000000000800020, 0x0000000000801020, 6556 0x0000000000880020, 0x0000000000881020, 6557 0x0000000000804000, 0x0000000000805000, 6558 0x0000000000884000, 0x0000000000885000, 6559 0x0000000000804020, 0x0000000000805020, 6560 0x0000000000884020, 0x0000000000885020, 6561 0x0000000000800800, 0x0000000000801800, 6562 0x0000000000880800, 0x0000000000881800, 6563 0x0000000000800820, 0x0000000000801820, 6564 0x0000000000880820, 0x0000000000881820, 6565 0x0000000000804800, 0x0000000000805800, 6566 0x0000000000884800, 0x0000000000885800, 6567 0x0000000000804820, 0x0000000000805820, 6568 0x0000000000884820, 0x0000000000885820, 6569 0x0000000000800010, 0x0000000000801010, 6570 0x0000000000880010, 0x0000000000881010, 6571 0x0000000000800030, 0x0000000000801030, 6572 0x0000000000880030, 0x0000000000881030, 6573 0x0000000000804010, 0x0000000000805010, 6574 0x0000000000884010, 0x0000000000885010, 6575 0x0000000000804030, 0x0000000000805030, 6576 0x0000000000884030, 0x0000000000885030, 6577 0x0000000000800810, 0x0000000000801810, 6578 0x0000000000880810, 0x0000000000881810, 6579 0x0000000000800830, 0x0000000000801830, 6580 0x0000000000880830, 0x0000000000881830, 6581 0x0000000000804810, 0x0000000000805810, 6582 0x0000000000884810, 0x0000000000885810, 6583 0x0000000000804830, 0x0000000000805830, 6584 0x0000000000884830, 0x0000000000885830, 6585 0x0000000000800010, 0x0000000000801010, 6586 0x0000000000880010, 0x0000000000881010, 6587 0x0000000000800030, 0x0000000000801030, 6588 0x0000000000880030, 0x0000000000881030, 6589 0x0000000000804010, 0x0000000000805010, 6590 0x0000000000884010, 0x0000000000885010, 6591 0x0000000000804030, 0x0000000000805030, 6592 0x0000000000884030, 0x0000000000885030, 6593 0x0000000000800810, 0x0000000000801810, 6594 0x0000000000880810, 0x0000000000881810, 6595 0x0000000000800830, 0x0000000000801830, 6596 0x0000000000880830, 0x0000000000881830, 6597 0x0000000000804810, 0x0000000000805810, 6598 0x0000000000884810, 0x0000000000885810, 6599 0x0000000000804830, 0x0000000000805830, 6600 0x0000000000884830, 0x0000000000885830, 6601 0x0000000000000000, 0x0000000000010000, 6602 0x0000000000000200, 0x0000000000010200, 6603 0x0000000000000000, 0x0000000000010000, 6604 0x0000000000000200, 0x0000000000010200, 6605 0x0000000000100000, 0x0000000000110000, 6606 0x0000000000100200, 0x0000000000110200, 6607 0x0000000000100000, 0x0000000000110000, 6608 0x0000000000100200, 0x0000000000110200, 6609 0x0000000000000004, 0x0000000000010004, 6610 0x0000000000000204, 0x0000000000010204, 6611 0x0000000000000004, 0x0000000000010004, 6612 0x0000000000000204, 0x0000000000010204, 6613 0x0000000000100004, 0x0000000000110004, 6614 0x0000000000100204, 0x0000000000110204, 6615 0x0000000000100004, 0x0000000000110004, 6616 0x0000000000100204, 0x0000000000110204, 6617 0x0000000000000000, 0x0000000000010000, 6618 0x0000000000000200, 0x0000000000010200, 6619 0x0000000000000000, 0x0000000000010000, 6620 0x0000000000000200, 0x0000000000010200, 6621 0x0000000000100000, 0x0000000000110000, 6622 0x0000000000100200, 0x0000000000110200, 6623 0x0000000000100000, 0x0000000000110000, 6624 0x0000000000100200, 0x0000000000110200, 6625 0x0000000000000004, 0x0000000000010004, 6626 0x0000000000000204, 0x0000000000010204, 6627 0x0000000000000004, 0x0000000000010004, 6628 0x0000000000000204, 0x0000000000010204, 6629 0x0000000000100004, 0x0000000000110004, 6630 0x0000000000100204, 0x0000000000110204, 6631 0x0000000000100004, 0x0000000000110004, 6632 0x0000000000100204, 0x0000000000110204, 6633 0x0000000000000080, 0x0000000000010080, 6634 0x0000000000000280, 0x0000000000010280, 6635 0x0000000000000080, 0x0000000000010080, 6636 0x0000000000000280, 0x0000000000010280, 6637 0x0000000000100080, 0x0000000000110080, 6638 0x0000000000100280, 0x0000000000110280, 6639 0x0000000000100080, 0x0000000000110080, 6640 0x0000000000100280, 0x0000000000110280, 6641 0x0000000000000084, 0x0000000000010084, 6642 0x0000000000000284, 0x0000000000010284, 6643 0x0000000000000084, 0x0000000000010084, 6644 0x0000000000000284, 0x0000000000010284, 6645 0x0000000000100084, 0x0000000000110084, 6646 0x0000000000100284, 0x0000000000110284, 6647 0x0000000000100084, 0x0000000000110084, 6648 0x0000000000100284, 0x0000000000110284, 6649 0x0000000000000080, 0x0000000000010080, 6650 0x0000000000000280, 0x0000000000010280, 6651 0x0000000000000080, 0x0000000000010080, 6652 0x0000000000000280, 0x0000000000010280, 6653 0x0000000000100080, 0x0000000000110080, 6654 0x0000000000100280, 0x0000000000110280, 6655 0x0000000000100080, 0x0000000000110080, 6656 0x0000000000100280, 0x0000000000110280, 6657 0x0000000000000084, 0x0000000000010084, 6658 0x0000000000000284, 0x0000000000010284, 6659 0x0000000000000084, 0x0000000000010084, 6660 0x0000000000000284, 0x0000000000010284, 6661 0x0000000000100084, 0x0000000000110084, 6662 0x0000000000100284, 0x0000000000110284, 6663 0x0000000000100084, 0x0000000000110084, 6664 0x0000000000100284, 0x0000000000110284, 6665 0x0000000000002000, 0x0000000000012000, 6666 0x0000000000002200, 0x0000000000012200, 6667 0x0000000000002000, 0x0000000000012000, 6668 0x0000000000002200, 0x0000000000012200, 6669 0x0000000000102000, 0x0000000000112000, 6670 0x0000000000102200, 0x0000000000112200, 6671 0x0000000000102000, 0x0000000000112000, 6672 0x0000000000102200, 0x0000000000112200, 6673 0x0000000000002004, 0x0000000000012004, 6674 0x0000000000002204, 0x0000000000012204, 6675 0x0000000000002004, 0x0000000000012004, 6676 0x0000000000002204, 0x0000000000012204, 6677 0x0000000000102004, 0x0000000000112004, 6678 0x0000000000102204, 0x0000000000112204, 6679 0x0000000000102004, 0x0000000000112004, 6680 0x0000000000102204, 0x0000000000112204, 6681 0x0000000000002000, 0x0000000000012000, 6682 0x0000000000002200, 0x0000000000012200, 6683 0x0000000000002000, 0x0000000000012000, 6684 0x0000000000002200, 0x0000000000012200, 6685 0x0000000000102000, 0x0000000000112000, 6686 0x0000000000102200, 0x0000000000112200, 6687 0x0000000000102000, 0x0000000000112000, 6688 0x0000000000102200, 0x0000000000112200, 6689 0x0000000000002004, 0x0000000000012004, 6690 0x0000000000002204, 0x0000000000012204, 6691 0x0000000000002004, 0x0000000000012004, 6692 0x0000000000002204, 0x0000000000012204, 6693 0x0000000000102004, 0x0000000000112004, 6694 0x0000000000102204, 0x0000000000112204, 6695 0x0000000000102004, 0x0000000000112004, 6696 0x0000000000102204, 0x0000000000112204, 6697 0x0000000000002080, 0x0000000000012080, 6698 0x0000000000002280, 0x0000000000012280, 6699 0x0000000000002080, 0x0000000000012080, 6700 0x0000000000002280, 0x0000000000012280, 6701 0x0000000000102080, 0x0000000000112080, 6702 0x0000000000102280, 0x0000000000112280, 6703 0x0000000000102080, 0x0000000000112080, 6704 0x0000000000102280, 0x0000000000112280, 6705 0x0000000000002084, 0x0000000000012084, 6706 0x0000000000002284, 0x0000000000012284, 6707 0x0000000000002084, 0x0000000000012084, 6708 0x0000000000002284, 0x0000000000012284, 6709 0x0000000000102084, 0x0000000000112084, 6710 0x0000000000102284, 0x0000000000112284, 6711 0x0000000000102084, 0x0000000000112084, 6712 0x0000000000102284, 0x0000000000112284, 6713 0x0000000000002080, 0x0000000000012080, 6714 0x0000000000002280, 0x0000000000012280, 6715 0x0000000000002080, 0x0000000000012080, 6716 0x0000000000002280, 0x0000000000012280, 6717 0x0000000000102080, 0x0000000000112080, 6718 0x0000000000102280, 0x0000000000112280, 6719 0x0000000000102080, 0x0000000000112080, 6720 0x0000000000102280, 0x0000000000112280, 6721 0x0000000000002084, 0x0000000000012084, 6722 0x0000000000002284, 0x0000000000012284, 6723 0x0000000000002084, 0x0000000000012084, 6724 0x0000000000002284, 0x0000000000012284, 6725 0x0000000000102084, 0x0000000000112084, 6726 0x0000000000102284, 0x0000000000112284, 6727 0x0000000000102084, 0x0000000000112084, 6728 0x0000000000102284, 0x0000000000112284, 6729 0x0000000000000000, 0x0000000000000001, 6730 0x0000000000200000, 0x0000000000200001, 6731 0x0000000000020000, 0x0000000000020001, 6732 0x0000000000220000, 0x0000000000220001, 6733 0x0000000000000002, 0x0000000000000003, 6734 0x0000000000200002, 0x0000000000200003, 6735 0x0000000000020002, 0x0000000000020003, 6736 0x0000000000220002, 0x0000000000220003, 6737 0x0000010000000000, 0x0000010000000001, 6738 0x0000010000200000, 0x0000010000200001, 6739 0x0000010000020000, 0x0000010000020001, 6740 0x0000010000220000, 0x0000010000220001, 6741 0x0000010000000002, 0x0000010000000003, 6742 0x0000010000200002, 0x0000010000200003, 6743 0x0000010000020002, 0x0000010000020003, 6744 0x0000010000220002, 0x0000010000220003, 6745 0x0000000008000000, 0x0000000008000001, 6746 0x0000000008200000, 0x0000000008200001, 6747 0x0000000008020000, 0x0000000008020001, 6748 0x0000000008220000, 0x0000000008220001, 6749 0x0000000008000002, 0x0000000008000003, 6750 0x0000000008200002, 0x0000000008200003, 6751 0x0000000008020002, 0x0000000008020003, 6752 0x0000000008220002, 0x0000000008220003, 6753 0x0000010008000000, 0x0000010008000001, 6754 0x0000010008200000, 0x0000010008200001, 6755 0x0000010008020000, 0x0000010008020001, 6756 0x0000010008220000, 0x0000010008220001, 6757 0x0000010008000002, 0x0000010008000003, 6758 0x0000010008200002, 0x0000010008200003, 6759 0x0000010008020002, 0x0000010008020003, 6760 0x0000010008220002, 0x0000010008220003, 6761 0x0000000080000000, 0x0000000080000001, 6762 0x0000000080200000, 0x0000000080200001, 6763 0x0000000080020000, 0x0000000080020001, 6764 0x0000000080220000, 0x0000000080220001, 6765 0x0000000080000002, 0x0000000080000003, 6766 0x0000000080200002, 0x0000000080200003, 6767 0x0000000080020002, 0x0000000080020003, 6768 0x0000000080220002, 0x0000000080220003, 6769 0x0000010080000000, 0x0000010080000001, 6770 0x0000010080200000, 0x0000010080200001, 6771 0x0000010080020000, 0x0000010080020001, 6772 0x0000010080220000, 0x0000010080220001, 6773 0x0000010080000002, 0x0000010080000003, 6774 0x0000010080200002, 0x0000010080200003, 6775 0x0000010080020002, 0x0000010080020003, 6776 0x0000010080220002, 0x0000010080220003, 6777 0x0000000088000000, 0x0000000088000001, 6778 0x0000000088200000, 0x0000000088200001, 6779 0x0000000088020000, 0x0000000088020001, 6780 0x0000000088220000, 0x0000000088220001, 6781 0x0000000088000002, 0x0000000088000003, 6782 0x0000000088200002, 0x0000000088200003, 6783 0x0000000088020002, 0x0000000088020003, 6784 0x0000000088220002, 0x0000000088220003, 6785 0x0000010088000000, 0x0000010088000001, 6786 0x0000010088200000, 0x0000010088200001, 6787 0x0000010088020000, 0x0000010088020001, 6788 0x0000010088220000, 0x0000010088220001, 6789 0x0000010088000002, 0x0000010088000003, 6790 0x0000010088200002, 0x0000010088200003, 6791 0x0000010088020002, 0x0000010088020003, 6792 0x0000010088220002, 0x0000010088220003, 6793 0x0000000000000000, 0x0000000000000001, 6794 0x0000000000200000, 0x0000000000200001, 6795 0x0000000000020000, 0x0000000000020001, 6796 0x0000000000220000, 0x0000000000220001, 6797 0x0000000000000002, 0x0000000000000003, 6798 0x0000000000200002, 0x0000000000200003, 6799 0x0000000000020002, 0x0000000000020003, 6800 0x0000000000220002, 0x0000000000220003, 6801 0x0000010000000000, 0x0000010000000001, 6802 0x0000010000200000, 0x0000010000200001, 6803 0x0000010000020000, 0x0000010000020001, 6804 0x0000010000220000, 0x0000010000220001, 6805 0x0000010000000002, 0x0000010000000003, 6806 0x0000010000200002, 0x0000010000200003, 6807 0x0000010000020002, 0x0000010000020003, 6808 0x0000010000220002, 0x0000010000220003, 6809 0x0000000008000000, 0x0000000008000001, 6810 0x0000000008200000, 0x0000000008200001, 6811 0x0000000008020000, 0x0000000008020001, 6812 0x0000000008220000, 0x0000000008220001, 6813 0x0000000008000002, 0x0000000008000003, 6814 0x0000000008200002, 0x0000000008200003, 6815 0x0000000008020002, 0x0000000008020003, 6816 0x0000000008220002, 0x0000000008220003, 6817 0x0000010008000000, 0x0000010008000001, 6818 0x0000010008200000, 0x0000010008200001, 6819 0x0000010008020000, 0x0000010008020001, 6820 0x0000010008220000, 0x0000010008220001, 6821 0x0000010008000002, 0x0000010008000003, 6822 0x0000010008200002, 0x0000010008200003, 6823 0x0000010008020002, 0x0000010008020003, 6824 0x0000010008220002, 0x0000010008220003, 6825 0x0000000080000000, 0x0000000080000001, 6826 0x0000000080200000, 0x0000000080200001, 6827 0x0000000080020000, 0x0000000080020001, 6828 0x0000000080220000, 0x0000000080220001, 6829 0x0000000080000002, 0x0000000080000003, 6830 0x0000000080200002, 0x0000000080200003, 6831 0x0000000080020002, 0x0000000080020003, 6832 0x0000000080220002, 0x0000000080220003, 6833 0x0000010080000000, 0x0000010080000001, 6834 0x0000010080200000, 0x0000010080200001, 6835 0x0000010080020000, 0x0000010080020001, 6836 0x0000010080220000, 0x0000010080220001, 6837 0x0000010080000002, 0x0000010080000003, 6838 0x0000010080200002, 0x0000010080200003, 6839 0x0000010080020002, 0x0000010080020003, 6840 0x0000010080220002, 0x0000010080220003, 6841 0x0000000088000000, 0x0000000088000001, 6842 0x0000000088200000, 0x0000000088200001, 6843 0x0000000088020000, 0x0000000088020001, 6844 0x0000000088220000, 0x0000000088220001, 6845 0x0000000088000002, 0x0000000088000003, 6846 0x0000000088200002, 0x0000000088200003, 6847 0x0000000088020002, 0x0000000088020003, 6848 0x0000000088220002, 0x0000000088220003, 6849 0x0000010088000000, 0x0000010088000001, 6850 0x0000010088200000, 0x0000010088200001, 6851 0x0000010088020000, 0x0000010088020001, 6852 0x0000010088220000, 0x0000010088220001, 6853 0x0000010088000002, 0x0000010088000003, 6854 0x0000010088200002, 0x0000010088200003, 6855 0x0000010088020002, 0x0000010088020003, 6856 0x0000010088220002, 0x0000010088220003, 6857 0x0000000000000000, 0x0000100000000000, 6858 0x0000000800000000, 0x0000100800000000, 6859 0x0000000000000000, 0x0000100000000000, 6860 0x0000000800000000, 0x0000100800000000, 6861 0x0000002000000000, 0x0000102000000000, 6862 0x0000002800000000, 0x0000102800000000, 6863 0x0000002000000000, 0x0000102000000000, 6864 0x0000002800000000, 0x0000102800000000, 6865 0x0000000004000000, 0x0000100004000000, 6866 0x0000000804000000, 0x0000100804000000, 6867 0x0000000004000000, 0x0000100004000000, 6868 0x0000000804000000, 0x0000100804000000, 6869 0x0000002004000000, 0x0000102004000000, 6870 0x0000002804000000, 0x0000102804000000, 6871 0x0000002004000000, 0x0000102004000000, 6872 0x0000002804000000, 0x0000102804000000, 6873 0x0000000400000000, 0x0000100400000000, 6874 0x0000000c00000000, 0x0000100c00000000, 6875 0x0000000400000000, 0x0000100400000000, 6876 0x0000000c00000000, 0x0000100c00000000, 6877 0x0000002400000000, 0x0000102400000000, 6878 0x0000002c00000000, 0x0000102c00000000, 6879 0x0000002400000000, 0x0000102400000000, 6880 0x0000002c00000000, 0x0000102c00000000, 6881 0x0000000404000000, 0x0000100404000000, 6882 0x0000000c04000000, 0x0000100c04000000, 6883 0x0000000404000000, 0x0000100404000000, 6884 0x0000000c04000000, 0x0000100c04000000, 6885 0x0000002404000000, 0x0000102404000000, 6886 0x0000002c04000000, 0x0000102c04000000, 6887 0x0000002404000000, 0x0000102404000000, 6888 0x0000002c04000000, 0x0000102c04000000, 6889 0x0000000000000000, 0x0000100000000000, 6890 0x0000000800000000, 0x0000100800000000, 6891 0x0000000000000000, 0x0000100000000000, 6892 0x0000000800000000, 0x0000100800000000, 6893 0x0000002000000000, 0x0000102000000000, 6894 0x0000002800000000, 0x0000102800000000, 6895 0x0000002000000000, 0x0000102000000000, 6896 0x0000002800000000, 0x0000102800000000, 6897 0x0000000004000000, 0x0000100004000000, 6898 0x0000000804000000, 0x0000100804000000, 6899 0x0000000004000000, 0x0000100004000000, 6900 0x0000000804000000, 0x0000100804000000, 6901 0x0000002004000000, 0x0000102004000000, 6902 0x0000002804000000, 0x0000102804000000, 6903 0x0000002004000000, 0x0000102004000000, 6904 0x0000002804000000, 0x0000102804000000, 6905 0x0000000400000000, 0x0000100400000000, 6906 0x0000000c00000000, 0x0000100c00000000, 6907 0x0000000400000000, 0x0000100400000000, 6908 0x0000000c00000000, 0x0000100c00000000, 6909 0x0000002400000000, 0x0000102400000000, 6910 0x0000002c00000000, 0x0000102c00000000, 6911 0x0000002400000000, 0x0000102400000000, 6912 0x0000002c00000000, 0x0000102c00000000, 6913 0x0000000404000000, 0x0000100404000000, 6914 0x0000000c04000000, 0x0000100c04000000, 6915 0x0000000404000000, 0x0000100404000000, 6916 0x0000000c04000000, 0x0000100c04000000, 6917 0x0000002404000000, 0x0000102404000000, 6918 0x0000002c04000000, 0x0000102c04000000, 6919 0x0000002404000000, 0x0000102404000000, 6920 0x0000002c04000000, 0x0000102c04000000, 6921 0x0000400000000000, 0x0000500000000000, 6922 0x0000400800000000, 0x0000500800000000, 6923 0x0000400000000000, 0x0000500000000000, 6924 0x0000400800000000, 0x0000500800000000, 6925 0x0000402000000000, 0x0000502000000000, 6926 0x0000402800000000, 0x0000502800000000, 6927 0x0000402000000000, 0x0000502000000000, 6928 0x0000402800000000, 0x0000502800000000, 6929 0x0000400004000000, 0x0000500004000000, 6930 0x0000400804000000, 0x0000500804000000, 6931 0x0000400004000000, 0x0000500004000000, 6932 0x0000400804000000, 0x0000500804000000, 6933 0x0000402004000000, 0x0000502004000000, 6934 0x0000402804000000, 0x0000502804000000, 6935 0x0000402004000000, 0x0000502004000000, 6936 0x0000402804000000, 0x0000502804000000, 6937 0x0000400400000000, 0x0000500400000000, 6938 0x0000400c00000000, 0x0000500c00000000, 6939 0x0000400400000000, 0x0000500400000000, 6940 0x0000400c00000000, 0x0000500c00000000, 6941 0x0000402400000000, 0x0000502400000000, 6942 0x0000402c00000000, 0x0000502c00000000, 6943 0x0000402400000000, 0x0000502400000000, 6944 0x0000402c00000000, 0x0000502c00000000, 6945 0x0000400404000000, 0x0000500404000000, 6946 0x0000400c04000000, 0x0000500c04000000, 6947 0x0000400404000000, 0x0000500404000000, 6948 0x0000400c04000000, 0x0000500c04000000, 6949 0x0000402404000000, 0x0000502404000000, 6950 0x0000402c04000000, 0x0000502c04000000, 6951 0x0000402404000000, 0x0000502404000000, 6952 0x0000402c04000000, 0x0000502c04000000, 6953 0x0000400000000000, 0x0000500000000000, 6954 0x0000400800000000, 0x0000500800000000, 6955 0x0000400000000000, 0x0000500000000000, 6956 0x0000400800000000, 0x0000500800000000, 6957 0x0000402000000000, 0x0000502000000000, 6958 0x0000402800000000, 0x0000502800000000, 6959 0x0000402000000000, 0x0000502000000000, 6960 0x0000402800000000, 0x0000502800000000, 6961 0x0000400004000000, 0x0000500004000000, 6962 0x0000400804000000, 0x0000500804000000, 6963 0x0000400004000000, 0x0000500004000000, 6964 0x0000400804000000, 0x0000500804000000, 6965 0x0000402004000000, 0x0000502004000000, 6966 0x0000402804000000, 0x0000502804000000, 6967 0x0000402004000000, 0x0000502004000000, 6968 0x0000402804000000, 0x0000502804000000, 6969 0x0000400400000000, 0x0000500400000000, 6970 0x0000400c00000000, 0x0000500c00000000, 6971 0x0000400400000000, 0x0000500400000000, 6972 0x0000400c00000000, 0x0000500c00000000, 6973 0x0000402400000000, 0x0000502400000000, 6974 0x0000402c00000000, 0x0000502c00000000, 6975 0x0000402400000000, 0x0000502400000000, 6976 0x0000402c00000000, 0x0000502c00000000, 6977 0x0000400404000000, 0x0000500404000000, 6978 0x0000400c04000000, 0x0000500c04000000, 6979 0x0000400404000000, 0x0000500404000000, 6980 0x0000400c04000000, 0x0000500c04000000, 6981 0x0000402404000000, 0x0000502404000000, 6982 0x0000402c04000000, 0x0000502c04000000, 6983 0x0000402404000000, 0x0000502404000000, 6984 0x0000402c04000000, 0x0000502c04000000, 6985 0x0000000000000000, 0x0000000020000000, 6986 0x0000008000000000, 0x0000008020000000, 6987 0x0000800000000000, 0x0000800020000000, 6988 0x0000808000000000, 0x0000808020000000, 6989 0x0000000002000000, 0x0000000022000000, 6990 0x0000008002000000, 0x0000008022000000, 6991 0x0000800002000000, 0x0000800022000000, 6992 0x0000808002000000, 0x0000808022000000, 6993 0x0000000200000000, 0x0000000220000000, 6994 0x0000008200000000, 0x0000008220000000, 6995 0x0000800200000000, 0x0000800220000000, 6996 0x0000808200000000, 0x0000808220000000, 6997 0x0000000202000000, 0x0000000222000000, 6998 0x0000008202000000, 0x0000008222000000, 6999 0x0000800202000000, 0x0000800222000000, 7000 0x0000808202000000, 0x0000808222000000, 7001 0x0000200000000000, 0x0000200020000000, 7002 0x0000208000000000, 0x0000208020000000, 7003 0x0000a00000000000, 0x0000a00020000000, 7004 0x0000a08000000000, 0x0000a08020000000, 7005 0x0000200002000000, 0x0000200022000000, 7006 0x0000208002000000, 0x0000208022000000, 7007 0x0000a00002000000, 0x0000a00022000000, 7008 0x0000a08002000000, 0x0000a08022000000, 7009 0x0000200200000000, 0x0000200220000000, 7010 0x0000208200000000, 0x0000208220000000, 7011 0x0000a00200000000, 0x0000a00220000000, 7012 0x0000a08200000000, 0x0000a08220000000, 7013 0x0000200202000000, 0x0000200222000000, 7014 0x0000208202000000, 0x0000208222000000, 7015 0x0000a00202000000, 0x0000a00222000000, 7016 0x0000a08202000000, 0x0000a08222000000, 7017 0x0000001000000000, 0x0000001020000000, 7018 0x0000009000000000, 0x0000009020000000, 7019 0x0000801000000000, 0x0000801020000000, 7020 0x0000809000000000, 0x0000809020000000, 7021 0x0000001002000000, 0x0000001022000000, 7022 0x0000009002000000, 0x0000009022000000, 7023 0x0000801002000000, 0x0000801022000000, 7024 0x0000809002000000, 0x0000809022000000, 7025 0x0000001200000000, 0x0000001220000000, 7026 0x0000009200000000, 0x0000009220000000, 7027 0x0000801200000000, 0x0000801220000000, 7028 0x0000809200000000, 0x0000809220000000, 7029 0x0000001202000000, 0x0000001222000000, 7030 0x0000009202000000, 0x0000009222000000, 7031 0x0000801202000000, 0x0000801222000000, 7032 0x0000809202000000, 0x0000809222000000, 7033 0x0000201000000000, 0x0000201020000000, 7034 0x0000209000000000, 0x0000209020000000, 7035 0x0000a01000000000, 0x0000a01020000000, 7036 0x0000a09000000000, 0x0000a09020000000, 7037 0x0000201002000000, 0x0000201022000000, 7038 0x0000209002000000, 0x0000209022000000, 7039 0x0000a01002000000, 0x0000a01022000000, 7040 0x0000a09002000000, 0x0000a09022000000, 7041 0x0000201200000000, 0x0000201220000000, 7042 0x0000209200000000, 0x0000209220000000, 7043 0x0000a01200000000, 0x0000a01220000000, 7044 0x0000a09200000000, 0x0000a09220000000, 7045 0x0000201202000000, 0x0000201222000000, 7046 0x0000209202000000, 0x0000209222000000, 7047 0x0000a01202000000, 0x0000a01222000000, 7048 0x0000a09202000000, 0x0000a09222000000, 7049 0x0000000000000000, 0x0000000020000000, 7050 0x0000008000000000, 0x0000008020000000, 7051 0x0000800000000000, 0x0000800020000000, 7052 0x0000808000000000, 0x0000808020000000, 7053 0x0000000002000000, 0x0000000022000000, 7054 0x0000008002000000, 0x0000008022000000, 7055 0x0000800002000000, 0x0000800022000000, 7056 0x0000808002000000, 0x0000808022000000, 7057 0x0000000200000000, 0x0000000220000000, 7058 0x0000008200000000, 0x0000008220000000, 7059 0x0000800200000000, 0x0000800220000000, 7060 0x0000808200000000, 0x0000808220000000, 7061 0x0000000202000000, 0x0000000222000000, 7062 0x0000008202000000, 0x0000008222000000, 7063 0x0000800202000000, 0x0000800222000000, 7064 0x0000808202000000, 0x0000808222000000, 7065 0x0000200000000000, 0x0000200020000000, 7066 0x0000208000000000, 0x0000208020000000, 7067 0x0000a00000000000, 0x0000a00020000000, 7068 0x0000a08000000000, 0x0000a08020000000, 7069 0x0000200002000000, 0x0000200022000000, 7070 0x0000208002000000, 0x0000208022000000, 7071 0x0000a00002000000, 0x0000a00022000000, 7072 0x0000a08002000000, 0x0000a08022000000, 7073 0x0000200200000000, 0x0000200220000000, 7074 0x0000208200000000, 0x0000208220000000, 7075 0x0000a00200000000, 0x0000a00220000000, 7076 0x0000a08200000000, 0x0000a08220000000, 7077 0x0000200202000000, 0x0000200222000000, 7078 0x0000208202000000, 0x0000208222000000, 7079 0x0000a00202000000, 0x0000a00222000000, 7080 0x0000a08202000000, 0x0000a08222000000, 7081 0x0000001000000000, 0x0000001020000000, 7082 0x0000009000000000, 0x0000009020000000, 7083 0x0000801000000000, 0x0000801020000000, 7084 0x0000809000000000, 0x0000809020000000, 7085 0x0000001002000000, 0x0000001022000000, 7086 0x0000009002000000, 0x0000009022000000, 7087 0x0000801002000000, 0x0000801022000000, 7088 0x0000809002000000, 0x0000809022000000, 7089 0x0000001200000000, 0x0000001220000000, 7090 0x0000009200000000, 0x0000009220000000, 7091 0x0000801200000000, 0x0000801220000000, 7092 0x0000809200000000, 0x0000809220000000, 7093 0x0000001202000000, 0x0000001222000000, 7094 0x0000009202000000, 0x0000009222000000, 7095 0x0000801202000000, 0x0000801222000000, 7096 0x0000809202000000, 0x0000809222000000, 7097 0x0000201000000000, 0x0000201020000000, 7098 0x0000209000000000, 0x0000209020000000, 7099 0x0000a01000000000, 0x0000a01020000000, 7100 0x0000a09000000000, 0x0000a09020000000, 7101 0x0000201002000000, 0x0000201022000000, 7102 0x0000209002000000, 0x0000209022000000, 7103 0x0000a01002000000, 0x0000a01022000000, 7104 0x0000a09002000000, 0x0000a09022000000, 7105 0x0000201200000000, 0x0000201220000000, 7106 0x0000209200000000, 0x0000209220000000, 7107 0x0000a01200000000, 0x0000a01220000000, 7108 0x0000a09200000000, 0x0000a09220000000, 7109 0x0000201202000000, 0x0000201222000000, 7110 0x0000209202000000, 0x0000209222000000, 7111 0x0000a01202000000, 0x0000a01222000000, 7112 0x0000a09202000000, 0x0000a09222000000, 7113 0x0000000000000000, 0x0000000040000000, 7114 0x0000000010000000, 0x0000000050000000, 7115 0x0000004000000000, 0x0000004040000000, 7116 0x0000004010000000, 0x0000004050000000, 7117 0x0000040000000000, 0x0000040040000000, 7118 0x0000040010000000, 0x0000040050000000, 7119 0x0000044000000000, 0x0000044040000000, 7120 0x0000044010000000, 0x0000044050000000, 7121 0x0000000100000000, 0x0000000140000000, 7122 0x0000000110000000, 0x0000000150000000, 7123 0x0000004100000000, 0x0000004140000000, 7124 0x0000004110000000, 0x0000004150000000, 7125 0x0000040100000000, 0x0000040140000000, 7126 0x0000040110000000, 0x0000040150000000, 7127 0x0000044100000000, 0x0000044140000000, 7128 0x0000044110000000, 0x0000044150000000, 7129 0x0000020000000000, 0x0000020040000000, 7130 0x0000020010000000, 0x0000020050000000, 7131 0x0000024000000000, 0x0000024040000000, 7132 0x0000024010000000, 0x0000024050000000, 7133 0x0000060000000000, 0x0000060040000000, 7134 0x0000060010000000, 0x0000060050000000, 7135 0x0000064000000000, 0x0000064040000000, 7136 0x0000064010000000, 0x0000064050000000, 7137 0x0000020100000000, 0x0000020140000000, 7138 0x0000020110000000, 0x0000020150000000, 7139 0x0000024100000000, 0x0000024140000000, 7140 0x0000024110000000, 0x0000024150000000, 7141 0x0000060100000000, 0x0000060140000000, 7142 0x0000060110000000, 0x0000060150000000, 7143 0x0000064100000000, 0x0000064140000000, 7144 0x0000064110000000, 0x0000064150000000, 7145 0x0000000001000000, 0x0000000041000000, 7146 0x0000000011000000, 0x0000000051000000, 7147 0x0000004001000000, 0x0000004041000000, 7148 0x0000004011000000, 0x0000004051000000, 7149 0x0000040001000000, 0x0000040041000000, 7150 0x0000040011000000, 0x0000040051000000, 7151 0x0000044001000000, 0x0000044041000000, 7152 0x0000044011000000, 0x0000044051000000, 7153 0x0000000101000000, 0x0000000141000000, 7154 0x0000000111000000, 0x0000000151000000, 7155 0x0000004101000000, 0x0000004141000000, 7156 0x0000004111000000, 0x0000004151000000, 7157 0x0000040101000000, 0x0000040141000000, 7158 0x0000040111000000, 0x0000040151000000, 7159 0x0000044101000000, 0x0000044141000000, 7160 0x0000044111000000, 0x0000044151000000, 7161 0x0000020001000000, 0x0000020041000000, 7162 0x0000020011000000, 0x0000020051000000, 7163 0x0000024001000000, 0x0000024041000000, 7164 0x0000024011000000, 0x0000024051000000, 7165 0x0000060001000000, 0x0000060041000000, 7166 0x0000060011000000, 0x0000060051000000, 7167 0x0000064001000000, 0x0000064041000000, 7168 0x0000064011000000, 0x0000064051000000, 7169 0x0000020101000000, 0x0000020141000000, 7170 0x0000020111000000, 0x0000020151000000, 7171 0x0000024101000000, 0x0000024141000000, 7172 0x0000024111000000, 0x0000024151000000, 7173 0x0000060101000000, 0x0000060141000000, 7174 0x0000060111000000, 0x0000060151000000, 7175 0x0000064101000000, 0x0000064141000000, 7176 0x0000064111000000, 0x0000064151000000, 7177 0x0000080000000000, 0x0000080040000000, 7178 0x0000080010000000, 0x0000080050000000, 7179 0x0000084000000000, 0x0000084040000000, 7180 0x0000084010000000, 0x0000084050000000, 7181 0x00000c0000000000, 0x00000c0040000000, 7182 0x00000c0010000000, 0x00000c0050000000, 7183 0x00000c4000000000, 0x00000c4040000000, 7184 0x00000c4010000000, 0x00000c4050000000, 7185 0x0000080100000000, 0x0000080140000000, 7186 0x0000080110000000, 0x0000080150000000, 7187 0x0000084100000000, 0x0000084140000000, 7188 0x0000084110000000, 0x0000084150000000, 7189 0x00000c0100000000, 0x00000c0140000000, 7190 0x00000c0110000000, 0x00000c0150000000, 7191 0x00000c4100000000, 0x00000c4140000000, 7192 0x00000c4110000000, 0x00000c4150000000, 7193 0x00000a0000000000, 0x00000a0040000000, 7194 0x00000a0010000000, 0x00000a0050000000, 7195 0x00000a4000000000, 0x00000a4040000000, 7196 0x00000a4010000000, 0x00000a4050000000, 7197 0x00000e0000000000, 0x00000e0040000000, 7198 0x00000e0010000000, 0x00000e0050000000, 7199 0x00000e4000000000, 0x00000e4040000000, 7200 0x00000e4010000000, 0x00000e4050000000, 7201 0x00000a0100000000, 0x00000a0140000000, 7202 0x00000a0110000000, 0x00000a0150000000, 7203 0x00000a4100000000, 0x00000a4140000000, 7204 0x00000a4110000000, 0x00000a4150000000, 7205 0x00000e0100000000, 0x00000e0140000000, 7206 0x00000e0110000000, 0x00000e0150000000, 7207 0x00000e4100000000, 0x00000e4140000000, 7208 0x00000e4110000000, 0x00000e4150000000, 7209 0x0000080001000000, 0x0000080041000000, 7210 0x0000080011000000, 0x0000080051000000, 7211 0x0000084001000000, 0x0000084041000000, 7212 0x0000084011000000, 0x0000084051000000, 7213 0x00000c0001000000, 0x00000c0041000000, 7214 0x00000c0011000000, 0x00000c0051000000, 7215 0x00000c4001000000, 0x00000c4041000000, 7216 0x00000c4011000000, 0x00000c4051000000, 7217 0x0000080101000000, 0x0000080141000000, 7218 0x0000080111000000, 0x0000080151000000, 7219 0x0000084101000000, 0x0000084141000000, 7220 0x0000084111000000, 0x0000084151000000, 7221 0x00000c0101000000, 0x00000c0141000000, 7222 0x00000c0111000000, 0x00000c0151000000, 7223 0x00000c4101000000, 0x00000c4141000000, 7224 0x00000c4111000000, 0x00000c4151000000, 7225 0x00000a0001000000, 0x00000a0041000000, 7226 0x00000a0011000000, 0x00000a0051000000, 7227 0x00000a4001000000, 0x00000a4041000000, 7228 0x00000a4011000000, 0x00000a4051000000, 7229 0x00000e0001000000, 0x00000e0041000000, 7230 0x00000e0011000000, 0x00000e0051000000, 7231 0x00000e4001000000, 0x00000e4041000000, 7232 0x00000e4011000000, 0x00000e4051000000, 7233 0x00000a0101000000, 0x00000a0141000000, 7234 0x00000a0111000000, 0x00000a0151000000, 7235 0x00000a4101000000, 0x00000a4141000000, 7236 0x00000a4111000000, 0x00000a4151000000, 7237 0x00000e0101000000, 0x00000e0141000000, 7238 0x00000e0111000000, 0x00000e0151000000, 7239 0x00000e4101000000, 0x00000e4141000000, 7240 0x00000e4111000000, 0x00000e4151000000 7241) 7242 7243# Inverse PC2 permutation table 7244N_PC2_K = ( 7245 0x0000000000000000, 0x0000000001000000, 7246 0x0000000008000000, 0x0000000009000000, 7247 0x0000000000100000, 0x0000000001100000, 7248 0x0000000008100000, 0x0000000009100000, 7249 0x0000000000000040, 0x0000000001000040, 7250 0x0000000008000040, 0x0000000009000040, 7251 0x0000000000100040, 0x0000000001100040, 7252 0x0000000008100040, 0x0000000009100040, 7253 0x0000000000004000, 0x0000000001004000, 7254 0x0000000008004000, 0x0000000009004000, 7255 0x0000000000104000, 0x0000000001104000, 7256 0x0000000008104000, 0x0000000009104000, 7257 0x0000000000004040, 0x0000000001004040, 7258 0x0000000008004040, 0x0000000009004040, 7259 0x0000000000104040, 0x0000000001104040, 7260 0x0000000008104040, 0x0000000009104040, 7261 0x0000000000000400, 0x0000000001000400, 7262 0x0000000008000400, 0x0000000009000400, 7263 0x0000000000100400, 0x0000000001100400, 7264 0x0000000008100400, 0x0000000009100400, 7265 0x0000000000000440, 0x0000000001000440, 7266 0x0000000008000440, 0x0000000009000440, 7267 0x0000000000100440, 0x0000000001100440, 7268 0x0000000008100440, 0x0000000009100440, 7269 0x0000000000004400, 0x0000000001004400, 7270 0x0000000008004400, 0x0000000009004400, 7271 0x0000000000104400, 0x0000000001104400, 7272 0x0000000008104400, 0x0000000009104400, 7273 0x0000000000004440, 0x0000000001004440, 7274 0x0000000008004440, 0x0000000009004440, 7275 0x0000000000104440, 0x0000000001104440, 7276 0x0000000008104440, 0x0000000009104440, 7277 0x0000000000000008, 0x0000000001000008, 7278 0x0000000008000008, 0x0000000009000008, 7279 0x0000000000100008, 0x0000000001100008, 7280 0x0000000008100008, 0x0000000009100008, 7281 0x0000000000000048, 0x0000000001000048, 7282 0x0000000008000048, 0x0000000009000048, 7283 0x0000000000100048, 0x0000000001100048, 7284 0x0000000008100048, 0x0000000009100048, 7285 0x0000000000004008, 0x0000000001004008, 7286 0x0000000008004008, 0x0000000009004008, 7287 0x0000000000104008, 0x0000000001104008, 7288 0x0000000008104008, 0x0000000009104008, 7289 0x0000000000004048, 0x0000000001004048, 7290 0x0000000008004048, 0x0000000009004048, 7291 0x0000000000104048, 0x0000000001104048, 7292 0x0000000008104048, 0x0000000009104048, 7293 0x0000000000000408, 0x0000000001000408, 7294 0x0000000008000408, 0x0000000009000408, 7295 0x0000000000100408, 0x0000000001100408, 7296 0x0000000008100408, 0x0000000009100408, 7297 0x0000000000000448, 0x0000000001000448, 7298 0x0000000008000448, 0x0000000009000448, 7299 0x0000000000100448, 0x0000000001100448, 7300 0x0000000008100448, 0x0000000009100448, 7301 0x0000000000004408, 0x0000000001004408, 7302 0x0000000008004408, 0x0000000009004408, 7303 0x0000000000104408, 0x0000000001104408, 7304 0x0000000008104408, 0x0000000009104408, 7305 0x0000000000004448, 0x0000000001004448, 7306 0x0000000008004448, 0x0000000009004448, 7307 0x0000000000104448, 0x0000000001104448, 7308 0x0000000008104448, 0x0000000009104448, 7309 0x0000000000400000, 0x0000000001400000, 7310 0x0000000008400000, 0x0000000009400000, 7311 0x0000000000500000, 0x0000000001500000, 7312 0x0000000008500000, 0x0000000009500000, 7313 0x0000000000400040, 0x0000000001400040, 7314 0x0000000008400040, 0x0000000009400040, 7315 0x0000000000500040, 0x0000000001500040, 7316 0x0000000008500040, 0x0000000009500040, 7317 0x0000000000404000, 0x0000000001404000, 7318 0x0000000008404000, 0x0000000009404000, 7319 0x0000000000504000, 0x0000000001504000, 7320 0x0000000008504000, 0x0000000009504000, 7321 0x0000000000404040, 0x0000000001404040, 7322 0x0000000008404040, 0x0000000009404040, 7323 0x0000000000504040, 0x0000000001504040, 7324 0x0000000008504040, 0x0000000009504040, 7325 0x0000000000400400, 0x0000000001400400, 7326 0x0000000008400400, 0x0000000009400400, 7327 0x0000000000500400, 0x0000000001500400, 7328 0x0000000008500400, 0x0000000009500400, 7329 0x0000000000400440, 0x0000000001400440, 7330 0x0000000008400440, 0x0000000009400440, 7331 0x0000000000500440, 0x0000000001500440, 7332 0x0000000008500440, 0x0000000009500440, 7333 0x0000000000404400, 0x0000000001404400, 7334 0x0000000008404400, 0x0000000009404400, 7335 0x0000000000504400, 0x0000000001504400, 7336 0x0000000008504400, 0x0000000009504400, 7337 0x0000000000404440, 0x0000000001404440, 7338 0x0000000008404440, 0x0000000009404440, 7339 0x0000000000504440, 0x0000000001504440, 7340 0x0000000008504440, 0x0000000009504440, 7341 0x0000000000400008, 0x0000000001400008, 7342 0x0000000008400008, 0x0000000009400008, 7343 0x0000000000500008, 0x0000000001500008, 7344 0x0000000008500008, 0x0000000009500008, 7345 0x0000000000400048, 0x0000000001400048, 7346 0x0000000008400048, 0x0000000009400048, 7347 0x0000000000500048, 0x0000000001500048, 7348 0x0000000008500048, 0x0000000009500048, 7349 0x0000000000404008, 0x0000000001404008, 7350 0x0000000008404008, 0x0000000009404008, 7351 0x0000000000504008, 0x0000000001504008, 7352 0x0000000008504008, 0x0000000009504008, 7353 0x0000000000404048, 0x0000000001404048, 7354 0x0000000008404048, 0x0000000009404048, 7355 0x0000000000504048, 0x0000000001504048, 7356 0x0000000008504048, 0x0000000009504048, 7357 0x0000000000400408, 0x0000000001400408, 7358 0x0000000008400408, 0x0000000009400408, 7359 0x0000000000500408, 0x0000000001500408, 7360 0x0000000008500408, 0x0000000009500408, 7361 0x0000000000400448, 0x0000000001400448, 7362 0x0000000008400448, 0x0000000009400448, 7363 0x0000000000500448, 0x0000000001500448, 7364 0x0000000008500448, 0x0000000009500448, 7365 0x0000000000404408, 0x0000000001404408, 7366 0x0000000008404408, 0x0000000009404408, 7367 0x0000000000504408, 0x0000000001504408, 7368 0x0000000008504408, 0x0000000009504408, 7369 0x0000000000404448, 0x0000000001404448, 7370 0x0000000008404448, 0x0000000009404448, 7371 0x0000000000504448, 0x0000000001504448, 7372 0x0000000008504448, 0x0000000009504448, 7373 0x0000000000000000, 0x0000000000000001, 7374 0x0000000000020000, 0x0000000000020001, 7375 0x0000000000000080, 0x0000000000000081, 7376 0x0000000000020080, 0x0000000000020081, 7377 0x0000000000001000, 0x0000000000001001, 7378 0x0000000000021000, 0x0000000000021001, 7379 0x0000000000001080, 0x0000000000001081, 7380 0x0000000000021080, 0x0000000000021081, 7381 0x0000000000000100, 0x0000000000000101, 7382 0x0000000000020100, 0x0000000000020101, 7383 0x0000000000000180, 0x0000000000000181, 7384 0x0000000000020180, 0x0000000000020181, 7385 0x0000000000001100, 0x0000000000001101, 7386 0x0000000000021100, 0x0000000000021101, 7387 0x0000000000001180, 0x0000000000001181, 7388 0x0000000000021180, 0x0000000000021181, 7389 0x0000000000800000, 0x0000000000800001, 7390 0x0000000000820000, 0x0000000000820001, 7391 0x0000000000800080, 0x0000000000800081, 7392 0x0000000000820080, 0x0000000000820081, 7393 0x0000000000801000, 0x0000000000801001, 7394 0x0000000000821000, 0x0000000000821001, 7395 0x0000000000801080, 0x0000000000801081, 7396 0x0000000000821080, 0x0000000000821081, 7397 0x0000000000800100, 0x0000000000800101, 7398 0x0000000000820100, 0x0000000000820101, 7399 0x0000000000800180, 0x0000000000800181, 7400 0x0000000000820180, 0x0000000000820181, 7401 0x0000000000801100, 0x0000000000801101, 7402 0x0000000000821100, 0x0000000000821101, 7403 0x0000000000801180, 0x0000000000801181, 7404 0x0000000000821180, 0x0000000000821181, 7405 0x0000000000000800, 0x0000000000000801, 7406 0x0000000000020800, 0x0000000000020801, 7407 0x0000000000000880, 0x0000000000000881, 7408 0x0000000000020880, 0x0000000000020881, 7409 0x0000000000001800, 0x0000000000001801, 7410 0x0000000000021800, 0x0000000000021801, 7411 0x0000000000001880, 0x0000000000001881, 7412 0x0000000000021880, 0x0000000000021881, 7413 0x0000000000000900, 0x0000000000000901, 7414 0x0000000000020900, 0x0000000000020901, 7415 0x0000000000000980, 0x0000000000000981, 7416 0x0000000000020980, 0x0000000000020981, 7417 0x0000000000001900, 0x0000000000001901, 7418 0x0000000000021900, 0x0000000000021901, 7419 0x0000000000001980, 0x0000000000001981, 7420 0x0000000000021980, 0x0000000000021981, 7421 0x0000000000800800, 0x0000000000800801, 7422 0x0000000000820800, 0x0000000000820801, 7423 0x0000000000800880, 0x0000000000800881, 7424 0x0000000000820880, 0x0000000000820881, 7425 0x0000000000801800, 0x0000000000801801, 7426 0x0000000000821800, 0x0000000000821801, 7427 0x0000000000801880, 0x0000000000801881, 7428 0x0000000000821880, 0x0000000000821881, 7429 0x0000000000800900, 0x0000000000800901, 7430 0x0000000000820900, 0x0000000000820901, 7431 0x0000000000800980, 0x0000000000800981, 7432 0x0000000000820980, 0x0000000000820981, 7433 0x0000000000801900, 0x0000000000801901, 7434 0x0000000000821900, 0x0000000000821901, 7435 0x0000000000801980, 0x0000000000801981, 7436 0x0000000000821980, 0x0000000000821981, 7437 0x0000000000000020, 0x0000000000000021, 7438 0x0000000000020020, 0x0000000000020021, 7439 0x00000000000000a0, 0x00000000000000a1, 7440 0x00000000000200a0, 0x00000000000200a1, 7441 0x0000000000001020, 0x0000000000001021, 7442 0x0000000000021020, 0x0000000000021021, 7443 0x00000000000010a0, 0x00000000000010a1, 7444 0x00000000000210a0, 0x00000000000210a1, 7445 0x0000000000000120, 0x0000000000000121, 7446 0x0000000000020120, 0x0000000000020121, 7447 0x00000000000001a0, 0x00000000000001a1, 7448 0x00000000000201a0, 0x00000000000201a1, 7449 0x0000000000001120, 0x0000000000001121, 7450 0x0000000000021120, 0x0000000000021121, 7451 0x00000000000011a0, 0x00000000000011a1, 7452 0x00000000000211a0, 0x00000000000211a1, 7453 0x0000000000800020, 0x0000000000800021, 7454 0x0000000000820020, 0x0000000000820021, 7455 0x00000000008000a0, 0x00000000008000a1, 7456 0x00000000008200a0, 0x00000000008200a1, 7457 0x0000000000801020, 0x0000000000801021, 7458 0x0000000000821020, 0x0000000000821021, 7459 0x00000000008010a0, 0x00000000008010a1, 7460 0x00000000008210a0, 0x00000000008210a1, 7461 0x0000000000800120, 0x0000000000800121, 7462 0x0000000000820120, 0x0000000000820121, 7463 0x00000000008001a0, 0x00000000008001a1, 7464 0x00000000008201a0, 0x00000000008201a1, 7465 0x0000000000801120, 0x0000000000801121, 7466 0x0000000000821120, 0x0000000000821121, 7467 0x00000000008011a0, 0x00000000008011a1, 7468 0x00000000008211a0, 0x00000000008211a1, 7469 0x0000000000000820, 0x0000000000000821, 7470 0x0000000000020820, 0x0000000000020821, 7471 0x00000000000008a0, 0x00000000000008a1, 7472 0x00000000000208a0, 0x00000000000208a1, 7473 0x0000000000001820, 0x0000000000001821, 7474 0x0000000000021820, 0x0000000000021821, 7475 0x00000000000018a0, 0x00000000000018a1, 7476 0x00000000000218a0, 0x00000000000218a1, 7477 0x0000000000000920, 0x0000000000000921, 7478 0x0000000000020920, 0x0000000000020921, 7479 0x00000000000009a0, 0x00000000000009a1, 7480 0x00000000000209a0, 0x00000000000209a1, 7481 0x0000000000001920, 0x0000000000001921, 7482 0x0000000000021920, 0x0000000000021921, 7483 0x00000000000019a0, 0x00000000000019a1, 7484 0x00000000000219a0, 0x00000000000219a1, 7485 0x0000000000800820, 0x0000000000800821, 7486 0x0000000000820820, 0x0000000000820821, 7487 0x00000000008008a0, 0x00000000008008a1, 7488 0x00000000008208a0, 0x00000000008208a1, 7489 0x0000000000801820, 0x0000000000801821, 7490 0x0000000000821820, 0x0000000000821821, 7491 0x00000000008018a0, 0x00000000008018a1, 7492 0x00000000008218a0, 0x00000000008218a1, 7493 0x0000000000800920, 0x0000000000800921, 7494 0x0000000000820920, 0x0000000000820921, 7495 0x00000000008009a0, 0x00000000008009a1, 7496 0x00000000008209a0, 0x00000000008209a1, 7497 0x0000000000801920, 0x0000000000801921, 7498 0x0000000000821920, 0x0000000000821921, 7499 0x00000000008019a0, 0x00000000008019a1, 7500 0x00000000008219a0, 0x00000000008219a1, 7501 0x0000000000000000, 0x0000000000010000, 7502 0x0000000004000000, 0x0000000004010000, 7503 0x0000000000000002, 0x0000000000010002, 7504 0x0000000004000002, 0x0000000004010002, 7505 0x0000000000000200, 0x0000000000010200, 7506 0x0000000004000200, 0x0000000004010200, 7507 0x0000000000000202, 0x0000000000010202, 7508 0x0000000004000202, 0x0000000004010202, 7509 0x0000000000080000, 0x0000000000090000, 7510 0x0000000004080000, 0x0000000004090000, 7511 0x0000000000080002, 0x0000000000090002, 7512 0x0000000004080002, 0x0000000004090002, 7513 0x0000000000080200, 0x0000000000090200, 7514 0x0000000004080200, 0x0000000004090200, 7515 0x0000000000080202, 0x0000000000090202, 7516 0x0000000004080202, 0x0000000004090202, 7517 0x0000000002000000, 0x0000000002010000, 7518 0x0000000006000000, 0x0000000006010000, 7519 0x0000000002000002, 0x0000000002010002, 7520 0x0000000006000002, 0x0000000006010002, 7521 0x0000000002000200, 0x0000000002010200, 7522 0x0000000006000200, 0x0000000006010200, 7523 0x0000000002000202, 0x0000000002010202, 7524 0x0000000006000202, 0x0000000006010202, 7525 0x0000000002080000, 0x0000000002090000, 7526 0x0000000006080000, 0x0000000006090000, 7527 0x0000000002080002, 0x0000000002090002, 7528 0x0000000006080002, 0x0000000006090002, 7529 0x0000000002080200, 0x0000000002090200, 7530 0x0000000006080200, 0x0000000006090200, 7531 0x0000000002080202, 0x0000000002090202, 7532 0x0000000006080202, 0x0000000006090202, 7533 0x0000000000000010, 0x0000000000010010, 7534 0x0000000004000010, 0x0000000004010010, 7535 0x0000000000000012, 0x0000000000010012, 7536 0x0000000004000012, 0x0000000004010012, 7537 0x0000000000000210, 0x0000000000010210, 7538 0x0000000004000210, 0x0000000004010210, 7539 0x0000000000000212, 0x0000000000010212, 7540 0x0000000004000212, 0x0000000004010212, 7541 0x0000000000080010, 0x0000000000090010, 7542 0x0000000004080010, 0x0000000004090010, 7543 0x0000000000080012, 0x0000000000090012, 7544 0x0000000004080012, 0x0000000004090012, 7545 0x0000000000080210, 0x0000000000090210, 7546 0x0000000004080210, 0x0000000004090210, 7547 0x0000000000080212, 0x0000000000090212, 7548 0x0000000004080212, 0x0000000004090212, 7549 0x0000000002000010, 0x0000000002010010, 7550 0x0000000006000010, 0x0000000006010010, 7551 0x0000000002000012, 0x0000000002010012, 7552 0x0000000006000012, 0x0000000006010012, 7553 0x0000000002000210, 0x0000000002010210, 7554 0x0000000006000210, 0x0000000006010210, 7555 0x0000000002000212, 0x0000000002010212, 7556 0x0000000006000212, 0x0000000006010212, 7557 0x0000000002080010, 0x0000000002090010, 7558 0x0000000006080010, 0x0000000006090010, 7559 0x0000000002080012, 0x0000000002090012, 7560 0x0000000006080012, 0x0000000006090012, 7561 0x0000000002080210, 0x0000000002090210, 7562 0x0000000006080210, 0x0000000006090210, 7563 0x0000000002080212, 0x0000000002090212, 7564 0x0000000006080212, 0x0000000006090212, 7565 0x0000000000008000, 0x0000000000018000, 7566 0x0000000004008000, 0x0000000004018000, 7567 0x0000000000008002, 0x0000000000018002, 7568 0x0000000004008002, 0x0000000004018002, 7569 0x0000000000008200, 0x0000000000018200, 7570 0x0000000004008200, 0x0000000004018200, 7571 0x0000000000008202, 0x0000000000018202, 7572 0x0000000004008202, 0x0000000004018202, 7573 0x0000000000088000, 0x0000000000098000, 7574 0x0000000004088000, 0x0000000004098000, 7575 0x0000000000088002, 0x0000000000098002, 7576 0x0000000004088002, 0x0000000004098002, 7577 0x0000000000088200, 0x0000000000098200, 7578 0x0000000004088200, 0x0000000004098200, 7579 0x0000000000088202, 0x0000000000098202, 7580 0x0000000004088202, 0x0000000004098202, 7581 0x0000000002008000, 0x0000000002018000, 7582 0x0000000006008000, 0x0000000006018000, 7583 0x0000000002008002, 0x0000000002018002, 7584 0x0000000006008002, 0x0000000006018002, 7585 0x0000000002008200, 0x0000000002018200, 7586 0x0000000006008200, 0x0000000006018200, 7587 0x0000000002008202, 0x0000000002018202, 7588 0x0000000006008202, 0x0000000006018202, 7589 0x0000000002088000, 0x0000000002098000, 7590 0x0000000006088000, 0x0000000006098000, 7591 0x0000000002088002, 0x0000000002098002, 7592 0x0000000006088002, 0x0000000006098002, 7593 0x0000000002088200, 0x0000000002098200, 7594 0x0000000006088200, 0x0000000006098200, 7595 0x0000000002088202, 0x0000000002098202, 7596 0x0000000006088202, 0x0000000006098202, 7597 0x0000000000008010, 0x0000000000018010, 7598 0x0000000004008010, 0x0000000004018010, 7599 0x0000000000008012, 0x0000000000018012, 7600 0x0000000004008012, 0x0000000004018012, 7601 0x0000000000008210, 0x0000000000018210, 7602 0x0000000004008210, 0x0000000004018210, 7603 0x0000000000008212, 0x0000000000018212, 7604 0x0000000004008212, 0x0000000004018212, 7605 0x0000000000088010, 0x0000000000098010, 7606 0x0000000004088010, 0x0000000004098010, 7607 0x0000000000088012, 0x0000000000098012, 7608 0x0000000004088012, 0x0000000004098012, 7609 0x0000000000088210, 0x0000000000098210, 7610 0x0000000004088210, 0x0000000004098210, 7611 0x0000000000088212, 0x0000000000098212, 7612 0x0000000004088212, 0x0000000004098212, 7613 0x0000000002008010, 0x0000000002018010, 7614 0x0000000006008010, 0x0000000006018010, 7615 0x0000000002008012, 0x0000000002018012, 7616 0x0000000006008012, 0x0000000006018012, 7617 0x0000000002008210, 0x0000000002018210, 7618 0x0000000006008210, 0x0000000006018210, 7619 0x0000000002008212, 0x0000000002018212, 7620 0x0000000006008212, 0x0000000006018212, 7621 0x0000000002088010, 0x0000000002098010, 7622 0x0000000006088010, 0x0000000006098010, 7623 0x0000000002088012, 0x0000000002098012, 7624 0x0000000006088012, 0x0000000006098012, 7625 0x0000000002088210, 0x0000000002098210, 7626 0x0000000006088210, 0x0000000006098210, 7627 0x0000000002088212, 0x0000000002098212, 7628 0x0000000006088212, 0x0000000006098212, 7629 0x0000000000000000, 0x0040000000000000, 7630 0x0000080000000000, 0x0040080000000000, 7631 0x0000001000000000, 0x0040001000000000, 7632 0x0000081000000000, 0x0040081000000000, 7633 0x0000000020000000, 0x0040000020000000, 7634 0x0000080020000000, 0x0040080020000000, 7635 0x0000001020000000, 0x0040001020000000, 7636 0x0000081020000000, 0x0040081020000000, 7637 0x0002000000000000, 0x0042000000000000, 7638 0x0002080000000000, 0x0042080000000000, 7639 0x0002001000000000, 0x0042001000000000, 7640 0x0002081000000000, 0x0042081000000000, 7641 0x0002000020000000, 0x0042000020000000, 7642 0x0002080020000000, 0x0042080020000000, 7643 0x0002001020000000, 0x0042001020000000, 7644 0x0002081020000000, 0x0042081020000000, 7645 0x0000010000000000, 0x0040010000000000, 7646 0x0000090000000000, 0x0040090000000000, 7647 0x0000011000000000, 0x0040011000000000, 7648 0x0000091000000000, 0x0040091000000000, 7649 0x0000010020000000, 0x0040010020000000, 7650 0x0000090020000000, 0x0040090020000000, 7651 0x0000011020000000, 0x0040011020000000, 7652 0x0000091020000000, 0x0040091020000000, 7653 0x0002010000000000, 0x0042010000000000, 7654 0x0002090000000000, 0x0042090000000000, 7655 0x0002011000000000, 0x0042011000000000, 7656 0x0002091000000000, 0x0042091000000000, 7657 0x0002010020000000, 0x0042010020000000, 7658 0x0002090020000000, 0x0042090020000000, 7659 0x0002011020000000, 0x0042011020000000, 7660 0x0002091020000000, 0x0042091020000000, 7661 0x0001000000000000, 0x0041000000000000, 7662 0x0001080000000000, 0x0041080000000000, 7663 0x0001001000000000, 0x0041001000000000, 7664 0x0001081000000000, 0x0041081000000000, 7665 0x0001000020000000, 0x0041000020000000, 7666 0x0001080020000000, 0x0041080020000000, 7667 0x0001001020000000, 0x0041001020000000, 7668 0x0001081020000000, 0x0041081020000000, 7669 0x0003000000000000, 0x0043000000000000, 7670 0x0003080000000000, 0x0043080000000000, 7671 0x0003001000000000, 0x0043001000000000, 7672 0x0003081000000000, 0x0043081000000000, 7673 0x0003000020000000, 0x0043000020000000, 7674 0x0003080020000000, 0x0043080020000000, 7675 0x0003001020000000, 0x0043001020000000, 7676 0x0003081020000000, 0x0043081020000000, 7677 0x0001010000000000, 0x0041010000000000, 7678 0x0001090000000000, 0x0041090000000000, 7679 0x0001011000000000, 0x0041011000000000, 7680 0x0001091000000000, 0x0041091000000000, 7681 0x0001010020000000, 0x0041010020000000, 7682 0x0001090020000000, 0x0041090020000000, 7683 0x0001011020000000, 0x0041011020000000, 7684 0x0001091020000000, 0x0041091020000000, 7685 0x0003010000000000, 0x0043010000000000, 7686 0x0003090000000000, 0x0043090000000000, 7687 0x0003011000000000, 0x0043011000000000, 7688 0x0003091000000000, 0x0043091000000000, 7689 0x0003010020000000, 0x0043010020000000, 7690 0x0003090020000000, 0x0043090020000000, 7691 0x0003011020000000, 0x0043011020000000, 7692 0x0003091020000000, 0x0043091020000000, 7693 0x0000000040000000, 0x0040000040000000, 7694 0x0000080040000000, 0x0040080040000000, 7695 0x0000001040000000, 0x0040001040000000, 7696 0x0000081040000000, 0x0040081040000000, 7697 0x0000000060000000, 0x0040000060000000, 7698 0x0000080060000000, 0x0040080060000000, 7699 0x0000001060000000, 0x0040001060000000, 7700 0x0000081060000000, 0x0040081060000000, 7701 0x0002000040000000, 0x0042000040000000, 7702 0x0002080040000000, 0x0042080040000000, 7703 0x0002001040000000, 0x0042001040000000, 7704 0x0002081040000000, 0x0042081040000000, 7705 0x0002000060000000, 0x0042000060000000, 7706 0x0002080060000000, 0x0042080060000000, 7707 0x0002001060000000, 0x0042001060000000, 7708 0x0002081060000000, 0x0042081060000000, 7709 0x0000010040000000, 0x0040010040000000, 7710 0x0000090040000000, 0x0040090040000000, 7711 0x0000011040000000, 0x0040011040000000, 7712 0x0000091040000000, 0x0040091040000000, 7713 0x0000010060000000, 0x0040010060000000, 7714 0x0000090060000000, 0x0040090060000000, 7715 0x0000011060000000, 0x0040011060000000, 7716 0x0000091060000000, 0x0040091060000000, 7717 0x0002010040000000, 0x0042010040000000, 7718 0x0002090040000000, 0x0042090040000000, 7719 0x0002011040000000, 0x0042011040000000, 7720 0x0002091040000000, 0x0042091040000000, 7721 0x0002010060000000, 0x0042010060000000, 7722 0x0002090060000000, 0x0042090060000000, 7723 0x0002011060000000, 0x0042011060000000, 7724 0x0002091060000000, 0x0042091060000000, 7725 0x0001000040000000, 0x0041000040000000, 7726 0x0001080040000000, 0x0041080040000000, 7727 0x0001001040000000, 0x0041001040000000, 7728 0x0001081040000000, 0x0041081040000000, 7729 0x0001000060000000, 0x0041000060000000, 7730 0x0001080060000000, 0x0041080060000000, 7731 0x0001001060000000, 0x0041001060000000, 7732 0x0001081060000000, 0x0041081060000000, 7733 0x0003000040000000, 0x0043000040000000, 7734 0x0003080040000000, 0x0043080040000000, 7735 0x0003001040000000, 0x0043001040000000, 7736 0x0003081040000000, 0x0043081040000000, 7737 0x0003000060000000, 0x0043000060000000, 7738 0x0003080060000000, 0x0043080060000000, 7739 0x0003001060000000, 0x0043001060000000, 7740 0x0003081060000000, 0x0043081060000000, 7741 0x0001010040000000, 0x0041010040000000, 7742 0x0001090040000000, 0x0041090040000000, 7743 0x0001011040000000, 0x0041011040000000, 7744 0x0001091040000000, 0x0041091040000000, 7745 0x0001010060000000, 0x0041010060000000, 7746 0x0001090060000000, 0x0041090060000000, 7747 0x0001011060000000, 0x0041011060000000, 7748 0x0001091060000000, 0x0041091060000000, 7749 0x0003010040000000, 0x0043010040000000, 7750 0x0003090040000000, 0x0043090040000000, 7751 0x0003011040000000, 0x0043011040000000, 7752 0x0003091040000000, 0x0043091040000000, 7753 0x0003010060000000, 0x0043010060000000, 7754 0x0003090060000000, 0x0043090060000000, 7755 0x0003011060000000, 0x0043011060000000, 7756 0x0003091060000000, 0x0043091060000000, 7757 0x0000000000000000, 0x0010000000000000, 7758 0x0000100000000000, 0x0010100000000000, 7759 0x0000002000000000, 0x0010002000000000, 7760 0x0000102000000000, 0x0010102000000000, 7761 0x0000000200000000, 0x0010000200000000, 7762 0x0000100200000000, 0x0010100200000000, 7763 0x0000002200000000, 0x0010002200000000, 7764 0x0000102200000000, 0x0010102200000000, 7765 0x0000400000000000, 0x0010400000000000, 7766 0x0000500000000000, 0x0010500000000000, 7767 0x0000402000000000, 0x0010402000000000, 7768 0x0000502000000000, 0x0010502000000000, 7769 0x0000400200000000, 0x0010400200000000, 7770 0x0000500200000000, 0x0010500200000000, 7771 0x0000402200000000, 0x0010402200000000, 7772 0x0000502200000000, 0x0010502200000000, 7773 0x0000000800000000, 0x0010000800000000, 7774 0x0000100800000000, 0x0010100800000000, 7775 0x0000002800000000, 0x0010002800000000, 7776 0x0000102800000000, 0x0010102800000000, 7777 0x0000000a00000000, 0x0010000a00000000, 7778 0x0000100a00000000, 0x0010100a00000000, 7779 0x0000002a00000000, 0x0010002a00000000, 7780 0x0000102a00000000, 0x0010102a00000000, 7781 0x0000400800000000, 0x0010400800000000, 7782 0x0000500800000000, 0x0010500800000000, 7783 0x0000402800000000, 0x0010402800000000, 7784 0x0000502800000000, 0x0010502800000000, 7785 0x0000400a00000000, 0x0010400a00000000, 7786 0x0000500a00000000, 0x0010500a00000000, 7787 0x0000402a00000000, 0x0010402a00000000, 7788 0x0000502a00000000, 0x0010502a00000000, 7789 0x0004000000000000, 0x0014000000000000, 7790 0x0004100000000000, 0x0014100000000000, 7791 0x0004002000000000, 0x0014002000000000, 7792 0x0004102000000000, 0x0014102000000000, 7793 0x0004000200000000, 0x0014000200000000, 7794 0x0004100200000000, 0x0014100200000000, 7795 0x0004002200000000, 0x0014002200000000, 7796 0x0004102200000000, 0x0014102200000000, 7797 0x0004400000000000, 0x0014400000000000, 7798 0x0004500000000000, 0x0014500000000000, 7799 0x0004402000000000, 0x0014402000000000, 7800 0x0004502000000000, 0x0014502000000000, 7801 0x0004400200000000, 0x0014400200000000, 7802 0x0004500200000000, 0x0014500200000000, 7803 0x0004402200000000, 0x0014402200000000, 7804 0x0004502200000000, 0x0014502200000000, 7805 0x0004000800000000, 0x0014000800000000, 7806 0x0004100800000000, 0x0014100800000000, 7807 0x0004002800000000, 0x0014002800000000, 7808 0x0004102800000000, 0x0014102800000000, 7809 0x0004000a00000000, 0x0014000a00000000, 7810 0x0004100a00000000, 0x0014100a00000000, 7811 0x0004002a00000000, 0x0014002a00000000, 7812 0x0004102a00000000, 0x0014102a00000000, 7813 0x0004400800000000, 0x0014400800000000, 7814 0x0004500800000000, 0x0014500800000000, 7815 0x0004402800000000, 0x0014402800000000, 7816 0x0004502800000000, 0x0014502800000000, 7817 0x0004400a00000000, 0x0014400a00000000, 7818 0x0004500a00000000, 0x0014500a00000000, 7819 0x0004402a00000000, 0x0014402a00000000, 7820 0x0004502a00000000, 0x0014502a00000000, 7821 0x0000020000000000, 0x0010020000000000, 7822 0x0000120000000000, 0x0010120000000000, 7823 0x0000022000000000, 0x0010022000000000, 7824 0x0000122000000000, 0x0010122000000000, 7825 0x0000020200000000, 0x0010020200000000, 7826 0x0000120200000000, 0x0010120200000000, 7827 0x0000022200000000, 0x0010022200000000, 7828 0x0000122200000000, 0x0010122200000000, 7829 0x0000420000000000, 0x0010420000000000, 7830 0x0000520000000000, 0x0010520000000000, 7831 0x0000422000000000, 0x0010422000000000, 7832 0x0000522000000000, 0x0010522000000000, 7833 0x0000420200000000, 0x0010420200000000, 7834 0x0000520200000000, 0x0010520200000000, 7835 0x0000422200000000, 0x0010422200000000, 7836 0x0000522200000000, 0x0010522200000000, 7837 0x0000020800000000, 0x0010020800000000, 7838 0x0000120800000000, 0x0010120800000000, 7839 0x0000022800000000, 0x0010022800000000, 7840 0x0000122800000000, 0x0010122800000000, 7841 0x0000020a00000000, 0x0010020a00000000, 7842 0x0000120a00000000, 0x0010120a00000000, 7843 0x0000022a00000000, 0x0010022a00000000, 7844 0x0000122a00000000, 0x0010122a00000000, 7845 0x0000420800000000, 0x0010420800000000, 7846 0x0000520800000000, 0x0010520800000000, 7847 0x0000422800000000, 0x0010422800000000, 7848 0x0000522800000000, 0x0010522800000000, 7849 0x0000420a00000000, 0x0010420a00000000, 7850 0x0000520a00000000, 0x0010520a00000000, 7851 0x0000422a00000000, 0x0010422a00000000, 7852 0x0000522a00000000, 0x0010522a00000000, 7853 0x0004020000000000, 0x0014020000000000, 7854 0x0004120000000000, 0x0014120000000000, 7855 0x0004022000000000, 0x0014022000000000, 7856 0x0004122000000000, 0x0014122000000000, 7857 0x0004020200000000, 0x0014020200000000, 7858 0x0004120200000000, 0x0014120200000000, 7859 0x0004022200000000, 0x0014022200000000, 7860 0x0004122200000000, 0x0014122200000000, 7861 0x0004420000000000, 0x0014420000000000, 7862 0x0004520000000000, 0x0014520000000000, 7863 0x0004422000000000, 0x0014422000000000, 7864 0x0004522000000000, 0x0014522000000000, 7865 0x0004420200000000, 0x0014420200000000, 7866 0x0004520200000000, 0x0014520200000000, 7867 0x0004422200000000, 0x0014422200000000, 7868 0x0004522200000000, 0x0014522200000000, 7869 0x0004020800000000, 0x0014020800000000, 7870 0x0004120800000000, 0x0014120800000000, 7871 0x0004022800000000, 0x0014022800000000, 7872 0x0004122800000000, 0x0014122800000000, 7873 0x0004020a00000000, 0x0014020a00000000, 7874 0x0004120a00000000, 0x0014120a00000000, 7875 0x0004022a00000000, 0x0014022a00000000, 7876 0x0004122a00000000, 0x0014122a00000000, 7877 0x0004420800000000, 0x0014420800000000, 7878 0x0004520800000000, 0x0014520800000000, 7879 0x0004422800000000, 0x0014422800000000, 7880 0x0004522800000000, 0x0014522800000000, 7881 0x0004420a00000000, 0x0014420a00000000, 7882 0x0004520a00000000, 0x0014520a00000000, 7883 0x0004422a00000000, 0x0014422a00000000, 7884 0x0004522a00000000, 0x0014522a00000000, 7885 0x0000000000000000, 0x0000000010000000, 7886 0x0020000000000000, 0x0020000010000000, 7887 0x0008000000000000, 0x0008000010000000, 7888 0x0028000000000000, 0x0028000010000000, 7889 0x0080000000000000, 0x0080000010000000, 7890 0x00a0000000000000, 0x00a0000010000000, 7891 0x0088000000000000, 0x0088000010000000, 7892 0x00a8000000000000, 0x00a8000010000000, 7893 0x0000000100000000, 0x0000000110000000, 7894 0x0020000100000000, 0x0020000110000000, 7895 0x0008000100000000, 0x0008000110000000, 7896 0x0028000100000000, 0x0028000110000000, 7897 0x0080000100000000, 0x0080000110000000, 7898 0x00a0000100000000, 0x00a0000110000000, 7899 0x0088000100000000, 0x0088000110000000, 7900 0x00a8000100000000, 0x00a8000110000000, 7901 0x0000200000000000, 0x0000200010000000, 7902 0x0020200000000000, 0x0020200010000000, 7903 0x0008200000000000, 0x0008200010000000, 7904 0x0028200000000000, 0x0028200010000000, 7905 0x0080200000000000, 0x0080200010000000, 7906 0x00a0200000000000, 0x00a0200010000000, 7907 0x0088200000000000, 0x0088200010000000, 7908 0x00a8200000000000, 0x00a8200010000000, 7909 0x0000200100000000, 0x0000200110000000, 7910 0x0020200100000000, 0x0020200110000000, 7911 0x0008200100000000, 0x0008200110000000, 7912 0x0028200100000000, 0x0028200110000000, 7913 0x0080200100000000, 0x0080200110000000, 7914 0x00a0200100000000, 0x00a0200110000000, 7915 0x0088200100000000, 0x0088200110000000, 7916 0x00a8200100000000, 0x00a8200110000000, 7917 0x0000008000000000, 0x0000008010000000, 7918 0x0020008000000000, 0x0020008010000000, 7919 0x0008008000000000, 0x0008008010000000, 7920 0x0028008000000000, 0x0028008010000000, 7921 0x0080008000000000, 0x0080008010000000, 7922 0x00a0008000000000, 0x00a0008010000000, 7923 0x0088008000000000, 0x0088008010000000, 7924 0x00a8008000000000, 0x00a8008010000000, 7925 0x0000008100000000, 0x0000008110000000, 7926 0x0020008100000000, 0x0020008110000000, 7927 0x0008008100000000, 0x0008008110000000, 7928 0x0028008100000000, 0x0028008110000000, 7929 0x0080008100000000, 0x0080008110000000, 7930 0x00a0008100000000, 0x00a0008110000000, 7931 0x0088008100000000, 0x0088008110000000, 7932 0x00a8008100000000, 0x00a8008110000000, 7933 0x0000208000000000, 0x0000208010000000, 7934 0x0020208000000000, 0x0020208010000000, 7935 0x0008208000000000, 0x0008208010000000, 7936 0x0028208000000000, 0x0028208010000000, 7937 0x0080208000000000, 0x0080208010000000, 7938 0x00a0208000000000, 0x00a0208010000000, 7939 0x0088208000000000, 0x0088208010000000, 7940 0x00a8208000000000, 0x00a8208010000000, 7941 0x0000208100000000, 0x0000208110000000, 7942 0x0020208100000000, 0x0020208110000000, 7943 0x0008208100000000, 0x0008208110000000, 7944 0x0028208100000000, 0x0028208110000000, 7945 0x0080208100000000, 0x0080208110000000, 7946 0x00a0208100000000, 0x00a0208110000000, 7947 0x0088208100000000, 0x0088208110000000, 7948 0x00a8208100000000, 0x00a8208110000000, 7949 0x0000040000000000, 0x0000040010000000, 7950 0x0020040000000000, 0x0020040010000000, 7951 0x0008040000000000, 0x0008040010000000, 7952 0x0028040000000000, 0x0028040010000000, 7953 0x0080040000000000, 0x0080040010000000, 7954 0x00a0040000000000, 0x00a0040010000000, 7955 0x0088040000000000, 0x0088040010000000, 7956 0x00a8040000000000, 0x00a8040010000000, 7957 0x0000040100000000, 0x0000040110000000, 7958 0x0020040100000000, 0x0020040110000000, 7959 0x0008040100000000, 0x0008040110000000, 7960 0x0028040100000000, 0x0028040110000000, 7961 0x0080040100000000, 0x0080040110000000, 7962 0x00a0040100000000, 0x00a0040110000000, 7963 0x0088040100000000, 0x0088040110000000, 7964 0x00a8040100000000, 0x00a8040110000000, 7965 0x0000240000000000, 0x0000240010000000, 7966 0x0020240000000000, 0x0020240010000000, 7967 0x0008240000000000, 0x0008240010000000, 7968 0x0028240000000000, 0x0028240010000000, 7969 0x0080240000000000, 0x0080240010000000, 7970 0x00a0240000000000, 0x00a0240010000000, 7971 0x0088240000000000, 0x0088240010000000, 7972 0x00a8240000000000, 0x00a8240010000000, 7973 0x0000240100000000, 0x0000240110000000, 7974 0x0020240100000000, 0x0020240110000000, 7975 0x0008240100000000, 0x0008240110000000, 7976 0x0028240100000000, 0x0028240110000000, 7977 0x0080240100000000, 0x0080240110000000, 7978 0x00a0240100000000, 0x00a0240110000000, 7979 0x0088240100000000, 0x0088240110000000, 7980 0x00a8240100000000, 0x00a8240110000000, 7981 0x0000048000000000, 0x0000048010000000, 7982 0x0020048000000000, 0x0020048010000000, 7983 0x0008048000000000, 0x0008048010000000, 7984 0x0028048000000000, 0x0028048010000000, 7985 0x0080048000000000, 0x0080048010000000, 7986 0x00a0048000000000, 0x00a0048010000000, 7987 0x0088048000000000, 0x0088048010000000, 7988 0x00a8048000000000, 0x00a8048010000000, 7989 0x0000048100000000, 0x0000048110000000, 7990 0x0020048100000000, 0x0020048110000000, 7991 0x0008048100000000, 0x0008048110000000, 7992 0x0028048100000000, 0x0028048110000000, 7993 0x0080048100000000, 0x0080048110000000, 7994 0x00a0048100000000, 0x00a0048110000000, 7995 0x0088048100000000, 0x0088048110000000, 7996 0x00a8048100000000, 0x00a8048110000000, 7997 0x0000248000000000, 0x0000248010000000, 7998 0x0020248000000000, 0x0020248010000000, 7999 0x0008248000000000, 0x0008248010000000, 8000 0x0028248000000000, 0x0028248010000000, 8001 0x0080248000000000, 0x0080248010000000, 8002 0x00a0248000000000, 0x00a0248010000000, 8003 0x0088248000000000, 0x0088248010000000, 8004 0x00a8248000000000, 0x00a8248010000000, 8005 0x0000248100000000, 0x0000248110000000, 8006 0x0020248100000000, 0x0020248110000000, 8007 0x0008248100000000, 0x0008248110000000, 8008 0x0028248100000000, 0x0028248110000000, 8009 0x0080248100000000, 0x0080248110000000, 8010 0x00a0248100000000, 0x00a0248110000000, 8011 0x0088248100000000, 0x0088248110000000, 8012 0x00a8248100000000, 0x00a8248110000000 8013) 8014 8015# Substitution boxes 8016SBOX_K = ( 8017 ( 8018 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, 8019 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, 8020 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7, 8021 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13) 8022 , 8023 ( 8024 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, 8025 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, 8026 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2, 8027 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9) 8028 , 8029 ( 8030 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, 8031 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, 8032 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7, 8033 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12) 8034 , 8035 ( 8036 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, 8037 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, 8038 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8, 8039 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14) 8040 , 8041 ( 8042 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, 8043 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, 8044 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13, 8045 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3) 8046 , 8047 ( 8048 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, 8049 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, 8050 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10, 8051 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13) 8052 , 8053 ( 8054 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, 8055 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, 8056 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7, 8057 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12) 8058 , 8059 ( 8060 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, 8061 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, 8062 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13, 8063 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11) 8064) 8065 8066# Number of left rotations per key schedule round (0: 1 rotation, 1: 2 rotations) 8067left_shifts = ( 8068 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0 8069) 8070 8071# Test vectors: 64-bits secret keys 8072keys = ( 8073 0xdc515cff944a58ec, 0x41f21efba9e3e146, 8074 0x231be9e8cde7438d, 0xc233d79fc4c9079a, 8075 0xba31e45830a3d95a, 0xa8585ae9845ea8d4, 8076 0x769b9eb424548611, 0xf521bd3d8ddcf087, 8077 0xc241f8e1adfc2367, 0xb9ea4adcd36b7796, 8078 0x42ec7cb0d43b06fb, 0x89ec1b187fdba45c, 8079 0x40fb26fadeaac33a, 0xf005c13cb77cc794, 8080 0x8c89e9f9af5c26bb, 0x57b135ebe4f150b3, 8081 0x84e9eaa1823a0ae5, 0x31480247476496bd, 8082 0x471cee7bc564fdc5, 0xb15e234bd3792f63, 8083 0xca11709e110959dc, 0x5e1b2110a8af703b, 8084 0xd648d447c315015c, 0x24ba579b307da5f5, 8085 0x8f7fbd235af87029, 0x55b52acae74ed3e8, 8086 0xca795c4dea3d1a34, 0xc5fa4bcb286cfd05, 8087 0x91aa591a6a55aaa2, 0x173b0904b75c29d3, 8088 0xace2fcf0e3e40a9e, 0x4afdb5822e4eb5a9, 8089 0x858a1a29c6541348, 0xf10eae1847a8f044, 8090 0x574c9dd7b62dc29b, 0xf8c422339daf82cd, 8091 0x67ad64d4e7766e47, 0x8c4ad3c42e308af6, 8092 0x85fbecb248072304, 0x5e20a8baab86acc3, 8093 0xaed96867cc33fbb7, 0x2c1467d35dd95a34, 8094 0x811027a8f8f6b105, 0xacbc85446e78a2fa, 8095 0x57d0cd1a79da9e69, 0x1b51cf25abb36b48, 8096 0xb2fb3a3195991690, 0xf49b46bc8de9c3e5, 8097 0x5be9bbe22c5e8153, 0x6cd07e85f5fad054, 8098 0x71664a82d364af98, 0xf2652870725a288a, 8099 0x7044e2de947cdfa5, 0xe5d36051bdadefac, 8100 0xbd177fe4b88576f1, 0x7b7c97c0467c32bb, 8101 0xdfdada619c0b6063, 0x66b40b69172ffe3a, 8102 0x4393bfacb2076f1f, 0x6f2dd38dc0efbb4f, 8103 0xe13513c110c722e4, 0x69ed61967f12e7ec, 8104 0x45e5d50ad7f8589d, 0x3896a7c1d6f4091f 8105) 8106 8107# Test vectors: 64-bits plain texts 8108pts = ( 8109 0x456723c698694873, 0x1f297ccd58bad7ab, 8110 0x007c62c2085427f8, 0x0f76255af92e7263, 8111 0xfb665d32500dd7b7, 0x6125895db105a317, 8112 0xbdab8cb2d0cde0c6, 0xc40e1d82f8748641, 8113 0x1a70dde9c83ed4a1, 0x823e5f01c67e2a97, 8114 0xd78fa438585c4e2a, 0x9a32ccaf8d3c8f54, 8115 0xf902481a78febb43, 0x85fba529edd13fe6, 8116 0x65750fd815bea861, 0xb6a83c99b60f4095, 8117 0x7e055def0bf7bf00, 0x8fca700b4acb7fd0, 8118 0x121f5d233f1e9ea8, 0x2b147b733e5a82c5, 8119 0x813bdf70ee640624, 0xe0aa5bd4d9ac11f2, 8120 0x7e33e7cd0ee3c550, 0x4fbb016f84220119, 8121 0x370b1ee1ac1a011c, 0x18f834a4821b7713, 8122 0x1298f6329938e8e0, 0x5dbc6e5f1b4e8277, 8123 0x6aacd486fe21fa2b, 0x8dbeec7021b5e373, 8124 0xff36509412b3c9af, 0x6b4fff328d153149, 8125 0x8a082c70afd41bb2, 0x069ae80af6bc1dd5, 8126 0xfeac5a5bb9f3ab8e, 0x9d094342f3e5e806, 8127 0x4ea34d849e7fd42d, 0x4cdede328c1c3dec, 8128 0x2e20e8233685856c, 0x2ff43bec0b0b28b9, 8129 0xf63e4a0580f15dec, 0x4699585039a3d2e3, 8130 0x4ff7945edfa0d5f2, 0x63940401d9bec1b4, 8131 0xcf49ef6900e67e23, 0x256ab37e714c517e, 8132 0x63848b53413ae494, 0x3e326f57d844eaee, 8133 0x36258ecf42088df5, 0x6f609daad2d28ab2, 8134 0x09d83735b4e8bcd4, 0xb9d9aba89a87ae75, 8135 0xb73fb462b6801329, 0x8089674e6a57ed59, 8136 0x97867295ac8008ec, 0x2b8c530c25661df1, 8137 0x4c22fcfc45e4bc66, 0x41af06624dbc2783, 8138 0x7dffc3af07273b16, 0x12b8d76d8d118e34, 8139 0xd08906d477b6b063, 0x1a245e834a6780d8, 8140 0x25458639230268d8, 0xac776509e6d11ba5 8141) 8142 8143# Test vectors: 64-bits cipher texts 8144cts = ( 8145 0xb844c7af695959be, 0x86d7d9a023e0ce3a, 8146 0x56b9b8abea00f1bb, 0x0ab443abbf60a0d1, 8147 0xe82a6ceebfa4c58a, 0xf1b94fbca594768a, 8148 0xc2691df1bc083120, 0x0c1af3e8dea81d06, 8149 0xc5195c5f59385f14, 0x2f6a331dbb621987, 8150 0xbb77be4c6051dc64, 0x6d0d8a67cf13a281, 8151 0xd3bc722edd13c148, 0xf09532958156df8e, 8152 0x09ab38274e770fe6, 0x2e3aae9ed10e61ad, 8153 0x9c64c69db1e52252, 0x64a65d2c28cd3c5e, 8154 0xdc648ca9e49c0ad8, 0x75ece8090d2c2033, 8155 0xe72763d0a912580c, 0xae89b2411f665434, 8156 0x4c8fd9cf8400e517, 0x144a07f0708492b8, 8157 0x6cb63189594f019f, 0x6fe9aa6bc5707699, 8158 0x3a6af11af8237ff4, 0x68d2e753e75d2e28, 8159 0xf9bfc51d5648c987, 0xf3cc0ea23779e335, 8160 0xc715faf14bb00c2d, 0x5fd59d5ccc4335b8, 8161 0x24bb8d40c23e386a, 0x5a3b9af76055f808, 8162 0xd7a8bfceb10bbd7d, 0x59dca2eba49a6cfa, 8163 0x9b74833eeb6d208e, 0xd96d816443fb7a25, 8164 0xf136709b4e6dc7f5, 0xa212136fb0cfc154, 8165 0xe6524c1bc1b3b2e6, 0x22be3b10a32416b9, 8166 0x2e057d39efb4f17f, 0xbb3c49cdc74daa59, 8167 0x55144d3b88613650, 0x3d819bba7f73a0d8, 8168 0xaa230a4f68794f6b, 0x34ec95d793201e87, 8169 0xf13d289d40b27da6, 0x9cc3c6c5bbd3a0fd, 8170 0xd201eb6e852b27c5, 0xf2c5fda37e191296, 8171 0x5b610cd018fba813, 0x77d69e80a4a17011, 8172 0x603afc79daaa0932, 0xb10fdc2e3c4e8aea, 8173 0x374ad0248680de8a, 0x2bd66c604409c679, 8174 0x2f514a4fe984a739, 0x1f9f8d5655f0800b, 8175 0x12aa594bbf33c73a, 0x779ca596645910a6, 8176 0x0cba75a71b56dba3, 0x13c43294bdee2658 8177) 8178 8179def permute(val, table, name): 8180 '''Permutate val with permutation table named name, internal, do not use.''' 8181 8182 res = 0 8183 tmp = val 8184 b = len(table) // 256 8185 assert (tmp >> 8*b) == 0, '\nInvalid input value for {name} permutation: 0x{value:016x}'.format(name=name, value=val) 8186 for i in range(b): 8187 idx = i*256 + (tmp & 0xff) 8188 res |= table[idx] 8189 tmp >>= 8 8190 return res 8191 8192def ip(val): 8193 """ 8194Initial permutation (64 to 64 bits). Same as n_fp(). 8195 8196Args: 8197 val (long): 64 bits input 8198 8199Returns: 8200 The permutated input as a 64 bits integer 8201 8202""" 8203 return permute(val, IP_K, "IP") 8204 8205def n_ip(val): 8206 """ 8207Inverse of initial permutation (64 to 64 bits). Same as fp(). 8208 8209Args: 8210 val (long): 64 bits input 8211 8212Returns: 8213 The permutated input as a 64 bits integer 8214 8215""" 8216 return permute(val, N_IP_K, "N_IP") 8217 8218def fp(val): 8219 """ 8220Final permutation (64 to 64 bits). Inverse of initial permutation, same as n_ip(). 8221 8222Args: 8223 val (long): 64 bits input 8224 8225Returns: 8226 The permutated input as a 64 bits integer 8227 8228""" 8229 return permute(val, N_IP_K, "FP") 8230 8231def n_fp(val): 8232 """ 8233Inverse of final permutation (64 to 64 bits). Same as ip(). 8234 8235Args: 8236 val (long): 64 bits input 8237 8238Returns: 8239 The permutated input as a 64 bits integer 8240 8241""" 8242 return permute(val, IP_K, "N_FP") 8243 8244def e(val): 8245 """ 8246E expansion - permutation (32 to 48 bits). 8247 8248Args: 8249 val (long): 32 bits input 8250 8251Returns: 8252 The expanded and permutated input as a 48 bits integer 8253 8254""" 8255 return permute(val, E_K, "E") 8256 8257def n_e(val): 8258 """ 8259Inverse of E expansion - permutation (48 to 32 bits). 8260 8261Duplicated bits must have the same value. If they do not, an error is raised. 8262 8263Args: 8264 val (long): 48 bits input 8265 8266Returns: 8267 The permutated and selected input as a 32 bits integer 8268""" 8269 tmp = (val << 2) | (val >> 46) 8270 assert (tmp & 0x0c30c30c30c3) == ((tmp >> 2) & 0x0c30c30c30c3), '\nInvalid input value for N_E permutation: 0x{value:016x}'.format(value=val); 8271 return permute(val, N_E_K, "N_E") 8272 8273def p(val): 8274 """ 8275P permutation (32 to 32 bits). 8276 8277Args: 8278 val (long): 32 bits input 8279 8280Returns: 8281 The permutated input as a 32 bits integer 8282 8283""" 8284 return permute(val, P_K, "P") 8285 8286def n_p(val): 8287 """ 8288Inverse of P permutation (32 to 32 bits). 8289 8290Args: 8291 val (long): 32 bits input 8292 8293Returns: 8294 The permutated input as a 32 bits integer 8295 8296""" 8297 return permute(val, N_P_K, "N_P") 8298 8299def hamming_weight(v): 8300 """ 8301Hamming weight. 8302 8303Args: 8304 val: N-bits input 8305 8306Returns: 8307 The Hamming weight of the input (number of 1's) 8308 8309""" 8310 v = v - ((v>>1) & 0x5555555555555555) 8311 v = (v & 0x3333333333333333) + ((v>>2) & 0x3333333333333333) 8312 return (((v + (v>>4) & 0xF0F0F0F0F0F0F0F) * 0x101010101010101) >> 56) & 0xFF 8313 8314def pc1(val): 8315 """ 8316PC1 permutation - selection (64 to 56 bits). No parity check. 8317 8318Args: 8319 val (long): 64 bits input 8320 8321Returns: 8322 The permutated and selected input as a 56 bits integer 8323 8324""" 8325 return permute(val, PC1_K, "PC1") 8326 8327def set_parity_bits(val): 8328 """ 8329Computes the 8 parity bits of a 64 bits word. 8330 8331Parity bits are the rightmost bit of each byte. Once computed, the number of 8332set bits of each byte is odd, as specified in the DES standard. 8333 8334Args: 8335 val (long): 64 bits input 8336 8337Returns: 8338 The input with odd parity bits, as a 64 bits integer 8339 8340""" 8341 res = 0 8342 mask1 = 0xfe 8343 mask2 = 0x1 8344 for i in range(8): 8345 tmp = val & mask1 8346 if hamming_weight(tmp) % 2 == 0: 8347 tmp |= mask2 8348 res |= tmp 8349 mask1 <<= 8 8350 mask2 <<= 8 8351 return res 8352 8353def n_pc1(val): 8354 """ 8355Inverse of PC1 permutation - selection (56 to 64 bits). 8356 8357Parity bits are computed. 8358 8359Args: 8360 val (long): 56 bits input 8361 8362Returns: 8363 The permutated and expanded input as a 64 bits integer 8364 8365""" 8366 res = permute(val, N_PC1_K, "N_PC1") 8367 return set_parity_bits(res) 8368 8369def pc2(val): 8370 """ 8371PC2 permutation - selection (56 to 48 bits). No parity check. 8372 8373Args: 8374 val (long): 56 bits input 8375 8376Returns: 8377 The permutated and selected input as a 48 bits integer 8378 8379""" 8380 return permute(val, PC2_K, "PC2") 8381 8382def n_pc2(val): 8383 """ 8384Inverse of PC2 permutation - selection (48 to 56 bits). Missing 8385bits are set to 0. 8386 8387Args: 8388 val (long): 48 bits input 8389 8390Returns: 8391 The permutated and expanded input as a 56 bits integer 8392 8393""" 8394 return permute(val, N_PC2_K, "N_PC2") 8395 8396def sbox(sbox, val): 8397 """" 8398Single SBox computation (6 to 4 bits). 8399 8400Args: 8401 sbox (int): SBox number, from 1 to 8 8402 val (long): 6 bits input 8403 8404Returns: 8405 The 4 bits output of SBox number `sbox` corresponding to the 8406 6 bits input, as a 4 bits integer 8407 8408""" 8409 assert (sbox >= 1 and sbox <= 8), '\nInvalid sbox number: {value:d}'.format(value=sbox) 8410 assert (val <= 0x3f), '\nInvalid sbox input value: 0x{value:016x}'.format(value=val) 8411 return SBOX_K[sbox - 1][val] 8412 8413def sboxes(val): 8414 """ 8415All SBoxes computation (48 to 32 bits). 8416 8417Args: 8418 val (long): 48 bits input 8419 8420Returns: 8421 The 32 bits output of all SBoxes corresponding to the 48 bits 8422 input, as a 32 bits integer 8423 8424""" 8425 assert (val >> 48) == 0, '\nInvalid sboxes input value: 0x{value:016x}'.format(value=val) 8426 res = 0 8427 for i in range(1, 9): 8428 res = (res << 4) | sbox(i, (val >> ((8 - i) * 6)) & 0x3f) 8429 return res 8430 8431def right_half(val): 8432 """ 8433Returns the 32 bits right half of a 64 bits word. 8434 8435Args: 8436 val (long): 64 bits input 8437 8438Returns: 8439 The 32 bits right half of a 64 bits word, as a 32 bits integer 8440 8441""" 8442 return val & 0xffffffff 8443 8444def left_half(val): 8445 """ 8446Returns the 32 bits left half of a 64 bits word. 8447 8448Args: 8449 val (long): 64 bits input 8450 8451Returns: 8452 The 32 bits left half of a 64 bits word, as a 32 bits integer 8453 8454""" 8455 return val >> 32 8456 8457def ls(val): 8458 """ 8459Applies the **left shift** rotation of the standard (56 to 56 bits). 8460 8461Args: 8462 val (long): 56 bits input 8463 8464Returns: 8465 The rotated input, as a 56 bits integer 8466 8467""" 8468 assert (val >> 56) == 0, '\nInvalid left shift input value: 0x{value:016x}'.format(value=val) 8469 c = val & 0xfffffff0000000 8470 d = val & 0xfffffff 8471 c = ((c << 1) | (c >> 27)) & 0xfffffff0000000 8472 d = ((d << 1) | (d >> 27)) & 0xfffffff 8473 return c | d 8474 8475def rs(val): 8476 """ 8477Applies the **right shift** rotation of the standard (56 to 56 bits). 8478 8479Args: 8480 val (long): 56 bits input 8481 8482Returns: 8483 The rotated input, as a 56 bits integer 8484 8485""" 8486 assert (val >> 56) == 0, '\nInvalid right shift input value: 0x{value:016x}'.format(value=val) 8487 c = val & 0xfffffff0000000 8488 d = val & 0xfffffff 8489 c = ((c >> 1) | (c << 27)) & 0xfffffff0000000 8490 d = ((d >> 1) | (d << 27)) & 0xfffffff 8491 return c | d 8492 8493def f(rk, val): 8494 """ 8495The F function of the standard (48+32 bits to 32 bits). 8496 8497Args: 8498 rk (long): 48 bits round key 8499 val (long): 32 bits data input 8500 8501Returns: 8502 The transformed input as a 32 bits integer 8503 8504""" 8505 assert (val >> 32) == 0, '\nInvalid R input value for F function: 0x{value:016x}'.format(value=val) 8506 assert (rk >> 48) == 0, '\nInvalid RK input value for F function: 0x{value:016x}'.format(value=rk) 8507 return p (sboxes (e (val) ^ rk)) 8508 8509def key_schedule(val): 8510 """ 8511Computes the whole key schedule from a 64 bits secret key and 8512stores the sixteen 48 bits round keys in a list. 8513 8514Args: 8515 val (long): 64 bits key 8516 8517Returns: 8518 The sixteen 48 bits round keys in a list 8519 8520""" 8521 ks = [0 for i in range(16)] 8522 cd = pc1(val) 8523 for i in range(16): 8524 cd = ls(cd) 8525 if (left_shifts[i] == 1): 8526 cd = ls(cd) 8527 ks[i] = pc2(cd) 8528 return ks 8529 8530def enc(ks, val): 8531 """ 8532Enciphers a 64 bits plaintext with a pre-computed key schedule. 8533 8534Args: 8535 ks (List[long]): The pre-computed key schedule 8536 val (long): The 64 bits plaintext 8537 8538Returns: 8539 The enciphered plaintext as a 64 bits integer 8540 8541""" 8542 lr = ip(val) 8543 r = right_half(lr) 8544 l = left_half(lr) 8545 for i in range(16): 8546 tmp = r 8547 r = l ^ f(ks[i], r) 8548 l = tmp 8549 return fp ((r << 32) | l) 8550 8551def dec(ks, val): 8552 """ 8553Deciphers a 64 bits ciphertext with a pre-computed key schedule. 8554 8555Args: 8556 ks (List[long]): The pre-computed key schedule 8557 val (long): The 64 bits ciphertext 8558 8559Returns: 8560 The deciphered ciphertext as a 64 bits integer 8561 8562""" 8563 lr = ip(val) 8564 r = right_half(lr) 8565 l = left_half(lr) 8566 for i in range(15, -1, -1): 8567 tmp = r 8568 r = l ^ f(ks[i], r) 8569 l = tmp 8570 return fp((r << 32) | l) 8571 8572def check(): 8573 """ 8574A functional verification of the DES implementation. Runs a 8575number of encipherments with enc() and the corresponding 8576decipherments with dec() and checks the results against 8577pre-computed plaintexts, ciphertexts and secret keys. 8578 8579Returns: 8580 `True` on success, `False` on errors 8581 8582""" 8583 ok = 1 8584 for i in range(NUM_TEST_VECTORS): 8585 ks = key_schedule(keys[i]) 8586 tmp = enc(ks, pts[i]) 8587 if tmp != cts[i]: 8588 print('encryption {i:2d}\nk=0x{k:016x} p=0x{p:016x} o=0x{o:016x} act=0x{act:016x}\n'.format(i=i+1, k=keys[i], p=pts[i], o=cts[i], act=tmp), file=sys.stderr) 8589 ok = 0 8590 tmp = dec(ks, cts[i]) 8591 if tmp != pts[i]: 8592 print('decryption {i:2d}\nk=0x{k:016x} c=0x{c:016x} o=0x{o:016x} act=0x{act:016x}\n'.format(i=i+1, k=keys[i], c=cts[i], o=pts[i], act=tmp), file=sys.stderr) 8593 ok = 0 8594 return ok 8595 8596# vim: set tabstop=8 softtabstop=4 shiftwidth=4 expandtab textwidth=0:
8180def permute(val, table, name): 8181 '''Permutate val with permutation table named name, internal, do not use.''' 8182 8183 res = 0 8184 tmp = val 8185 b = len(table) // 256 8186 assert (tmp >> 8*b) == 0, '\nInvalid input value for {name} permutation: 0x{value:016x}'.format(name=name, value=val) 8187 for i in range(b): 8188 idx = i*256 + (tmp & 0xff) 8189 res |= table[idx] 8190 tmp >>= 8 8191 return res
Permutate val with permutation table named name, internal, do not use.
8193def ip(val): 8194 """ 8195Initial permutation (64 to 64 bits). Same as n_fp(). 8196 8197Args: 8198 val (long): 64 bits input 8199 8200Returns: 8201 The permutated input as a 64 bits integer 8202 8203""" 8204 return permute(val, IP_K, "IP")
Initial permutation (64 to 64 bits). Same as n_fp().
Args: val (long): 64 bits input
Returns: The permutated input as a 64 bits integer
8206def n_ip(val): 8207 """ 8208Inverse of initial permutation (64 to 64 bits). Same as fp(). 8209 8210Args: 8211 val (long): 64 bits input 8212 8213Returns: 8214 The permutated input as a 64 bits integer 8215 8216""" 8217 return permute(val, N_IP_K, "N_IP")
Inverse of initial permutation (64 to 64 bits). Same as fp().
Args: val (long): 64 bits input
Returns: The permutated input as a 64 bits integer
8219def fp(val): 8220 """ 8221Final permutation (64 to 64 bits). Inverse of initial permutation, same as n_ip(). 8222 8223Args: 8224 val (long): 64 bits input 8225 8226Returns: 8227 The permutated input as a 64 bits integer 8228 8229""" 8230 return permute(val, N_IP_K, "FP")
Final permutation (64 to 64 bits). Inverse of initial permutation, same as n_ip().
Args: val (long): 64 bits input
Returns: The permutated input as a 64 bits integer
8232def n_fp(val): 8233 """ 8234Inverse of final permutation (64 to 64 bits). Same as ip(). 8235 8236Args: 8237 val (long): 64 bits input 8238 8239Returns: 8240 The permutated input as a 64 bits integer 8241 8242""" 8243 return permute(val, IP_K, "N_FP")
Inverse of final permutation (64 to 64 bits). Same as ip().
Args: val (long): 64 bits input
Returns: The permutated input as a 64 bits integer
8245def e(val): 8246 """ 8247E expansion - permutation (32 to 48 bits). 8248 8249Args: 8250 val (long): 32 bits input 8251 8252Returns: 8253 The expanded and permutated input as a 48 bits integer 8254 8255""" 8256 return permute(val, E_K, "E")
E expansion - permutation (32 to 48 bits).
Args: val (long): 32 bits input
Returns: The expanded and permutated input as a 48 bits integer
8258def n_e(val): 8259 """ 8260Inverse of E expansion - permutation (48 to 32 bits). 8261 8262Duplicated bits must have the same value. If they do not, an error is raised. 8263 8264Args: 8265 val (long): 48 bits input 8266 8267Returns: 8268 The permutated and selected input as a 32 bits integer 8269""" 8270 tmp = (val << 2) | (val >> 46) 8271 assert (tmp & 0x0c30c30c30c3) == ((tmp >> 2) & 0x0c30c30c30c3), '\nInvalid input value for N_E permutation: 0x{value:016x}'.format(value=val); 8272 return permute(val, N_E_K, "N_E")
Inverse of E expansion - permutation (48 to 32 bits).
Duplicated bits must have the same value. If they do not, an error is raised.
Args: val (long): 48 bits input
Returns: The permutated and selected input as a 32 bits integer
8274def p(val): 8275 """ 8276P permutation (32 to 32 bits). 8277 8278Args: 8279 val (long): 32 bits input 8280 8281Returns: 8282 The permutated input as a 32 bits integer 8283 8284""" 8285 return permute(val, P_K, "P")
P permutation (32 to 32 bits).
Args: val (long): 32 bits input
Returns: The permutated input as a 32 bits integer
8287def n_p(val): 8288 """ 8289Inverse of P permutation (32 to 32 bits). 8290 8291Args: 8292 val (long): 32 bits input 8293 8294Returns: 8295 The permutated input as a 32 bits integer 8296 8297""" 8298 return permute(val, N_P_K, "N_P")
Inverse of P permutation (32 to 32 bits).
Args: val (long): 32 bits input
Returns: The permutated input as a 32 bits integer
8300def hamming_weight(v): 8301 """ 8302Hamming weight. 8303 8304Args: 8305 val: N-bits input 8306 8307Returns: 8308 The Hamming weight of the input (number of 1's) 8309 8310""" 8311 v = v - ((v>>1) & 0x5555555555555555) 8312 v = (v & 0x3333333333333333) + ((v>>2) & 0x3333333333333333) 8313 return (((v + (v>>4) & 0xF0F0F0F0F0F0F0F) * 0x101010101010101) >> 56) & 0xFF
Hamming weight.
Args: val: N-bits input
Returns: The Hamming weight of the input (number of 1's)
8315def pc1(val): 8316 """ 8317PC1 permutation - selection (64 to 56 bits). No parity check. 8318 8319Args: 8320 val (long): 64 bits input 8321 8322Returns: 8323 The permutated and selected input as a 56 bits integer 8324 8325""" 8326 return permute(val, PC1_K, "PC1")
PC1 permutation - selection (64 to 56 bits). No parity check.
Args: val (long): 64 bits input
Returns: The permutated and selected input as a 56 bits integer
8328def set_parity_bits(val): 8329 """ 8330Computes the 8 parity bits of a 64 bits word. 8331 8332Parity bits are the rightmost bit of each byte. Once computed, the number of 8333set bits of each byte is odd, as specified in the DES standard. 8334 8335Args: 8336 val (long): 64 bits input 8337 8338Returns: 8339 The input with odd parity bits, as a 64 bits integer 8340 8341""" 8342 res = 0 8343 mask1 = 0xfe 8344 mask2 = 0x1 8345 for i in range(8): 8346 tmp = val & mask1 8347 if hamming_weight(tmp) % 2 == 0: 8348 tmp |= mask2 8349 res |= tmp 8350 mask1 <<= 8 8351 mask2 <<= 8 8352 return res
Computes the 8 parity bits of a 64 bits word.
Parity bits are the rightmost bit of each byte. Once computed, the number of set bits of each byte is odd, as specified in the DES standard.
Args: val (long): 64 bits input
Returns: The input with odd parity bits, as a 64 bits integer
8354def n_pc1(val): 8355 """ 8356Inverse of PC1 permutation - selection (56 to 64 bits). 8357 8358Parity bits are computed. 8359 8360Args: 8361 val (long): 56 bits input 8362 8363Returns: 8364 The permutated and expanded input as a 64 bits integer 8365 8366""" 8367 res = permute(val, N_PC1_K, "N_PC1") 8368 return set_parity_bits(res)
Inverse of PC1 permutation - selection (56 to 64 bits).
Parity bits are computed.
Args: val (long): 56 bits input
Returns: The permutated and expanded input as a 64 bits integer
8370def pc2(val): 8371 """ 8372PC2 permutation - selection (56 to 48 bits). No parity check. 8373 8374Args: 8375 val (long): 56 bits input 8376 8377Returns: 8378 The permutated and selected input as a 48 bits integer 8379 8380""" 8381 return permute(val, PC2_K, "PC2")
PC2 permutation - selection (56 to 48 bits). No parity check.
Args: val (long): 56 bits input
Returns: The permutated and selected input as a 48 bits integer
8383def n_pc2(val): 8384 """ 8385Inverse of PC2 permutation - selection (48 to 56 bits). Missing 8386bits are set to 0. 8387 8388Args: 8389 val (long): 48 bits input 8390 8391Returns: 8392 The permutated and expanded input as a 56 bits integer 8393 8394""" 8395 return permute(val, N_PC2_K, "N_PC2")
Inverse of PC2 permutation - selection (48 to 56 bits). Missing bits are set to 0.
Args: val (long): 48 bits input
Returns: The permutated and expanded input as a 56 bits integer
8397def sbox(sbox, val): 8398 """" 8399Single SBox computation (6 to 4 bits). 8400 8401Args: 8402 sbox (int): SBox number, from 1 to 8 8403 val (long): 6 bits input 8404 8405Returns: 8406 The 4 bits output of SBox number `sbox` corresponding to the 8407 6 bits input, as a 4 bits integer 8408 8409""" 8410 assert (sbox >= 1 and sbox <= 8), '\nInvalid sbox number: {value:d}'.format(value=sbox) 8411 assert (val <= 0x3f), '\nInvalid sbox input value: 0x{value:016x}'.format(value=val) 8412 return SBOX_K[sbox - 1][val]
" Single SBox computation (6 to 4 bits).
Args: sbox (int): SBox number, from 1 to 8 val (long): 6 bits input
Returns:
The 4 bits output of SBox number sbox
corresponding to the
6 bits input, as a 4 bits integer
8414def sboxes(val): 8415 """ 8416All SBoxes computation (48 to 32 bits). 8417 8418Args: 8419 val (long): 48 bits input 8420 8421Returns: 8422 The 32 bits output of all SBoxes corresponding to the 48 bits 8423 input, as a 32 bits integer 8424 8425""" 8426 assert (val >> 48) == 0, '\nInvalid sboxes input value: 0x{value:016x}'.format(value=val) 8427 res = 0 8428 for i in range(1, 9): 8429 res = (res << 4) | sbox(i, (val >> ((8 - i) * 6)) & 0x3f) 8430 return res
All SBoxes computation (48 to 32 bits).
Args: val (long): 48 bits input
Returns: The 32 bits output of all SBoxes corresponding to the 48 bits input, as a 32 bits integer
8432def right_half(val): 8433 """ 8434Returns the 32 bits right half of a 64 bits word. 8435 8436Args: 8437 val (long): 64 bits input 8438 8439Returns: 8440 The 32 bits right half of a 64 bits word, as a 32 bits integer 8441 8442""" 8443 return val & 0xffffffff
Returns the 32 bits right half of a 64 bits word.
Args: val (long): 64 bits input
Returns: The 32 bits right half of a 64 bits word, as a 32 bits integer
8445def left_half(val): 8446 """ 8447Returns the 32 bits left half of a 64 bits word. 8448 8449Args: 8450 val (long): 64 bits input 8451 8452Returns: 8453 The 32 bits left half of a 64 bits word, as a 32 bits integer 8454 8455""" 8456 return val >> 32
Returns the 32 bits left half of a 64 bits word.
Args: val (long): 64 bits input
Returns: The 32 bits left half of a 64 bits word, as a 32 bits integer
8458def ls(val): 8459 """ 8460Applies the **left shift** rotation of the standard (56 to 56 bits). 8461 8462Args: 8463 val (long): 56 bits input 8464 8465Returns: 8466 The rotated input, as a 56 bits integer 8467 8468""" 8469 assert (val >> 56) == 0, '\nInvalid left shift input value: 0x{value:016x}'.format(value=val) 8470 c = val & 0xfffffff0000000 8471 d = val & 0xfffffff 8472 c = ((c << 1) | (c >> 27)) & 0xfffffff0000000 8473 d = ((d << 1) | (d >> 27)) & 0xfffffff 8474 return c | d
Applies the left shift rotation of the standard (56 to 56 bits).
Args: val (long): 56 bits input
Returns: The rotated input, as a 56 bits integer
8476def rs(val): 8477 """ 8478Applies the **right shift** rotation of the standard (56 to 56 bits). 8479 8480Args: 8481 val (long): 56 bits input 8482 8483Returns: 8484 The rotated input, as a 56 bits integer 8485 8486""" 8487 assert (val >> 56) == 0, '\nInvalid right shift input value: 0x{value:016x}'.format(value=val) 8488 c = val & 0xfffffff0000000 8489 d = val & 0xfffffff 8490 c = ((c >> 1) | (c << 27)) & 0xfffffff0000000 8491 d = ((d >> 1) | (d << 27)) & 0xfffffff 8492 return c | d
Applies the right shift rotation of the standard (56 to 56 bits).
Args: val (long): 56 bits input
Returns: The rotated input, as a 56 bits integer
8494def f(rk, val): 8495 """ 8496The F function of the standard (48+32 bits to 32 bits). 8497 8498Args: 8499 rk (long): 48 bits round key 8500 val (long): 32 bits data input 8501 8502Returns: 8503 The transformed input as a 32 bits integer 8504 8505""" 8506 assert (val >> 32) == 0, '\nInvalid R input value for F function: 0x{value:016x}'.format(value=val) 8507 assert (rk >> 48) == 0, '\nInvalid RK input value for F function: 0x{value:016x}'.format(value=rk) 8508 return p (sboxes (e (val) ^ rk))
The F function of the standard (48+32 bits to 32 bits).
Args: rk (long): 48 bits round key val (long): 32 bits data input
Returns: The transformed input as a 32 bits integer
8510def key_schedule(val): 8511 """ 8512Computes the whole key schedule from a 64 bits secret key and 8513stores the sixteen 48 bits round keys in a list. 8514 8515Args: 8516 val (long): 64 bits key 8517 8518Returns: 8519 The sixteen 48 bits round keys in a list 8520 8521""" 8522 ks = [0 for i in range(16)] 8523 cd = pc1(val) 8524 for i in range(16): 8525 cd = ls(cd) 8526 if (left_shifts[i] == 1): 8527 cd = ls(cd) 8528 ks[i] = pc2(cd) 8529 return ks
Computes the whole key schedule from a 64 bits secret key and stores the sixteen 48 bits round keys in a list.
Args: val (long): 64 bits key
Returns: The sixteen 48 bits round keys in a list
8531def enc(ks, val): 8532 """ 8533Enciphers a 64 bits plaintext with a pre-computed key schedule. 8534 8535Args: 8536 ks (List[long]): The pre-computed key schedule 8537 val (long): The 64 bits plaintext 8538 8539Returns: 8540 The enciphered plaintext as a 64 bits integer 8541 8542""" 8543 lr = ip(val) 8544 r = right_half(lr) 8545 l = left_half(lr) 8546 for i in range(16): 8547 tmp = r 8548 r = l ^ f(ks[i], r) 8549 l = tmp 8550 return fp ((r << 32) | l)
Enciphers a 64 bits plaintext with a pre-computed key schedule.
Args: ks (List[long]): The pre-computed key schedule val (long): The 64 bits plaintext
Returns: The enciphered plaintext as a 64 bits integer
8552def dec(ks, val): 8553 """ 8554Deciphers a 64 bits ciphertext with a pre-computed key schedule. 8555 8556Args: 8557 ks (List[long]): The pre-computed key schedule 8558 val (long): The 64 bits ciphertext 8559 8560Returns: 8561 The deciphered ciphertext as a 64 bits integer 8562 8563""" 8564 lr = ip(val) 8565 r = right_half(lr) 8566 l = left_half(lr) 8567 for i in range(15, -1, -1): 8568 tmp = r 8569 r = l ^ f(ks[i], r) 8570 l = tmp 8571 return fp((r << 32) | l)
Deciphers a 64 bits ciphertext with a pre-computed key schedule.
Args: ks (List[long]): The pre-computed key schedule val (long): The 64 bits ciphertext
Returns: The deciphered ciphertext as a 64 bits integer
8573def check(): 8574 """ 8575A functional verification of the DES implementation. Runs a 8576number of encipherments with enc() and the corresponding 8577decipherments with dec() and checks the results against 8578pre-computed plaintexts, ciphertexts and secret keys. 8579 8580Returns: 8581 `True` on success, `False` on errors 8582 8583""" 8584 ok = 1 8585 for i in range(NUM_TEST_VECTORS): 8586 ks = key_schedule(keys[i]) 8587 tmp = enc(ks, pts[i]) 8588 if tmp != cts[i]: 8589 print('encryption {i:2d}\nk=0x{k:016x} p=0x{p:016x} o=0x{o:016x} act=0x{act:016x}\n'.format(i=i+1, k=keys[i], p=pts[i], o=cts[i], act=tmp), file=sys.stderr) 8590 ok = 0 8591 tmp = dec(ks, cts[i]) 8592 if tmp != pts[i]: 8593 print('decryption {i:2d}\nk=0x{k:016x} c=0x{c:016x} o=0x{o:016x} act=0x{act:016x}\n'.format(i=i+1, k=keys[i], c=cts[i], o=pts[i], act=tmp), file=sys.stderr) 8594 ok = 0 8595 return ok
A functional verification of the DES implementation. Runs a number of encipherments with enc() and the corresponding decipherments with dec() and checks the results against pre-computed plaintexts, ciphertexts and secret keys.
Returns:
True
on success, False
on errors