Home | History | Annotate | Download | only in mjsunit
      1 // Copyright 2008 the V8 project authors. All rights reserved.
      2 // Redistribution and use in source and binary forms, with or without
      3 // modification, are permitted provided that the following conditions are
      4 // met:
      5 //
      6 //     * Redistributions of source code must retain the above copyright
      7 //       notice, this list of conditions and the following disclaimer.
      8 //     * Redistributions in binary form must reproduce the above
      9 //       copyright notice, this list of conditions and the following
     10 //       disclaimer in the documentation and/or other materials provided
     11 //       with the distribution.
     12 //     * Neither the name of Google Inc. nor the names of its
     13 //       contributors may be used to endorse or promote products derived
     14 //       from this software without specific prior written permission.
     15 //
     16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27 
     28 var x;
     29 
     30 // Converts a number to string respecting -0.
     31 function stringify(n) {
     32   if ((1 / n) === -Infinity) return "-0";
     33   return String(n);
     34 }
     35 
     36 function f(expected, y) {
     37   function testEval(string, x, y) {
     38     var mulFunction = Function("x, y", "return " + string);
     39     return mulFunction(x, y);
     40   }
     41   function mulTest(expected, x, y) {
     42     assertEquals(expected, x * y);
     43     assertEquals(expected, testEval(stringify(x) + " * y", x, y));
     44     assertEquals(expected, testEval("x * " + stringify(y), x, y));
     45     assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
     46   }
     47   mulTest(expected, x, y);
     48   mulTest(-expected, -x, y);
     49   mulTest(-expected, x, -y);
     50   mulTest(expected, -x, -y);
     51   if (x === y) return;  // Symmetric cases not necessary.
     52   mulTest(expected, y, x);
     53   mulTest(-expected, -y, x);
     54   mulTest(-expected, y, -x);
     55   mulTest(expected, -y, -x);
     56 }
     57 
     58 x = 0;
     59 f(0, 0);
     60 x = 1;
     61 f(0, 0);
     62 f(1, 1);
     63 x = 2;
     64 f(0, 0);
     65 f(2, 1);
     66 f(4, 2);
     67 x = 3;
     68 f(0, 0);
     69 f(3, 1);
     70 f(6, 2);
     71 f(9, 3);
     72 x = 4;
     73 f(0, 0);
     74 f(4, 1);
     75 f(8, 2);
     76 f(12, 3);
     77 f(16, 4);
     78 x = 5;
     79 f(0, 0);
     80 f(5, 1);
     81 f(10, 2);
     82 f(15, 3);
     83 f(20, 4);
     84 f(25, 5);
     85 x = 7;
     86 f(0, 0);
     87 f(7, 1);
     88 f(14, 2);
     89 f(21, 3);
     90 f(28, 4);
     91 f(35, 5);
     92 f(49, 7);
     93 x = 8;
     94 f(0, 0);
     95 f(8, 1);
     96 f(16, 2);
     97 f(24, 3);
     98 f(32, 4);
     99 f(40, 5);
    100 f(56, 7);
    101 f(64, 8);
    102 x = 9;
    103 f(0, 0);
    104 f(9, 1);
    105 f(18, 2);
    106 f(27, 3);
    107 f(36, 4);
    108 f(45, 5);
    109 f(63, 7);
    110 f(72, 8);
    111 f(81, 9);
    112 x = 15;
    113 f(0, 0);
    114 f(15, 1);
    115 f(30, 2);
    116 f(45, 3);
    117 f(60, 4);
    118 f(75, 5);
    119 f(105, 7);
    120 f(120, 8);
    121 f(135, 9);
    122 f(225, 15);
    123 x = 16;
    124 f(0, 0);
    125 f(16, 1);
    126 f(32, 2);
    127 f(48, 3);
    128 f(64, 4);
    129 f(80, 5);
    130 f(112, 7);
    131 f(128, 8);
    132 f(144, 9);
    133 f(240, 15);
    134 f(256, 16);
    135 x = 17;
    136 f(0, 0);
    137 f(17, 1);
    138 f(34, 2);
    139 f(51, 3);
    140 f(68, 4);
    141 f(85, 5);
    142 f(119, 7);
    143 f(136, 8);
    144 f(153, 9);
    145 f(255, 15);
    146 f(272, 16);
    147 f(289, 17);
    148 x = 31;
    149 f(0, 0);
    150 f(31, 1);
    151 f(62, 2);
    152 f(93, 3);
    153 f(124, 4);
    154 f(155, 5);
    155 f(217, 7);
    156 f(248, 8);
    157 f(279, 9);
    158 f(465, 15);
    159 f(496, 16);
    160 f(527, 17);
    161 f(961, 31);
    162 x = 32;
    163 f(0, 0);
    164 f(32, 1);
    165 f(64, 2);
    166 f(96, 3);
    167 f(128, 4);
    168 f(160, 5);
    169 f(224, 7);
    170 f(256, 8);
    171 f(288, 9);
    172 f(480, 15);
    173 f(512, 16);
    174 f(544, 17);
    175 f(992, 31);
    176 f(1024, 32);
    177 x = 33;
    178 f(0, 0);
    179 f(33, 1);
    180 f(66, 2);
    181 f(99, 3);
    182 f(132, 4);
    183 f(165, 5);
    184 f(231, 7);
    185 f(264, 8);
    186 f(297, 9);
    187 f(495, 15);
    188 f(528, 16);
    189 f(561, 17);
    190 f(1023, 31);
    191 f(1056, 32);
    192 f(1089, 33);
    193 x = 63;
    194 f(0, 0);
    195 f(63, 1);
    196 f(126, 2);
    197 f(189, 3);
    198 f(252, 4);
    199 f(315, 5);
    200 f(441, 7);
    201 f(504, 8);
    202 f(567, 9);
    203 f(945, 15);
    204 f(1008, 16);
    205 f(1071, 17);
    206 f(1953, 31);
    207 f(2016, 32);
    208 f(2079, 33);
    209 f(3969, 63);
    210 x = 64;
    211 f(0, 0);
    212 f(64, 1);
    213 f(128, 2);
    214 f(192, 3);
    215 f(256, 4);
    216 f(320, 5);
    217 f(448, 7);
    218 f(512, 8);
    219 f(576, 9);
    220 f(960, 15);
    221 f(1024, 16);
    222 f(1088, 17);
    223 f(1984, 31);
    224 f(2048, 32);
    225 f(2112, 33);
    226 f(4032, 63);
    227 f(4096, 64);
    228 x = 65;
    229 f(0, 0);
    230 f(65, 1);
    231 f(130, 2);
    232 f(195, 3);
    233 f(260, 4);
    234 f(325, 5);
    235 f(455, 7);
    236 f(520, 8);
    237 f(585, 9);
    238 f(975, 15);
    239 f(1040, 16);
    240 f(1105, 17);
    241 f(2015, 31);
    242 f(2080, 32);
    243 f(2145, 33);
    244 f(4095, 63);
    245 f(4160, 64);
    246 f(4225, 65);
    247 x = 127;
    248 f(0, 0);
    249 f(127, 1);
    250 f(254, 2);
    251 f(381, 3);
    252 f(508, 4);
    253 f(635, 5);
    254 f(889, 7);
    255 f(1016, 8);
    256 f(1143, 9);
    257 f(1905, 15);
    258 f(2032, 16);
    259 f(2159, 17);
    260 f(3937, 31);
    261 f(4064, 32);
    262 f(4191, 33);
    263 f(8001, 63);
    264 f(8128, 64);
    265 f(8255, 65);
    266 f(16129, 127);
    267 x = 128;
    268 f(0, 0);
    269 f(128, 1);
    270 f(256, 2);
    271 f(384, 3);
    272 f(512, 4);
    273 f(640, 5);
    274 f(896, 7);
    275 f(1024, 8);
    276 f(1152, 9);
    277 f(1920, 15);
    278 f(2048, 16);
    279 f(2176, 17);
    280 f(3968, 31);
    281 f(4096, 32);
    282 f(4224, 33);
    283 f(8064, 63);
    284 f(8192, 64);
    285 f(8320, 65);
    286 f(16256, 127);
    287 f(16384, 128);
    288 x = 129;
    289 f(0, 0);
    290 f(129, 1);
    291 f(258, 2);
    292 f(387, 3);
    293 f(516, 4);
    294 f(645, 5);
    295 f(903, 7);
    296 f(1032, 8);
    297 f(1161, 9);
    298 f(1935, 15);
    299 f(2064, 16);
    300 f(2193, 17);
    301 f(3999, 31);
    302 f(4128, 32);
    303 f(4257, 33);
    304 f(8127, 63);
    305 f(8256, 64);
    306 f(8385, 65);
    307 f(16383, 127);
    308 f(16512, 128);
    309 f(16641, 129);
    310 x = 255;
    311 f(0, 0);
    312 f(255, 1);
    313 f(510, 2);
    314 f(765, 3);
    315 f(1020, 4);
    316 f(1275, 5);
    317 f(1785, 7);
    318 f(2040, 8);
    319 f(2295, 9);
    320 f(3825, 15);
    321 f(4080, 16);
    322 f(4335, 17);
    323 f(7905, 31);
    324 f(8160, 32);
    325 f(8415, 33);
    326 f(16065, 63);
    327 f(16320, 64);
    328 f(16575, 65);
    329 f(32385, 127);
    330 f(32640, 128);
    331 f(32895, 129);
    332 f(65025, 255);
    333 x = 256;
    334 f(0, 0);
    335 f(256, 1);
    336 f(512, 2);
    337 f(768, 3);
    338 f(1024, 4);
    339 f(1280, 5);
    340 f(1792, 7);
    341 f(2048, 8);
    342 f(2304, 9);
    343 f(3840, 15);
    344 f(4096, 16);
    345 f(4352, 17);
    346 f(7936, 31);
    347 f(8192, 32);
    348 f(8448, 33);
    349 f(16128, 63);
    350 f(16384, 64);
    351 f(16640, 65);
    352 f(32512, 127);
    353 f(32768, 128);
    354 f(33024, 129);
    355 f(65280, 255);
    356 f(65536, 256);
    357 x = 257;
    358 f(0, 0);
    359 f(257, 1);
    360 f(514, 2);
    361 f(771, 3);
    362 f(1028, 4);
    363 f(1285, 5);
    364 f(1799, 7);
    365 f(2056, 8);
    366 f(2313, 9);
    367 f(3855, 15);
    368 f(4112, 16);
    369 f(4369, 17);
    370 f(7967, 31);
    371 f(8224, 32);
    372 f(8481, 33);
    373 f(16191, 63);
    374 f(16448, 64);
    375 f(16705, 65);
    376 f(32639, 127);
    377 f(32896, 128);
    378 f(33153, 129);
    379 f(65535, 255);
    380 f(65792, 256);
    381 f(66049, 257);
    382 x = 511;
    383 f(0, 0);
    384 f(511, 1);
    385 f(1022, 2);
    386 f(1533, 3);
    387 f(2044, 4);
    388 f(2555, 5);
    389 f(3577, 7);
    390 f(4088, 8);
    391 f(4599, 9);
    392 f(7665, 15);
    393 f(8176, 16);
    394 f(8687, 17);
    395 f(15841, 31);
    396 f(16352, 32);
    397 f(16863, 33);
    398 f(32193, 63);
    399 f(32704, 64);
    400 f(33215, 65);
    401 f(64897, 127);
    402 f(65408, 128);
    403 f(65919, 129);
    404 f(130305, 255);
    405 f(130816, 256);
    406 f(131327, 257);
    407 f(261121, 511);
    408 x = 512;
    409 f(0, 0);
    410 f(512, 1);
    411 f(1024, 2);
    412 f(1536, 3);
    413 f(2048, 4);
    414 f(2560, 5);
    415 f(3584, 7);
    416 f(4096, 8);
    417 f(4608, 9);
    418 f(7680, 15);
    419 f(8192, 16);
    420 f(8704, 17);
    421 f(15872, 31);
    422 f(16384, 32);
    423 f(16896, 33);
    424 f(32256, 63);
    425 f(32768, 64);
    426 f(33280, 65);
    427 f(65024, 127);
    428 f(65536, 128);
    429 f(66048, 129);
    430 f(130560, 255);
    431 f(131072, 256);
    432 f(131584, 257);
    433 f(261632, 511);
    434 f(262144, 512);
    435 x = 513;
    436 f(0, 0);
    437 f(513, 1);
    438 f(1026, 2);
    439 f(1539, 3);
    440 f(2052, 4);
    441 f(2565, 5);
    442 f(3591, 7);
    443 f(4104, 8);
    444 f(4617, 9);
    445 f(7695, 15);
    446 f(8208, 16);
    447 f(8721, 17);
    448 f(15903, 31);
    449 f(16416, 32);
    450 f(16929, 33);
    451 f(32319, 63);
    452 f(32832, 64);
    453 f(33345, 65);
    454 f(65151, 127);
    455 f(65664, 128);
    456 f(66177, 129);
    457 f(130815, 255);
    458 f(131328, 256);
    459 f(131841, 257);
    460 f(262143, 511);
    461 f(262656, 512);
    462 f(263169, 513);
    463 x = 1023;
    464 f(0, 0);
    465 f(1023, 1);
    466 f(2046, 2);
    467 f(3069, 3);
    468 f(4092, 4);
    469 f(5115, 5);
    470 f(7161, 7);
    471 f(8184, 8);
    472 f(9207, 9);
    473 f(15345, 15);
    474 f(16368, 16);
    475 f(17391, 17);
    476 f(31713, 31);
    477 f(32736, 32);
    478 f(33759, 33);
    479 f(64449, 63);
    480 f(65472, 64);
    481 f(66495, 65);
    482 f(129921, 127);
    483 f(130944, 128);
    484 f(131967, 129);
    485 f(260865, 255);
    486 f(261888, 256);
    487 f(262911, 257);
    488 f(522753, 511);
    489 f(523776, 512);
    490 f(524799, 513);
    491 f(1046529, 1023);
    492 x = 1024;
    493 f(0, 0);
    494 f(1024, 1);
    495 f(2048, 2);
    496 f(3072, 3);
    497 f(4096, 4);
    498 f(5120, 5);
    499 f(7168, 7);
    500 f(8192, 8);
    501 f(9216, 9);
    502 f(15360, 15);
    503 f(16384, 16);
    504 f(17408, 17);
    505 f(31744, 31);
    506 f(32768, 32);
    507 f(33792, 33);
    508 f(64512, 63);
    509 f(65536, 64);
    510 f(66560, 65);
    511 f(130048, 127);
    512 f(131072, 128);
    513 f(132096, 129);
    514 f(261120, 255);
    515 f(262144, 256);
    516 f(263168, 257);
    517 f(523264, 511);
    518 f(524288, 512);
    519 f(525312, 513);
    520 f(1047552, 1023);
    521 f(1048576, 1024);
    522 x = 1025;
    523 f(0, 0);
    524 f(1025, 1);
    525 f(2050, 2);
    526 f(3075, 3);
    527 f(4100, 4);
    528 f(5125, 5);
    529 f(7175, 7);
    530 f(8200, 8);
    531 f(9225, 9);
    532 f(15375, 15);
    533 f(16400, 16);
    534 f(17425, 17);
    535 f(31775, 31);
    536 f(32800, 32);
    537 f(33825, 33);
    538 f(64575, 63);
    539 f(65600, 64);
    540 f(66625, 65);
    541 f(130175, 127);
    542 f(131200, 128);
    543 f(132225, 129);
    544 f(261375, 255);
    545 f(262400, 256);
    546 f(263425, 257);
    547 f(523775, 511);
    548 f(524800, 512);
    549 f(525825, 513);
    550 f(1048575, 1023);
    551 f(1049600, 1024);
    552 f(1050625, 1025);
    553 x = 2047;
    554 f(0, 0);
    555 f(2047, 1);
    556 f(4094, 2);
    557 f(6141, 3);
    558 f(8188, 4);
    559 f(10235, 5);
    560 f(14329, 7);
    561 f(16376, 8);
    562 f(18423, 9);
    563 f(30705, 15);
    564 f(32752, 16);
    565 f(34799, 17);
    566 f(63457, 31);
    567 f(65504, 32);
    568 f(67551, 33);
    569 f(128961, 63);
    570 f(131008, 64);
    571 f(133055, 65);
    572 f(259969, 127);
    573 f(262016, 128);
    574 f(264063, 129);
    575 f(521985, 255);
    576 f(524032, 256);
    577 f(526079, 257);
    578 f(1046017, 511);
    579 f(1048064, 512);
    580 f(1050111, 513);
    581 f(2094081, 1023);
    582 f(2096128, 1024);
    583 f(2098175, 1025);
    584 f(4190209, 2047);
    585 x = 2048;
    586 f(0, 0);
    587 f(2048, 1);
    588 f(4096, 2);
    589 f(6144, 3);
    590 f(8192, 4);
    591 f(10240, 5);
    592 f(14336, 7);
    593 f(16384, 8);
    594 f(18432, 9);
    595 f(30720, 15);
    596 f(32768, 16);
    597 f(34816, 17);
    598 f(63488, 31);
    599 f(65536, 32);
    600 f(67584, 33);
    601 f(129024, 63);
    602 f(131072, 64);
    603 f(133120, 65);
    604 f(260096, 127);
    605 f(262144, 128);
    606 f(264192, 129);
    607 f(522240, 255);
    608 f(524288, 256);
    609 f(526336, 257);
    610 f(1046528, 511);
    611 f(1048576, 512);
    612 f(1050624, 513);
    613 f(2095104, 1023);
    614 f(2097152, 1024);
    615 f(2099200, 1025);
    616 f(4192256, 2047);
    617 f(4194304, 2048);
    618 x = 2049;
    619 f(0, 0);
    620 f(2049, 1);
    621 f(4098, 2);
    622 f(6147, 3);
    623 f(8196, 4);
    624 f(10245, 5);
    625 f(14343, 7);
    626 f(16392, 8);
    627 f(18441, 9);
    628 f(30735, 15);
    629 f(32784, 16);
    630 f(34833, 17);
    631 f(63519, 31);
    632 f(65568, 32);
    633 f(67617, 33);
    634 f(129087, 63);
    635 f(131136, 64);
    636 f(133185, 65);
    637 f(260223, 127);
    638 f(262272, 128);
    639 f(264321, 129);
    640 f(522495, 255);
    641 f(524544, 256);
    642 f(526593, 257);
    643 f(1047039, 511);
    644 f(1049088, 512);
    645 f(1051137, 513);
    646 f(2096127, 1023);
    647 f(2098176, 1024);
    648 f(2100225, 1025);
    649 f(4194303, 2047);
    650 f(4196352, 2048);
    651 f(4198401, 2049);
    652 x = 4095;
    653 f(0, 0);
    654 f(4095, 1);
    655 f(8190, 2);
    656 f(12285, 3);
    657 f(16380, 4);
    658 f(20475, 5);
    659 f(28665, 7);
    660 f(32760, 8);
    661 f(36855, 9);
    662 f(61425, 15);
    663 f(65520, 16);
    664 f(69615, 17);
    665 f(126945, 31);
    666 f(131040, 32);
    667 f(135135, 33);
    668 f(257985, 63);
    669 f(262080, 64);
    670 f(266175, 65);
    671 f(520065, 127);
    672 f(524160, 128);
    673 f(528255, 129);
    674 f(1044225, 255);
    675 f(1048320, 256);
    676 f(1052415, 257);
    677 f(2092545, 511);
    678 f(2096640, 512);
    679 f(2100735, 513);
    680 f(4189185, 1023);
    681 f(4193280, 1024);
    682 f(4197375, 1025);
    683 f(8382465, 2047);
    684 f(8386560, 2048);
    685 f(8390655, 2049);
    686 f(16769025, 4095);
    687 x = 4096;
    688 f(0, 0);
    689 f(4096, 1);
    690 f(8192, 2);
    691 f(12288, 3);
    692 f(16384, 4);
    693 f(20480, 5);
    694 f(28672, 7);
    695 f(32768, 8);
    696 f(36864, 9);
    697 f(61440, 15);
    698 f(65536, 16);
    699 f(69632, 17);
    700 f(126976, 31);
    701 f(131072, 32);
    702 f(135168, 33);
    703 f(258048, 63);
    704 f(262144, 64);
    705 f(266240, 65);
    706 f(520192, 127);
    707 f(524288, 128);
    708 f(528384, 129);
    709 f(1044480, 255);
    710 f(1048576, 256);
    711 f(1052672, 257);
    712 f(2093056, 511);
    713 f(2097152, 512);
    714 f(2101248, 513);
    715 f(4190208, 1023);
    716 f(4194304, 1024);
    717 f(4198400, 1025);
    718 f(8384512, 2047);
    719 f(8388608, 2048);
    720 f(8392704, 2049);
    721 f(16773120, 4095);
    722 f(16777216, 4096);
    723 x = 4097;
    724 f(0, 0);
    725 f(4097, 1);
    726 f(8194, 2);
    727 f(12291, 3);
    728 f(16388, 4);
    729 f(20485, 5);
    730 f(28679, 7);
    731 f(32776, 8);
    732 f(36873, 9);
    733 f(61455, 15);
    734 f(65552, 16);
    735 f(69649, 17);
    736 f(127007, 31);
    737 f(131104, 32);
    738 f(135201, 33);
    739 f(258111, 63);
    740 f(262208, 64);
    741 f(266305, 65);
    742 f(520319, 127);
    743 f(524416, 128);
    744 f(528513, 129);
    745 f(1044735, 255);
    746 f(1048832, 256);
    747 f(1052929, 257);
    748 f(2093567, 511);
    749 f(2097664, 512);
    750 f(2101761, 513);
    751 f(4191231, 1023);
    752 f(4195328, 1024);
    753 f(4199425, 1025);
    754 f(8386559, 2047);
    755 f(8390656, 2048);
    756 f(8394753, 2049);
    757 f(16777215, 4095);
    758 f(16781312, 4096);
    759 f(16785409, 4097);
    760 x = 8191;
    761 f(0, 0);
    762 f(8191, 1);
    763 f(16382, 2);
    764 f(24573, 3);
    765 f(32764, 4);
    766 f(40955, 5);
    767 f(57337, 7);
    768 f(65528, 8);
    769 f(73719, 9);
    770 f(122865, 15);
    771 f(131056, 16);
    772 f(139247, 17);
    773 f(253921, 31);
    774 f(262112, 32);
    775 f(270303, 33);
    776 f(516033, 63);
    777 f(524224, 64);
    778 f(532415, 65);
    779 f(1040257, 127);
    780 f(1048448, 128);
    781 f(1056639, 129);
    782 f(2088705, 255);
    783 f(2096896, 256);
    784 f(2105087, 257);
    785 f(4185601, 511);
    786 f(4193792, 512);
    787 f(4201983, 513);
    788 f(8379393, 1023);
    789 f(8387584, 1024);
    790 f(8395775, 1025);
    791 f(16766977, 2047);
    792 f(16775168, 2048);
    793 f(16783359, 2049);
    794 f(33542145, 4095);
    795 f(33550336, 4096);
    796 f(33558527, 4097);
    797 f(67092481, 8191);
    798 x = 8192;
    799 f(0, 0);
    800 f(8192, 1);
    801 f(16384, 2);
    802 f(24576, 3);
    803 f(32768, 4);
    804 f(40960, 5);
    805 f(57344, 7);
    806 f(65536, 8);
    807 f(73728, 9);
    808 f(122880, 15);
    809 f(131072, 16);
    810 f(139264, 17);
    811 f(253952, 31);
    812 f(262144, 32);
    813 f(270336, 33);
    814 f(516096, 63);
    815 f(524288, 64);
    816 f(532480, 65);
    817 f(1040384, 127);
    818 f(1048576, 128);
    819 f(1056768, 129);
    820 f(2088960, 255);
    821 f(2097152, 256);
    822 f(2105344, 257);
    823 f(4186112, 511);
    824 f(4194304, 512);
    825 f(4202496, 513);
    826 f(8380416, 1023);
    827 f(8388608, 1024);
    828 f(8396800, 1025);
    829 f(16769024, 2047);
    830 f(16777216, 2048);
    831 f(16785408, 2049);
    832 f(33546240, 4095);
    833 f(33554432, 4096);
    834 f(33562624, 4097);
    835 f(67100672, 8191);
    836 f(67108864, 8192);
    837 x = 8193;
    838 f(0, 0);
    839 f(8193, 1);
    840 f(16386, 2);
    841 f(24579, 3);
    842 f(32772, 4);
    843 f(40965, 5);
    844 f(57351, 7);
    845 f(65544, 8);
    846 f(73737, 9);
    847 f(122895, 15);
    848 f(131088, 16);
    849 f(139281, 17);
    850 f(253983, 31);
    851 f(262176, 32);
    852 f(270369, 33);
    853 f(516159, 63);
    854 f(524352, 64);
    855 f(532545, 65);
    856 f(1040511, 127);
    857 f(1048704, 128);
    858 f(1056897, 129);
    859 f(2089215, 255);
    860 f(2097408, 256);
    861 f(2105601, 257);
    862 f(4186623, 511);
    863 f(4194816, 512);
    864 f(4203009, 513);
    865 f(8381439, 1023);
    866 f(8389632, 1024);
    867 f(8397825, 1025);
    868 f(16771071, 2047);
    869 f(16779264, 2048);
    870 f(16787457, 2049);
    871 f(33550335, 4095);
    872 f(33558528, 4096);
    873 f(33566721, 4097);
    874 f(67108863, 8191);
    875 f(67117056, 8192);
    876 f(67125249, 8193);
    877 x = 16383;
    878 f(0, 0);
    879 f(16383, 1);
    880 f(32766, 2);
    881 f(49149, 3);
    882 f(65532, 4);
    883 f(81915, 5);
    884 f(114681, 7);
    885 f(131064, 8);
    886 f(147447, 9);
    887 f(245745, 15);
    888 f(262128, 16);
    889 f(278511, 17);
    890 f(507873, 31);
    891 f(524256, 32);
    892 f(540639, 33);
    893 f(1032129, 63);
    894 f(1048512, 64);
    895 f(1064895, 65);
    896 f(2080641, 127);
    897 f(2097024, 128);
    898 f(2113407, 129);
    899 f(4177665, 255);
    900 f(4194048, 256);
    901 f(4210431, 257);
    902 f(8371713, 511);
    903 f(8388096, 512);
    904 f(8404479, 513);
    905 f(16759809, 1023);
    906 f(16776192, 1024);
    907 f(16792575, 1025);
    908 f(33536001, 2047);
    909 f(33552384, 2048);
    910 f(33568767, 2049);
    911 f(67088385, 4095);
    912 f(67104768, 4096);
    913 f(67121151, 4097);
    914 f(134193153, 8191);
    915 f(134209536, 8192);
    916 f(134225919, 8193);
    917 f(268402689, 16383);
    918 x = 16384;
    919 f(0, 0);
    920 f(16384, 1);
    921 f(32768, 2);
    922 f(49152, 3);
    923 f(65536, 4);
    924 f(81920, 5);
    925 f(114688, 7);
    926 f(131072, 8);
    927 f(147456, 9);
    928 f(245760, 15);
    929 f(262144, 16);
    930 f(278528, 17);
    931 f(507904, 31);
    932 f(524288, 32);
    933 f(540672, 33);
    934 f(1032192, 63);
    935 f(1048576, 64);
    936 f(1064960, 65);
    937 f(2080768, 127);
    938 f(2097152, 128);
    939 f(2113536, 129);
    940 f(4177920, 255);
    941 f(4194304, 256);
    942 f(4210688, 257);
    943 f(8372224, 511);
    944 f(8388608, 512);
    945 f(8404992, 513);
    946 f(16760832, 1023);
    947 f(16777216, 1024);
    948 f(16793600, 1025);
    949 f(33538048, 2047);
    950 f(33554432, 2048);
    951 f(33570816, 2049);
    952 f(67092480, 4095);
    953 f(67108864, 4096);
    954 f(67125248, 4097);
    955 f(134201344, 8191);
    956 f(134217728, 8192);
    957 f(134234112, 8193);
    958 f(268419072, 16383);
    959 f(268435456, 16384);
    960 x = 16385;
    961 f(0, 0);
    962 f(16385, 1);
    963 f(32770, 2);
    964 f(49155, 3);
    965 f(65540, 4);
    966 f(81925, 5);
    967 f(114695, 7);
    968 f(131080, 8);
    969 f(147465, 9);
    970 f(245775, 15);
    971 f(262160, 16);
    972 f(278545, 17);
    973 f(507935, 31);
    974 f(524320, 32);
    975 f(540705, 33);
    976 f(1032255, 63);
    977 f(1048640, 64);
    978 f(1065025, 65);
    979 f(2080895, 127);
    980 f(2097280, 128);
    981 f(2113665, 129);
    982 f(4178175, 255);
    983 f(4194560, 256);
    984 f(4210945, 257);
    985 f(8372735, 511);
    986 f(8389120, 512);
    987 f(8405505, 513);
    988 f(16761855, 1023);
    989 f(16778240, 1024);
    990 f(16794625, 1025);
    991 f(33540095, 2047);
    992 f(33556480, 2048);
    993 f(33572865, 2049);
    994 f(67096575, 4095);
    995 f(67112960, 4096);
    996 f(67129345, 4097);
    997 f(134209535, 8191);
    998 f(134225920, 8192);
    999 f(134242305, 8193);
   1000 f(268435455, 16383);
   1001 f(268451840, 16384);
   1002 f(268468225, 16385);
   1003 x = 32767;
   1004 f(0, 0);
   1005 f(32767, 1);
   1006 f(65534, 2);
   1007 f(98301, 3);
   1008 f(131068, 4);
   1009 f(163835, 5);
   1010 f(229369, 7);
   1011 f(262136, 8);
   1012 f(294903, 9);
   1013 f(491505, 15);
   1014 f(524272, 16);
   1015 f(557039, 17);
   1016 f(1015777, 31);
   1017 f(1048544, 32);
   1018 f(1081311, 33);
   1019 f(2064321, 63);
   1020 f(2097088, 64);
   1021 f(2129855, 65);
   1022 f(4161409, 127);
   1023 f(4194176, 128);
   1024 f(4226943, 129);
   1025 f(8355585, 255);
   1026 f(8388352, 256);
   1027 f(8421119, 257);
   1028 f(16743937, 511);
   1029 f(16776704, 512);
   1030 f(16809471, 513);
   1031 f(33520641, 1023);
   1032 f(33553408, 1024);
   1033 f(33586175, 1025);
   1034 f(67074049, 2047);
   1035 f(67106816, 2048);
   1036 f(67139583, 2049);
   1037 f(134180865, 4095);
   1038 f(134213632, 4096);
   1039 f(134246399, 4097);
   1040 f(268394497, 8191);
   1041 f(268427264, 8192);
   1042 f(268460031, 8193);
   1043 f(536821761, 16383);
   1044 f(536854528, 16384);
   1045 f(536887295, 16385);
   1046 f(1073676289, 32767);
   1047 x = 32768;
   1048 f(0, 0);
   1049 f(32768, 1);
   1050 f(65536, 2);
   1051 f(98304, 3);
   1052 f(131072, 4);
   1053 f(163840, 5);
   1054 f(229376, 7);
   1055 f(262144, 8);
   1056 f(294912, 9);
   1057 f(491520, 15);
   1058 f(524288, 16);
   1059 f(557056, 17);
   1060 f(1015808, 31);
   1061 f(1048576, 32);
   1062 f(1081344, 33);
   1063 f(2064384, 63);
   1064 f(2097152, 64);
   1065 f(2129920, 65);
   1066 f(4161536, 127);
   1067 f(4194304, 128);
   1068 f(4227072, 129);
   1069 f(8355840, 255);
   1070 f(8388608, 256);
   1071 f(8421376, 257);
   1072 f(16744448, 511);
   1073 f(16777216, 512);
   1074 f(16809984, 513);
   1075 f(33521664, 1023);
   1076 f(33554432, 1024);
   1077 f(33587200, 1025);
   1078 f(67076096, 2047);
   1079 f(67108864, 2048);
   1080 f(67141632, 2049);
   1081 f(134184960, 4095);
   1082 f(134217728, 4096);
   1083 f(134250496, 4097);
   1084 f(268402688, 8191);
   1085 f(268435456, 8192);
   1086 f(268468224, 8193);
   1087 f(536838144, 16383);
   1088 f(536870912, 16384);
   1089 f(536903680, 16385);
   1090 f(1073709056, 32767);
   1091 f(1073741824, 32768);
   1092 x = 32769;
   1093 f(0, 0);
   1094 f(32769, 1);
   1095 f(65538, 2);
   1096 f(98307, 3);
   1097 f(131076, 4);
   1098 f(163845, 5);
   1099 f(229383, 7);
   1100 f(262152, 8);
   1101 f(294921, 9);
   1102 f(491535, 15);
   1103 f(524304, 16);
   1104 f(557073, 17);
   1105 f(1015839, 31);
   1106 f(1048608, 32);
   1107 f(1081377, 33);
   1108 f(2064447, 63);
   1109 f(2097216, 64);
   1110 f(2129985, 65);
   1111 f(4161663, 127);
   1112 f(4194432, 128);
   1113 f(4227201, 129);
   1114 f(8356095, 255);
   1115 f(8388864, 256);
   1116 f(8421633, 257);
   1117 f(16744959, 511);
   1118 f(16777728, 512);
   1119 f(16810497, 513);
   1120 f(33522687, 1023);
   1121 f(33555456, 1024);
   1122 f(33588225, 1025);
   1123 f(67078143, 2047);
   1124 f(67110912, 2048);
   1125 f(67143681, 2049);
   1126 f(134189055, 4095);
   1127 f(134221824, 4096);
   1128 f(134254593, 4097);
   1129 f(268410879, 8191);
   1130 f(268443648, 8192);
   1131 f(268476417, 8193);
   1132 f(536854527, 16383);
   1133 f(536887296, 16384);
   1134 f(536920065, 16385);
   1135 f(1073741823, 32767);
   1136 f(1073774592, 32768);
   1137 f(1073807361, 32769);
   1138 x = 65535;
   1139 f(0, 0);
   1140 f(65535, 1);
   1141 f(131070, 2);
   1142 f(196605, 3);
   1143 f(262140, 4);
   1144 f(327675, 5);
   1145 f(458745, 7);
   1146 f(524280, 8);
   1147 f(589815, 9);
   1148 f(983025, 15);
   1149 f(1048560, 16);
   1150 f(1114095, 17);
   1151 f(2031585, 31);
   1152 f(2097120, 32);
   1153 f(2162655, 33);
   1154 f(4128705, 63);
   1155 f(4194240, 64);
   1156 f(4259775, 65);
   1157 f(8322945, 127);
   1158 f(8388480, 128);
   1159 f(8454015, 129);
   1160 f(16711425, 255);
   1161 f(16776960, 256);
   1162 f(16842495, 257);
   1163 f(33488385, 511);
   1164 f(33553920, 512);
   1165 f(33619455, 513);
   1166 f(67042305, 1023);
   1167 f(67107840, 1024);
   1168 f(67173375, 1025);
   1169 f(134150145, 2047);
   1170 f(134215680, 2048);
   1171 f(134281215, 2049);
   1172 f(268365825, 4095);
   1173 f(268431360, 4096);
   1174 f(268496895, 4097);
   1175 f(536797185, 8191);
   1176 f(536862720, 8192);
   1177 f(536928255, 8193);
   1178 f(1073659905, 16383);
   1179 f(1073725440, 16384);
   1180 f(1073790975, 16385);
   1181 f(2147385345, 32767);
   1182 f(2147450880, 32768);
   1183 f(2147516415, 32769);
   1184 f(4294836225, 65535);
   1185 x = 65536;
   1186 f(0, 0);
   1187 f(65536, 1);
   1188 f(131072, 2);
   1189 f(196608, 3);
   1190 f(262144, 4);
   1191 f(327680, 5);
   1192 f(458752, 7);
   1193 f(524288, 8);
   1194 f(589824, 9);
   1195 f(983040, 15);
   1196 f(1048576, 16);
   1197 f(1114112, 17);
   1198 f(2031616, 31);
   1199 f(2097152, 32);
   1200 f(2162688, 33);
   1201 f(4128768, 63);
   1202 f(4194304, 64);
   1203 f(4259840, 65);
   1204 f(8323072, 127);
   1205 f(8388608, 128);
   1206 f(8454144, 129);
   1207 f(16711680, 255);
   1208 f(16777216, 256);
   1209 f(16842752, 257);
   1210 f(33488896, 511);
   1211 f(33554432, 512);
   1212 f(33619968, 513);
   1213 f(67043328, 1023);
   1214 f(67108864, 1024);
   1215 f(67174400, 1025);
   1216 f(134152192, 2047);
   1217 f(134217728, 2048);
   1218 f(134283264, 2049);
   1219 f(268369920, 4095);
   1220 f(268435456, 4096);
   1221 f(268500992, 4097);
   1222 f(536805376, 8191);
   1223 f(536870912, 8192);
   1224 f(536936448, 8193);
   1225 f(1073676288, 16383);
   1226 f(1073741824, 16384);
   1227 f(1073807360, 16385);
   1228 f(2147418112, 32767);
   1229 f(2147483648, 32768);
   1230 f(2147549184, 32769);
   1231 f(4294901760, 65535);
   1232 f(4294967296, 65536);
   1233 x = 65537;
   1234 f(0, 0);
   1235 f(65537, 1);
   1236 f(131074, 2);
   1237 f(196611, 3);
   1238 f(262148, 4);
   1239 f(327685, 5);
   1240 f(458759, 7);
   1241 f(524296, 8);
   1242 f(589833, 9);
   1243 f(983055, 15);
   1244 f(1048592, 16);
   1245 f(1114129, 17);
   1246 f(2031647, 31);
   1247 f(2097184, 32);
   1248 f(2162721, 33);
   1249 f(4128831, 63);
   1250 f(4194368, 64);
   1251 f(4259905, 65);
   1252 f(8323199, 127);
   1253 f(8388736, 128);
   1254 f(8454273, 129);
   1255 f(16711935, 255);
   1256 f(16777472, 256);
   1257 f(16843009, 257);
   1258 f(33489407, 511);
   1259 f(33554944, 512);
   1260 f(33620481, 513);
   1261 f(67044351, 1023);
   1262 f(67109888, 1024);
   1263 f(67175425, 1025);
   1264 f(134154239, 2047);
   1265 f(134219776, 2048);
   1266 f(134285313, 2049);
   1267 f(268374015, 4095);
   1268 f(268439552, 4096);
   1269 f(268505089, 4097);
   1270 f(536813567, 8191);
   1271 f(536879104, 8192);
   1272 f(536944641, 8193);
   1273 f(1073692671, 16383);
   1274 f(1073758208, 16384);
   1275 f(1073823745, 16385);
   1276 f(2147450879, 32767);
   1277 f(2147516416, 32768);
   1278 f(2147581953, 32769);
   1279 f(4294967295, 65535);
   1280 f(4295032832, 65536);
   1281 f(4295098369, 65537);
   1282 x = 131071;
   1283 f(0, 0);
   1284 f(131071, 1);
   1285 f(262142, 2);
   1286 f(393213, 3);
   1287 f(524284, 4);
   1288 f(655355, 5);
   1289 f(917497, 7);
   1290 f(1048568, 8);
   1291 f(1179639, 9);
   1292 f(1966065, 15);
   1293 f(2097136, 16);
   1294 f(2228207, 17);
   1295 f(4063201, 31);
   1296 f(4194272, 32);
   1297 f(4325343, 33);
   1298 f(8257473, 63);
   1299 f(8388544, 64);
   1300 f(8519615, 65);
   1301 f(16646017, 127);
   1302 f(16777088, 128);
   1303 f(16908159, 129);
   1304 f(33423105, 255);
   1305 f(33554176, 256);
   1306 f(33685247, 257);
   1307 f(66977281, 511);
   1308 f(67108352, 512);
   1309 f(67239423, 513);
   1310 f(134085633, 1023);
   1311 f(134216704, 1024);
   1312 f(134347775, 1025);
   1313 f(268302337, 2047);
   1314 f(268433408, 2048);
   1315 f(268564479, 2049);
   1316 f(536735745, 4095);
   1317 f(536866816, 4096);
   1318 f(536997887, 4097);
   1319 f(1073602561, 8191);
   1320 f(1073733632, 8192);
   1321 f(1073864703, 8193);
   1322 f(2147336193, 16383);
   1323 f(2147467264, 16384);
   1324 f(2147598335, 16385);
   1325 f(4294803457, 32767);
   1326 f(4294934528, 32768);
   1327 f(4295065599, 32769);
   1328 f(8589737985, 65535);
   1329 f(8589869056, 65536);
   1330 f(8590000127, 65537);
   1331 f(17179607041, 131071);
   1332 x = 131072;
   1333 f(0, 0);
   1334 f(131072, 1);
   1335 f(262144, 2);
   1336 f(393216, 3);
   1337 f(524288, 4);
   1338 f(655360, 5);
   1339 f(917504, 7);
   1340 f(1048576, 8);
   1341 f(1179648, 9);
   1342 f(1966080, 15);
   1343 f(2097152, 16);
   1344 f(2228224, 17);
   1345 f(4063232, 31);
   1346 f(4194304, 32);
   1347 f(4325376, 33);
   1348 f(8257536, 63);
   1349 f(8388608, 64);
   1350 f(8519680, 65);
   1351 f(16646144, 127);
   1352 f(16777216, 128);
   1353 f(16908288, 129);
   1354 f(33423360, 255);
   1355 f(33554432, 256);
   1356 f(33685504, 257);
   1357 f(66977792, 511);
   1358 f(67108864, 512);
   1359 f(67239936, 513);
   1360 f(134086656, 1023);
   1361 f(134217728, 1024);
   1362 f(134348800, 1025);
   1363 f(268304384, 2047);
   1364 f(268435456, 2048);
   1365 f(268566528, 2049);
   1366 f(536739840, 4095);
   1367 f(536870912, 4096);
   1368 f(537001984, 4097);
   1369 f(1073610752, 8191);
   1370 f(1073741824, 8192);
   1371 f(1073872896, 8193);
   1372 f(2147352576, 16383);
   1373 f(2147483648, 16384);
   1374 f(2147614720, 16385);
   1375 f(4294836224, 32767);
   1376 f(4294967296, 32768);
   1377 f(4295098368, 32769);
   1378 f(8589803520, 65535);
   1379 f(8589934592, 65536);
   1380 f(8590065664, 65537);
   1381 f(17179738112, 131071);
   1382 f(17179869184, 131072);
   1383 x = 131073;
   1384 f(0, 0);
   1385 f(131073, 1);
   1386 f(262146, 2);
   1387 f(393219, 3);
   1388 f(524292, 4);
   1389 f(655365, 5);
   1390 f(917511, 7);
   1391 f(1048584, 8);
   1392 f(1179657, 9);
   1393 f(1966095, 15);
   1394 f(2097168, 16);
   1395 f(2228241, 17);
   1396 f(4063263, 31);
   1397 f(4194336, 32);
   1398 f(4325409, 33);
   1399 f(8257599, 63);
   1400 f(8388672, 64);
   1401 f(8519745, 65);
   1402 f(16646271, 127);
   1403 f(16777344, 128);
   1404 f(16908417, 129);
   1405 f(33423615, 255);
   1406 f(33554688, 256);
   1407 f(33685761, 257);
   1408 f(66978303, 511);
   1409 f(67109376, 512);
   1410 f(67240449, 513);
   1411 f(134087679, 1023);
   1412 f(134218752, 1024);
   1413 f(134349825, 1025);
   1414 f(268306431, 2047);
   1415 f(268437504, 2048);
   1416 f(268568577, 2049);
   1417 f(536743935, 4095);
   1418 f(536875008, 4096);
   1419 f(537006081, 4097);
   1420 f(1073618943, 8191);
   1421 f(1073750016, 8192);
   1422 f(1073881089, 8193);
   1423 f(2147368959, 16383);
   1424 f(2147500032, 16384);
   1425 f(2147631105, 16385);
   1426 f(4294868991, 32767);
   1427 f(4295000064, 32768);
   1428 f(4295131137, 32769);
   1429 f(8589869055, 65535);
   1430 f(8590000128, 65536);
   1431 f(8590131201, 65537);
   1432 f(17179869183, 131071);
   1433 f(17180000256, 131072);
   1434 f(17180131329, 131073);
   1435 x = 262143;
   1436 f(0, 0);
   1437 f(262143, 1);
   1438 f(524286, 2);
   1439 f(786429, 3);
   1440 f(1048572, 4);
   1441 f(1310715, 5);
   1442 f(1835001, 7);
   1443 f(2097144, 8);
   1444 f(2359287, 9);
   1445 f(3932145, 15);
   1446 f(4194288, 16);
   1447 f(4456431, 17);
   1448 f(8126433, 31);
   1449 f(8388576, 32);
   1450 f(8650719, 33);
   1451 f(16515009, 63);
   1452 f(16777152, 64);
   1453 f(17039295, 65);
   1454 f(33292161, 127);
   1455 f(33554304, 128);
   1456 f(33816447, 129);
   1457 f(66846465, 255);
   1458 f(67108608, 256);
   1459 f(67370751, 257);
   1460 f(133955073, 511);
   1461 f(134217216, 512);
   1462 f(134479359, 513);
   1463 f(268172289, 1023);
   1464 f(268434432, 1024);
   1465 f(268696575, 1025);
   1466 f(536606721, 2047);
   1467 f(536868864, 2048);
   1468 f(537131007, 2049);
   1469 f(1073475585, 4095);
   1470 f(1073737728, 4096);
   1471 f(1073999871, 4097);
   1472 f(2147213313, 8191);
   1473 f(2147475456, 8192);
   1474 f(2147737599, 8193);
   1475 f(4294688769, 16383);
   1476 f(4294950912, 16384);
   1477 f(4295213055, 16385);
   1478 f(8589639681, 32767);
   1479 f(8589901824, 32768);
   1480 f(8590163967, 32769);
   1481 f(17179541505, 65535);
   1482 f(17179803648, 65536);
   1483 f(17180065791, 65537);
   1484 f(34359345153, 131071);
   1485 f(34359607296, 131072);
   1486 f(34359869439, 131073);
   1487 f(68718952449, 262143);
   1488 x = 262144;
   1489 f(0, 0);
   1490 f(262144, 1);
   1491 f(524288, 2);
   1492 f(786432, 3);
   1493 f(1048576, 4);
   1494 f(1310720, 5);
   1495 f(1835008, 7);
   1496 f(2097152, 8);
   1497 f(2359296, 9);
   1498 f(3932160, 15);
   1499 f(4194304, 16);
   1500 f(4456448, 17);
   1501 f(8126464, 31);
   1502 f(8388608, 32);
   1503 f(8650752, 33);
   1504 f(16515072, 63);
   1505 f(16777216, 64);
   1506 f(17039360, 65);
   1507 f(33292288, 127);
   1508 f(33554432, 128);
   1509 f(33816576, 129);
   1510 f(66846720, 255);
   1511 f(67108864, 256);
   1512 f(67371008, 257);
   1513 f(133955584, 511);
   1514 f(134217728, 512);
   1515 f(134479872, 513);
   1516 f(268173312, 1023);
   1517 f(268435456, 1024);
   1518 f(268697600, 1025);
   1519 f(536608768, 2047);
   1520 f(536870912, 2048);
   1521 f(537133056, 2049);
   1522 f(1073479680, 4095);
   1523 f(1073741824, 4096);
   1524 f(1074003968, 4097);
   1525 f(2147221504, 8191);
   1526 f(2147483648, 8192);
   1527 f(2147745792, 8193);
   1528 f(4294705152, 16383);
   1529 f(4294967296, 16384);
   1530 f(4295229440, 16385);
   1531 f(8589672448, 32767);
   1532 f(8589934592, 32768);
   1533 f(8590196736, 32769);
   1534 f(17179607040, 65535);
   1535 f(17179869184, 65536);
   1536 f(17180131328, 65537);
   1537 f(34359476224, 131071);
   1538 f(34359738368, 131072);
   1539 f(34360000512, 131073);
   1540 f(68719214592, 262143);
   1541 f(68719476736, 262144);
   1542 x = 262145;
   1543 f(0, 0);
   1544 f(262145, 1);
   1545 f(524290, 2);
   1546 f(786435, 3);
   1547 f(1048580, 4);
   1548 f(1310725, 5);
   1549 f(1835015, 7);
   1550 f(2097160, 8);
   1551 f(2359305, 9);
   1552 f(3932175, 15);
   1553 f(4194320, 16);
   1554 f(4456465, 17);
   1555 f(8126495, 31);
   1556 f(8388640, 32);
   1557 f(8650785, 33);
   1558 f(16515135, 63);
   1559 f(16777280, 64);
   1560 f(17039425, 65);
   1561 f(33292415, 127);
   1562 f(33554560, 128);
   1563 f(33816705, 129);
   1564 f(66846975, 255);
   1565 f(67109120, 256);
   1566 f(67371265, 257);
   1567 f(133956095, 511);
   1568 f(134218240, 512);
   1569 f(134480385, 513);
   1570 f(268174335, 1023);
   1571 f(268436480, 1024);
   1572 f(268698625, 1025);
   1573 f(536610815, 2047);
   1574 f(536872960, 2048);
   1575 f(537135105, 2049);
   1576 f(1073483775, 4095);
   1577 f(1073745920, 4096);
   1578 f(1074008065, 4097);
   1579 f(2147229695, 8191);
   1580 f(2147491840, 8192);
   1581 f(2147753985, 8193);
   1582 f(4294721535, 16383);
   1583 f(4294983680, 16384);
   1584 f(4295245825, 16385);
   1585 f(8589705215, 32767);
   1586 f(8589967360, 32768);
   1587 f(8590229505, 32769);
   1588 f(17179672575, 65535);
   1589 f(17179934720, 65536);
   1590 f(17180196865, 65537);
   1591 f(34359607295, 131071);
   1592 f(34359869440, 131072);
   1593 f(34360131585, 131073);
   1594 f(68719476735, 262143);
   1595 f(68719738880, 262144);
   1596 f(68720001025, 262145);
   1597 x = 524287;
   1598 f(0, 0);
   1599 f(524287, 1);
   1600 f(1048574, 2);
   1601 f(1572861, 3);
   1602 f(2097148, 4);
   1603 f(2621435, 5);
   1604 f(3670009, 7);
   1605 f(4194296, 8);
   1606 f(4718583, 9);
   1607 f(7864305, 15);
   1608 f(8388592, 16);
   1609 f(8912879, 17);
   1610 f(16252897, 31);
   1611 f(16777184, 32);
   1612 f(17301471, 33);
   1613 f(33030081, 63);
   1614 f(33554368, 64);
   1615 f(34078655, 65);
   1616 f(66584449, 127);
   1617 f(67108736, 128);
   1618 f(67633023, 129);
   1619 f(133693185, 255);
   1620 f(134217472, 256);
   1621 f(134741759, 257);
   1622 f(267910657, 511);
   1623 f(268434944, 512);
   1624 f(268959231, 513);
   1625 f(536345601, 1023);
   1626 f(536869888, 1024);
   1627 f(537394175, 1025);
   1628 f(1073215489, 2047);
   1629 f(1073739776, 2048);
   1630 f(1074264063, 2049);
   1631 f(2146955265, 4095);
   1632 f(2147479552, 4096);
   1633 f(2148003839, 4097);
   1634 f(4294434817, 8191);
   1635 f(4294959104, 8192);
   1636 f(4295483391, 8193);
   1637 f(8589393921, 16383);
   1638 f(8589918208, 16384);
   1639 f(8590442495, 16385);
   1640 f(17179312129, 32767);
   1641 f(17179836416, 32768);
   1642 f(17180360703, 32769);
   1643 f(34359148545, 65535);
   1644 f(34359672832, 65536);
   1645 f(34360197119, 65537);
   1646 f(68718821377, 131071);
   1647 f(68719345664, 131072);
   1648 f(68719869951, 131073);
   1649 f(137438167041, 262143);
   1650 f(137438691328, 262144);
   1651 f(137439215615, 262145);
   1652 f(274876858369, 524287);
   1653 x = 524288;
   1654 f(0, 0);
   1655 f(524288, 1);
   1656 f(1048576, 2);
   1657 f(1572864, 3);
   1658 f(2097152, 4);
   1659 f(2621440, 5);
   1660 f(3670016, 7);
   1661 f(4194304, 8);
   1662 f(4718592, 9);
   1663 f(7864320, 15);
   1664 f(8388608, 16);
   1665 f(8912896, 17);
   1666 f(16252928, 31);
   1667 f(16777216, 32);
   1668 f(17301504, 33);
   1669 f(33030144, 63);
   1670 f(33554432, 64);
   1671 f(34078720, 65);
   1672 f(66584576, 127);
   1673 f(67108864, 128);
   1674 f(67633152, 129);
   1675 f(133693440, 255);
   1676 f(134217728, 256);
   1677 f(134742016, 257);
   1678 f(267911168, 511);
   1679 f(268435456, 512);
   1680 f(268959744, 513);
   1681 f(536346624, 1023);
   1682 f(536870912, 1024);
   1683 f(537395200, 1025);
   1684 f(1073217536, 2047);
   1685 f(1073741824, 2048);
   1686 f(1074266112, 2049);
   1687 f(2146959360, 4095);
   1688 f(2147483648, 4096);
   1689 f(2148007936, 4097);
   1690 f(4294443008, 8191);
   1691 f(4294967296, 8192);
   1692 f(4295491584, 8193);
   1693 f(8589410304, 16383);
   1694 f(8589934592, 16384);
   1695 f(8590458880, 16385);
   1696 f(17179344896, 32767);
   1697 f(17179869184, 32768);
   1698 f(17180393472, 32769);
   1699 f(34359214080, 65535);
   1700 f(34359738368, 65536);
   1701 f(34360262656, 65537);
   1702 f(68718952448, 131071);
   1703 f(68719476736, 131072);
   1704 f(68720001024, 131073);
   1705 f(137438429184, 262143);
   1706 f(137438953472, 262144);
   1707 f(137439477760, 262145);
   1708 f(274877382656, 524287);
   1709 f(274877906944, 524288);
   1710 x = 524289;
   1711 f(0, 0);
   1712 f(524289, 1);
   1713 f(1048578, 2);
   1714 f(1572867, 3);
   1715 f(2097156, 4);
   1716 f(2621445, 5);
   1717 f(3670023, 7);
   1718 f(4194312, 8);
   1719 f(4718601, 9);
   1720 f(7864335, 15);
   1721 f(8388624, 16);
   1722 f(8912913, 17);
   1723 f(16252959, 31);
   1724 f(16777248, 32);
   1725 f(17301537, 33);
   1726 f(33030207, 63);
   1727 f(33554496, 64);
   1728 f(34078785, 65);
   1729 f(66584703, 127);
   1730 f(67108992, 128);
   1731 f(67633281, 129);
   1732 f(133693695, 255);
   1733 f(134217984, 256);
   1734 f(134742273, 257);
   1735 f(267911679, 511);
   1736 f(268435968, 512);
   1737 f(268960257, 513);
   1738 f(536347647, 1023);
   1739 f(536871936, 1024);
   1740 f(537396225, 1025);
   1741 f(1073219583, 2047);
   1742 f(1073743872, 2048);
   1743 f(1074268161, 2049);
   1744 f(2146963455, 4095);
   1745 f(2147487744, 4096);
   1746 f(2148012033, 4097);
   1747 f(4294451199, 8191);
   1748 f(4294975488, 8192);
   1749 f(4295499777, 8193);
   1750 f(8589426687, 16383);
   1751 f(8589950976, 16384);
   1752 f(8590475265, 16385);
   1753 f(17179377663, 32767);
   1754 f(17179901952, 32768);
   1755 f(17180426241, 32769);
   1756 f(34359279615, 65535);
   1757 f(34359803904, 65536);
   1758 f(34360328193, 65537);
   1759 f(68719083519, 131071);
   1760 f(68719607808, 131072);
   1761 f(68720132097, 131073);
   1762 f(137438691327, 262143);
   1763 f(137439215616, 262144);
   1764 f(137439739905, 262145);
   1765 f(274877906943, 524287);
   1766 f(274878431232, 524288);
   1767 f(274878955521, 524289);
   1768 x = 1048575;
   1769 f(0, 0);
   1770 f(1048575, 1);
   1771 f(2097150, 2);
   1772 f(3145725, 3);
   1773 f(4194300, 4);
   1774 f(5242875, 5);
   1775 f(7340025, 7);
   1776 f(8388600, 8);
   1777 f(9437175, 9);
   1778 f(15728625, 15);
   1779 f(16777200, 16);
   1780 f(17825775, 17);
   1781 f(32505825, 31);
   1782 f(33554400, 32);
   1783 f(34602975, 33);
   1784 f(66060225, 63);
   1785 f(67108800, 64);
   1786 f(68157375, 65);
   1787 f(133169025, 127);
   1788 f(134217600, 128);
   1789 f(135266175, 129);
   1790 f(267386625, 255);
   1791 f(268435200, 256);
   1792 f(269483775, 257);
   1793 f(535821825, 511);
   1794 f(536870400, 512);
   1795 f(537918975, 513);
   1796 f(1072692225, 1023);
   1797 f(1073740800, 1024);
   1798 f(1074789375, 1025);
   1799 f(2146433025, 2047);
   1800 f(2147481600, 2048);
   1801 f(2148530175, 2049);
   1802 f(4293914625, 4095);
   1803 f(4294963200, 4096);
   1804 f(4296011775, 4097);
   1805 f(8588877825, 8191);
   1806 f(8589926400, 8192);
   1807 f(8590974975, 8193);
   1808 f(17178804225, 16383);
   1809 f(17179852800, 16384);
   1810 f(17180901375, 16385);
   1811 f(34358657025, 32767);
   1812 f(34359705600, 32768);
   1813 f(34360754175, 32769);
   1814 f(68718362625, 65535);
   1815 f(68719411200, 65536);
   1816 f(68720459775, 65537);
   1817 f(137437773825, 131071);
   1818 f(137438822400, 131072);
   1819 f(137439870975, 131073);
   1820 f(274876596225, 262143);
   1821 f(274877644800, 262144);
   1822 f(274878693375, 262145);
   1823 f(549754241025, 524287);
   1824 f(549755289600, 524288);
   1825 f(549756338175, 524289);
   1826 f(1099509530625, 1048575);
   1827 x = 1048576;
   1828 f(0, 0);
   1829 f(1048576, 1);
   1830 f(2097152, 2);
   1831 f(3145728, 3);
   1832 f(4194304, 4);
   1833 f(5242880, 5);
   1834 f(7340032, 7);
   1835 f(8388608, 8);
   1836 f(9437184, 9);
   1837 f(15728640, 15);
   1838 f(16777216, 16);
   1839 f(17825792, 17);
   1840 f(32505856, 31);
   1841 f(33554432, 32);
   1842 f(34603008, 33);
   1843 f(66060288, 63);
   1844 f(67108864, 64);
   1845 f(68157440, 65);
   1846 f(133169152, 127);
   1847 f(134217728, 128);
   1848 f(135266304, 129);
   1849 f(267386880, 255);
   1850 f(268435456, 256);
   1851 f(269484032, 257);
   1852 f(535822336, 511);
   1853 f(536870912, 512);
   1854 f(537919488, 513);
   1855 f(1072693248, 1023);
   1856 f(1073741824, 1024);
   1857 f(1074790400, 1025);
   1858 f(2146435072, 2047);
   1859 f(2147483648, 2048);
   1860 f(2148532224, 2049);
   1861 f(4293918720, 4095);
   1862 f(4294967296, 4096);
   1863 f(4296015872, 4097);
   1864 f(8588886016, 8191);
   1865 f(8589934592, 8192);
   1866 f(8590983168, 8193);
   1867 f(17178820608, 16383);
   1868 f(17179869184, 16384);
   1869 f(17180917760, 16385);
   1870 f(34358689792, 32767);
   1871 f(34359738368, 32768);
   1872 f(34360786944, 32769);
   1873 f(68718428160, 65535);
   1874 f(68719476736, 65536);
   1875 f(68720525312, 65537);
   1876 f(137437904896, 131071);
   1877 f(137438953472, 131072);
   1878 f(137440002048, 131073);
   1879 f(274876858368, 262143);
   1880 f(274877906944, 262144);
   1881 f(274878955520, 262145);
   1882 f(549754765312, 524287);
   1883 f(549755813888, 524288);
   1884 f(549756862464, 524289);
   1885 f(1099510579200, 1048575);
   1886 f(1099511627776, 1048576);
   1887 x = 1048577;
   1888 f(0, 0);
   1889 f(1048577, 1);
   1890 f(2097154, 2);
   1891 f(3145731, 3);
   1892 f(4194308, 4);
   1893 f(5242885, 5);
   1894 f(7340039, 7);
   1895 f(8388616, 8);
   1896 f(9437193, 9);
   1897 f(15728655, 15);
   1898 f(16777232, 16);
   1899 f(17825809, 17);
   1900 f(32505887, 31);
   1901 f(33554464, 32);
   1902 f(34603041, 33);
   1903 f(66060351, 63);
   1904 f(67108928, 64);
   1905 f(68157505, 65);
   1906 f(133169279, 127);
   1907 f(134217856, 128);
   1908 f(135266433, 129);
   1909 f(267387135, 255);
   1910 f(268435712, 256);
   1911 f(269484289, 257);
   1912 f(535822847, 511);
   1913 f(536871424, 512);
   1914 f(537920001, 513);
   1915 f(1072694271, 1023);
   1916 f(1073742848, 1024);
   1917 f(1074791425, 1025);
   1918 f(2146437119, 2047);
   1919 f(2147485696, 2048);
   1920 f(2148534273, 2049);
   1921 f(4293922815, 4095);
   1922 f(4294971392, 4096);
   1923 f(4296019969, 4097);
   1924 f(8588894207, 8191);
   1925 f(8589942784, 8192);
   1926 f(8590991361, 8193);
   1927 f(17178836991, 16383);
   1928 f(17179885568, 16384);
   1929 f(17180934145, 16385);
   1930 f(34358722559, 32767);
   1931 f(34359771136, 32768);
   1932 f(34360819713, 32769);
   1933 f(68718493695, 65535);
   1934 f(68719542272, 65536);
   1935 f(68720590849, 65537);
   1936 f(137438035967, 131071);
   1937 f(137439084544, 131072);
   1938 f(137440133121, 131073);
   1939 f(274877120511, 262143);
   1940 f(274878169088, 262144);
   1941 f(274879217665, 262145);
   1942 f(549755289599, 524287);
   1943 f(549756338176, 524288);
   1944 f(549757386753, 524289);
   1945 f(1099511627775, 1048575);
   1946 f(1099512676352, 1048576);
   1947 f(1099513724929, 1048577);
   1948 x = 2097151;
   1949 f(0, 0);
   1950 f(2097151, 1);
   1951 f(4194302, 2);
   1952 f(6291453, 3);
   1953 f(8388604, 4);
   1954 f(10485755, 5);
   1955 f(14680057, 7);
   1956 f(16777208, 8);
   1957 f(18874359, 9);
   1958 f(31457265, 15);
   1959 f(33554416, 16);
   1960 f(35651567, 17);
   1961 f(65011681, 31);
   1962 f(67108832, 32);
   1963 f(69205983, 33);
   1964 f(132120513, 63);
   1965 f(134217664, 64);
   1966 f(136314815, 65);
   1967 f(266338177, 127);
   1968 f(268435328, 128);
   1969 f(270532479, 129);
   1970 f(534773505, 255);
   1971 f(536870656, 256);
   1972 f(538967807, 257);
   1973 f(1071644161, 511);
   1974 f(1073741312, 512);
   1975 f(1075838463, 513);
   1976 f(2145385473, 1023);
   1977 f(2147482624, 1024);
   1978 f(2149579775, 1025);
   1979 f(4292868097, 2047);
   1980 f(4294965248, 2048);
   1981 f(4297062399, 2049);
   1982 f(8587833345, 4095);
   1983 f(8589930496, 4096);
   1984 f(8592027647, 4097);
   1985 f(17177763841, 8191);
   1986 f(17179860992, 8192);
   1987 f(17181958143, 8193);
   1988 f(34357624833, 16383);
   1989 f(34359721984, 16384);
   1990 f(34361819135, 16385);
   1991 f(68717346817, 32767);
   1992 f(68719443968, 32768);
   1993 f(68721541119, 32769);
   1994 f(137436790785, 65535);
   1995 f(137438887936, 65536);
   1996 f(137440985087, 65537);
   1997 f(274875678721, 131071);
   1998 f(274877775872, 131072);
   1999 f(274879873023, 131073);
   2000 f(549753454593, 262143);
   2001 f(549755551744, 262144);
   2002 f(549757648895, 262145);
   2003 f(1099509006337, 524287);
   2004 f(1099511103488, 524288);
   2005 f(1099513200639, 524289);
   2006 f(2199020109825, 1048575);
   2007 f(2199022206976, 1048576);
   2008 f(2199024304127, 1048577);
   2009 f(4398042316801, 2097151);
   2010 x = 2097152;
   2011 f(0, 0);
   2012 f(2097152, 1);
   2013 f(4194304, 2);
   2014 f(6291456, 3);
   2015 f(8388608, 4);
   2016 f(10485760, 5);
   2017 f(14680064, 7);
   2018 f(16777216, 8);
   2019 f(18874368, 9);
   2020 f(31457280, 15);
   2021 f(33554432, 16);
   2022 f(35651584, 17);
   2023 f(65011712, 31);
   2024 f(67108864, 32);
   2025 f(69206016, 33);
   2026 f(132120576, 63);
   2027 f(134217728, 64);
   2028 f(136314880, 65);
   2029 f(266338304, 127);
   2030 f(268435456, 128);
   2031 f(270532608, 129);
   2032 f(534773760, 255);
   2033 f(536870912, 256);
   2034 f(538968064, 257);
   2035 f(1071644672, 511);
   2036 f(1073741824, 512);
   2037 f(1075838976, 513);
   2038 f(2145386496, 1023);
   2039 f(2147483648, 1024);
   2040 f(2149580800, 1025);
   2041 f(4292870144, 2047);
   2042 f(4294967296, 2048);
   2043 f(4297064448, 2049);
   2044 f(8587837440, 4095);
   2045 f(8589934592, 4096);
   2046 f(8592031744, 4097);
   2047 f(17177772032, 8191);
   2048 f(17179869184, 8192);
   2049 f(17181966336, 8193);
   2050 f(34357641216, 16383);
   2051 f(34359738368, 16384);
   2052 f(34361835520, 16385);
   2053 f(68717379584, 32767);
   2054 f(68719476736, 32768);
   2055 f(68721573888, 32769);
   2056 f(137436856320, 65535);
   2057 f(137438953472, 65536);
   2058 f(137441050624, 65537);
   2059 f(274875809792, 131071);
   2060 f(274877906944, 131072);
   2061 f(274880004096, 131073);
   2062 f(549753716736, 262143);
   2063 f(549755813888, 262144);
   2064 f(549757911040, 262145);
   2065 f(1099509530624, 524287);
   2066 f(1099511627776, 524288);
   2067 f(1099513724928, 524289);
   2068 f(2199021158400, 1048575);
   2069 f(2199023255552, 1048576);
   2070 f(2199025352704, 1048577);
   2071 f(4398044413952, 2097151);
   2072 f(4398046511104, 2097152);
   2073 x = 2097153;
   2074 f(0, 0);
   2075 f(2097153, 1);
   2076 f(4194306, 2);
   2077 f(6291459, 3);
   2078 f(8388612, 4);
   2079 f(10485765, 5);
   2080 f(14680071, 7);
   2081 f(16777224, 8);
   2082 f(18874377, 9);
   2083 f(31457295, 15);
   2084 f(33554448, 16);
   2085 f(35651601, 17);
   2086 f(65011743, 31);
   2087 f(67108896, 32);
   2088 f(69206049, 33);
   2089 f(132120639, 63);
   2090 f(134217792, 64);
   2091 f(136314945, 65);
   2092 f(266338431, 127);
   2093 f(268435584, 128);
   2094 f(270532737, 129);
   2095 f(534774015, 255);
   2096 f(536871168, 256);
   2097 f(538968321, 257);
   2098 f(1071645183, 511);
   2099 f(1073742336, 512);
   2100 f(1075839489, 513);
   2101 f(2145387519, 1023);
   2102 f(2147484672, 1024);
   2103 f(2149581825, 1025);
   2104 f(4292872191, 2047);
   2105 f(4294969344, 2048);
   2106 f(4297066497, 2049);
   2107 f(8587841535, 4095);
   2108 f(8589938688, 4096);
   2109 f(8592035841, 4097);
   2110 f(17177780223, 8191);
   2111 f(17179877376, 8192);
   2112 f(17181974529, 8193);
   2113 f(34357657599, 16383);
   2114 f(34359754752, 16384);
   2115 f(34361851905, 16385);
   2116 f(68717412351, 32767);
   2117 f(68719509504, 32768);
   2118 f(68721606657, 32769);
   2119 f(137436921855, 65535);
   2120 f(137439019008, 65536);
   2121 f(137441116161, 65537);
   2122 f(274875940863, 131071);
   2123 f(274878038016, 131072);
   2124 f(274880135169, 131073);
   2125 f(549753978879, 262143);
   2126 f(549756076032, 262144);
   2127 f(549758173185, 262145);
   2128 f(1099510054911, 524287);
   2129 f(1099512152064, 524288);
   2130 f(1099514249217, 524289);
   2131 f(2199022206975, 1048575);
   2132 f(2199024304128, 1048576);
   2133 f(2199026401281, 1048577);
   2134 f(4398046511103, 2097151);
   2135 f(4398048608256, 2097152);
   2136 f(4398050705409, 2097153);
   2137 x = 4194303;
   2138 f(0, 0);
   2139 f(4194303, 1);
   2140 f(8388606, 2);
   2141 f(12582909, 3);
   2142 f(16777212, 4);
   2143 f(20971515, 5);
   2144 f(29360121, 7);
   2145 f(33554424, 8);
   2146 f(37748727, 9);
   2147 f(62914545, 15);
   2148 f(67108848, 16);
   2149 f(71303151, 17);
   2150 f(130023393, 31);
   2151 f(134217696, 32);
   2152 f(138411999, 33);
   2153 f(264241089, 63);
   2154 f(268435392, 64);
   2155 f(272629695, 65);
   2156 f(532676481, 127);
   2157 f(536870784, 128);
   2158 f(541065087, 129);
   2159 f(1069547265, 255);
   2160 f(1073741568, 256);
   2161 f(1077935871, 257);
   2162 f(2143288833, 511);
   2163 f(2147483136, 512);
   2164 f(2151677439, 513);
   2165 f(4290771969, 1023);
   2166 f(4294966272, 1024);
   2167 f(4299160575, 1025);
   2168 f(8585738241, 2047);
   2169 f(8589932544, 2048);
   2170 f(8594126847, 2049);
   2171 f(17175670785, 4095);
   2172 f(17179865088, 4096);
   2173 f(17184059391, 4097);
   2174 f(34355535873, 8191);
   2175 f(34359730176, 8192);
   2176 f(34363924479, 8193);
   2177 f(68715266049, 16383);
   2178 f(68719460352, 16384);
   2179 f(68723654655, 16385);
   2180 f(137434726401, 32767);
   2181 f(137438920704, 32768);
   2182 f(137443115007, 32769);
   2183 f(274873647105, 65535);
   2184 f(274877841408, 65536);
   2185 f(274882035711, 65537);
   2186 f(549751488513, 131071);
   2187 f(549755682816, 131072);
   2188 f(549759877119, 131073);
   2189 f(1099507171329, 262143);
   2190 f(1099511365632, 262144);
   2191 f(1099515559935, 262145);
   2192 f(2199018536961, 524287);
   2193 f(2199022731264, 524288);
   2194 f(2199026925567, 524289);
   2195 f(4398041268225, 1048575);
   2196 f(4398045462528, 1048576);
   2197 f(4398049656831, 1048577);
   2198 f(8796086730753, 2097151);
   2199 f(8796090925056, 2097152);
   2200 f(8796095119359, 2097153);
   2201 f(17592177655809, 4194303);
   2202 x = 4194304;
   2203 f(0, 0);
   2204 f(4194304, 1);
   2205 f(8388608, 2);
   2206 f(12582912, 3);
   2207 f(16777216, 4);
   2208 f(20971520, 5);
   2209 f(29360128, 7);
   2210 f(33554432, 8);
   2211 f(37748736, 9);
   2212 f(62914560, 15);
   2213 f(67108864, 16);
   2214 f(71303168, 17);
   2215 f(130023424, 31);
   2216 f(134217728, 32);
   2217 f(138412032, 33);
   2218 f(264241152, 63);
   2219 f(268435456, 64);
   2220 f(272629760, 65);
   2221 f(532676608, 127);
   2222 f(536870912, 128);
   2223 f(541065216, 129);
   2224 f(1069547520, 255);
   2225 f(1073741824, 256);
   2226 f(1077936128, 257);
   2227 f(2143289344, 511);
   2228 f(2147483648, 512);
   2229 f(2151677952, 513);
   2230 f(4290772992, 1023);
   2231 f(4294967296, 1024);
   2232 f(4299161600, 1025);
   2233 f(8585740288, 2047);
   2234 f(8589934592, 2048);
   2235 f(8594128896, 2049);
   2236 f(17175674880, 4095);
   2237 f(17179869184, 4096);
   2238 f(17184063488, 4097);
   2239 f(34355544064, 8191);
   2240 f(34359738368, 8192);
   2241 f(34363932672, 8193);
   2242 f(68715282432, 16383);
   2243 f(68719476736, 16384);
   2244 f(68723671040, 16385);
   2245 f(137434759168, 32767);
   2246 f(137438953472, 32768);
   2247 f(137443147776, 32769);
   2248 f(274873712640, 65535);
   2249 f(274877906944, 65536);
   2250 f(274882101248, 65537);
   2251 f(549751619584, 131071);
   2252 f(549755813888, 131072);
   2253 f(549760008192, 131073);
   2254 f(1099507433472, 262143);
   2255 f(1099511627776, 262144);
   2256 f(1099515822080, 262145);
   2257 f(2199019061248, 524287);
   2258 f(2199023255552, 524288);
   2259 f(2199027449856, 524289);
   2260 f(4398042316800, 1048575);
   2261 f(4398046511104, 1048576);
   2262 f(4398050705408, 1048577);
   2263 f(8796088827904, 2097151);
   2264 f(8796093022208, 2097152);
   2265 f(8796097216512, 2097153);
   2266 f(17592181850112, 4194303);
   2267 f(17592186044416, 4194304);
   2268 x = 4194305;
   2269 f(0, 0);
   2270 f(4194305, 1);
   2271 f(8388610, 2);
   2272 f(12582915, 3);
   2273 f(16777220, 4);
   2274 f(20971525, 5);
   2275 f(29360135, 7);
   2276 f(33554440, 8);
   2277 f(37748745, 9);
   2278 f(62914575, 15);
   2279 f(67108880, 16);
   2280 f(71303185, 17);
   2281 f(130023455, 31);
   2282 f(134217760, 32);
   2283 f(138412065, 33);
   2284 f(264241215, 63);
   2285 f(268435520, 64);
   2286 f(272629825, 65);
   2287 f(532676735, 127);
   2288 f(536871040, 128);
   2289 f(541065345, 129);
   2290 f(1069547775, 255);
   2291 f(1073742080, 256);
   2292 f(1077936385, 257);
   2293 f(2143289855, 511);
   2294 f(2147484160, 512);
   2295 f(2151678465, 513);
   2296 f(4290774015, 1023);
   2297 f(4294968320, 1024);
   2298 f(4299162625, 1025);
   2299 f(8585742335, 2047);
   2300 f(8589936640, 2048);
   2301 f(8594130945, 2049);
   2302 f(17175678975, 4095);
   2303 f(17179873280, 4096);
   2304 f(17184067585, 4097);
   2305 f(34355552255, 8191);
   2306 f(34359746560, 8192);
   2307 f(34363940865, 8193);
   2308 f(68715298815, 16383);
   2309 f(68719493120, 16384);
   2310 f(68723687425, 16385);
   2311 f(137434791935, 32767);
   2312 f(137438986240, 32768);
   2313 f(137443180545, 32769);
   2314 f(274873778175, 65535);
   2315 f(274877972480, 65536);
   2316 f(274882166785, 65537);
   2317 f(549751750655, 131071);
   2318 f(549755944960, 131072);
   2319 f(549760139265, 131073);
   2320 f(1099507695615, 262143);
   2321 f(1099511889920, 262144);
   2322 f(1099516084225, 262145);
   2323 f(2199019585535, 524287);
   2324 f(2199023779840, 524288);
   2325 f(2199027974145, 524289);
   2326 f(4398043365375, 1048575);
   2327 f(4398047559680, 1048576);
   2328 f(4398051753985, 1048577);
   2329 f(8796090925055, 2097151);
   2330 f(8796095119360, 2097152);
   2331 f(8796099313665, 2097153);
   2332 f(17592186044415, 4194303);
   2333 f(17592190238720, 4194304);
   2334 f(17592194433025, 4194305);
   2335 x = 8388607;
   2336 f(0, 0);
   2337 f(8388607, 1);
   2338 f(16777214, 2);
   2339 f(25165821, 3);
   2340 f(33554428, 4);
   2341 f(41943035, 5);
   2342 f(58720249, 7);
   2343 f(67108856, 8);
   2344 f(75497463, 9);
   2345 f(125829105, 15);
   2346 f(134217712, 16);
   2347 f(142606319, 17);
   2348 f(260046817, 31);
   2349 f(268435424, 32);
   2350 f(276824031, 33);
   2351 f(528482241, 63);
   2352 f(536870848, 64);
   2353 f(545259455, 65);
   2354 f(1065353089, 127);
   2355 f(1073741696, 128);
   2356 f(1082130303, 129);
   2357 f(2139094785, 255);
   2358 f(2147483392, 256);
   2359 f(2155871999, 257);
   2360 f(4286578177, 511);
   2361 f(4294966784, 512);
   2362 f(4303355391, 513);
   2363 f(8581544961, 1023);
   2364 f(8589933568, 1024);
   2365 f(8598322175, 1025);
   2366 f(17171478529, 2047);
   2367 f(17179867136, 2048);
   2368 f(17188255743, 2049);
   2369 f(34351345665, 4095);
   2370 f(34359734272, 4096);
   2371 f(34368122879, 4097);
   2372 f(68711079937, 8191);
   2373 f(68719468544, 8192);
   2374 f(68727857151, 8193);
   2375 f(137430548481, 16383);
   2376 f(137438937088, 16384);
   2377 f(137447325695, 16385);
   2378 f(274869485569, 32767);
   2379 f(274877874176, 32768);
   2380 f(274886262783, 32769);
   2381 f(549747359745, 65535);
   2382 f(549755748352, 65536);
   2383 f(549764136959, 65537);
   2384 f(1099503108097, 131071);
   2385 f(1099511496704, 131072);
   2386 f(1099519885311, 131073);
   2387 f(2199014604801, 262143);
   2388 f(2199022993408, 262144);
   2389 f(2199031382015, 262145);
   2390 f(4398037598209, 524287);
   2391 f(4398045986816, 524288);
   2392 f(4398054375423, 524289);
   2393 f(8796083585025, 1048575);
   2394 f(8796091973632, 1048576);
   2395 f(8796100362239, 1048577);
   2396 f(17592175558657, 2097151);
   2397 f(17592183947264, 2097152);
   2398 f(17592192335871, 2097153);
   2399 f(35184359505921, 4194303);
   2400 f(35184367894528, 4194304);
   2401 f(35184376283135, 4194305);
   2402 f(70368727400449, 8388607);
   2403 x = 8388608;
   2404 f(0, 0);
   2405 f(8388608, 1);
   2406 f(16777216, 2);
   2407 f(25165824, 3);
   2408 f(33554432, 4);
   2409 f(41943040, 5);
   2410 f(58720256, 7);
   2411 f(67108864, 8);
   2412 f(75497472, 9);
   2413 f(125829120, 15);
   2414 f(134217728, 16);
   2415 f(142606336, 17);
   2416 f(260046848, 31);
   2417 f(268435456, 32);
   2418 f(276824064, 33);
   2419 f(528482304, 63);
   2420 f(536870912, 64);
   2421 f(545259520, 65);
   2422 f(1065353216, 127);
   2423 f(1073741824, 128);
   2424 f(1082130432, 129);
   2425 f(2139095040, 255);
   2426 f(2147483648, 256);
   2427 f(2155872256, 257);
   2428 f(4286578688, 511);
   2429 f(4294967296, 512);
   2430 f(4303355904, 513);
   2431 f(8581545984, 1023);
   2432 f(8589934592, 1024);
   2433 f(8598323200, 1025);
   2434 f(17171480576, 2047);
   2435 f(17179869184, 2048);
   2436 f(17188257792, 2049);
   2437 f(34351349760, 4095);
   2438 f(34359738368, 4096);
   2439 f(34368126976, 4097);
   2440 f(68711088128, 8191);
   2441 f(68719476736, 8192);
   2442 f(68727865344, 8193);
   2443 f(137430564864, 16383);
   2444 f(137438953472, 16384);
   2445 f(137447342080, 16385);
   2446 f(274869518336, 32767);
   2447 f(274877906944, 32768);
   2448 f(274886295552, 32769);
   2449 f(549747425280, 65535);
   2450 f(549755813888, 65536);
   2451 f(549764202496, 65537);
   2452 f(1099503239168, 131071);
   2453 f(1099511627776, 131072);
   2454 f(1099520016384, 131073);
   2455 f(2199014866944, 262143);
   2456 f(2199023255552, 262144);
   2457 f(2199031644160, 262145);
   2458 f(4398038122496, 524287);
   2459 f(4398046511104, 524288);
   2460 f(4398054899712, 524289);
   2461 f(8796084633600, 1048575);
   2462 f(8796093022208, 1048576);
   2463 f(8796101410816, 1048577);
   2464 f(17592177655808, 2097151);
   2465 f(17592186044416, 2097152);
   2466 f(17592194433024, 2097153);
   2467 f(35184363700224, 4194303);
   2468 f(35184372088832, 4194304);
   2469 f(35184380477440, 4194305);
   2470 f(70368735789056, 8388607);
   2471 f(70368744177664, 8388608);
   2472 x = 8388609;
   2473 f(0, 0);
   2474 f(8388609, 1);
   2475 f(16777218, 2);
   2476 f(25165827, 3);
   2477 f(33554436, 4);
   2478 f(41943045, 5);
   2479 f(58720263, 7);
   2480 f(67108872, 8);
   2481 f(75497481, 9);
   2482 f(125829135, 15);
   2483 f(134217744, 16);
   2484 f(142606353, 17);
   2485 f(260046879, 31);
   2486 f(268435488, 32);
   2487 f(276824097, 33);
   2488 f(528482367, 63);
   2489 f(536870976, 64);
   2490 f(545259585, 65);
   2491 f(1065353343, 127);
   2492 f(1073741952, 128);
   2493 f(1082130561, 129);
   2494 f(2139095295, 255);
   2495 f(2147483904, 256);
   2496 f(2155872513, 257);
   2497 f(4286579199, 511);
   2498 f(4294967808, 512);
   2499 f(4303356417, 513);
   2500 f(8581547007, 1023);
   2501 f(8589935616, 1024);
   2502 f(8598324225, 1025);
   2503 f(17171482623, 2047);
   2504 f(17179871232, 2048);
   2505 f(17188259841, 2049);
   2506 f(34351353855, 4095);
   2507 f(34359742464, 4096);
   2508 f(34368131073, 4097);
   2509 f(68711096319, 8191);
   2510 f(68719484928, 8192);
   2511 f(68727873537, 8193);
   2512 f(137430581247, 16383);
   2513 f(137438969856, 16384);
   2514 f(137447358465, 16385);
   2515 f(274869551103, 32767);
   2516 f(274877939712, 32768);
   2517 f(274886328321, 32769);
   2518 f(549747490815, 65535);
   2519 f(549755879424, 65536);
   2520 f(549764268033, 65537);
   2521 f(1099503370239, 131071);
   2522 f(1099511758848, 131072);
   2523 f(1099520147457, 131073);
   2524 f(2199015129087, 262143);
   2525 f(2199023517696, 262144);
   2526 f(2199031906305, 262145);
   2527 f(4398038646783, 524287);
   2528 f(4398047035392, 524288);
   2529 f(4398055424001, 524289);
   2530 f(8796085682175, 1048575);
   2531 f(8796094070784, 1048576);
   2532 f(8796102459393, 1048577);
   2533 f(17592179752959, 2097151);
   2534 f(17592188141568, 2097152);
   2535 f(17592196530177, 2097153);
   2536 f(35184367894527, 4194303);
   2537 f(35184376283136, 4194304);
   2538 f(35184384671745, 4194305);
   2539 f(70368744177663, 8388607);
   2540 f(70368752566272, 8388608);
   2541 f(70368760954881, 8388609);
   2542 x = 16777215;
   2543 f(0, 0);
   2544 f(16777215, 1);
   2545 f(33554430, 2);
   2546 f(50331645, 3);
   2547 f(67108860, 4);
   2548 f(83886075, 5);
   2549 f(117440505, 7);
   2550 f(134217720, 8);
   2551 f(150994935, 9);
   2552 f(251658225, 15);
   2553 f(268435440, 16);
   2554 f(285212655, 17);
   2555 f(520093665, 31);
   2556 f(536870880, 32);
   2557 f(553648095, 33);
   2558 f(1056964545, 63);
   2559 f(1073741760, 64);
   2560 f(1090518975, 65);
   2561 f(2130706305, 127);
   2562 f(2147483520, 128);
   2563 f(2164260735, 129);
   2564 f(4278189825, 255);
   2565 f(4294967040, 256);
   2566 f(4311744255, 257);
   2567 f(8573156865, 511);
   2568 f(8589934080, 512);
   2569 f(8606711295, 513);
   2570 f(17163090945, 1023);
   2571 f(17179868160, 1024);
   2572 f(17196645375, 1025);
   2573 f(34342959105, 2047);
   2574 f(34359736320, 2048);
   2575 f(34376513535, 2049);
   2576 f(68702695425, 4095);
   2577 f(68719472640, 4096);
   2578 f(68736249855, 4097);
   2579 f(137422168065, 8191);
   2580 f(137438945280, 8192);
   2581 f(137455722495, 8193);
   2582 f(274861113345, 16383);
   2583 f(274877890560, 16384);
   2584 f(274894667775, 16385);
   2585 f(549739003905, 32767);
   2586 f(549755781120, 32768);
   2587 f(549772558335, 32769);
   2588 f(1099494785025, 65535);
   2589 f(1099511562240, 65536);
   2590 f(1099528339455, 65537);
   2591 f(2199006347265, 131071);
   2592 f(2199023124480, 131072);
   2593 f(2199039901695, 131073);
   2594 f(4398029471745, 262143);
   2595 f(4398046248960, 262144);
   2596 f(4398063026175, 262145);
   2597 f(8796075720705, 524287);
   2598 f(8796092497920, 524288);
   2599 f(8796109275135, 524289);
   2600 f(17592168218625, 1048575);
   2601 f(17592184995840, 1048576);
   2602 f(17592201773055, 1048577);
   2603 f(35184353214465, 2097151);
   2604 f(35184369991680, 2097152);
   2605 f(35184386768895, 2097153);
   2606 f(70368723206145, 4194303);
   2607 f(70368739983360, 4194304);
   2608 f(70368756760575, 4194305);
   2609 f(140737463189505, 8388607);
   2610 f(140737479966720, 8388608);
   2611 f(140737496743935, 8388609);
   2612 f(281474943156225, 16777215);
   2613 x = 16777216;
   2614 f(0, 0);
   2615 f(16777216, 1);
   2616 f(33554432, 2);
   2617 f(50331648, 3);
   2618 f(67108864, 4);
   2619 f(83886080, 5);
   2620 f(117440512, 7);
   2621 f(134217728, 8);
   2622 f(150994944, 9);
   2623 f(251658240, 15);
   2624 f(268435456, 16);
   2625 f(285212672, 17);
   2626 f(520093696, 31);
   2627 f(536870912, 32);
   2628 f(553648128, 33);
   2629 f(1056964608, 63);
   2630 f(1073741824, 64);
   2631 f(1090519040, 65);
   2632 f(2130706432, 127);
   2633 f(2147483648, 128);
   2634 f(2164260864, 129);
   2635 f(4278190080, 255);
   2636 f(4294967296, 256);
   2637 f(4311744512, 257);
   2638 f(8573157376, 511);
   2639 f(8589934592, 512);
   2640 f(8606711808, 513);
   2641 f(17163091968, 1023);
   2642 f(17179869184, 1024);
   2643 f(17196646400, 1025);
   2644 f(34342961152, 2047);
   2645 f(34359738368, 2048);
   2646 f(34376515584, 2049);
   2647 f(68702699520, 4095);
   2648 f(68719476736, 4096);
   2649 f(68736253952, 4097);
   2650 f(137422176256, 8191);
   2651 f(137438953472, 8192);
   2652 f(137455730688, 8193);
   2653 f(274861129728, 16383);
   2654 f(274877906944, 16384);
   2655 f(274894684160, 16385);
   2656 f(549739036672, 32767);
   2657 f(549755813888, 32768);
   2658 f(549772591104, 32769);
   2659 f(1099494850560, 65535);
   2660 f(1099511627776, 65536);
   2661 f(1099528404992, 65537);
   2662 f(2199006478336, 131071);
   2663 f(2199023255552, 131072);
   2664 f(2199040032768, 131073);
   2665 f(4398029733888, 262143);
   2666 f(4398046511104, 262144);
   2667 f(4398063288320, 262145);
   2668 f(8796076244992, 524287);
   2669 f(8796093022208, 524288);
   2670 f(8796109799424, 524289);
   2671 f(17592169267200, 1048575);
   2672 f(17592186044416, 1048576);
   2673 f(17592202821632, 1048577);
   2674 f(35184355311616, 2097151);
   2675 f(35184372088832, 2097152);
   2676 f(35184388866048, 2097153);
   2677 f(70368727400448, 4194303);
   2678 f(70368744177664, 4194304);
   2679 f(70368760954880, 4194305);
   2680 f(140737471578112, 8388607);
   2681 f(140737488355328, 8388608);
   2682 f(140737505132544, 8388609);
   2683 f(281474959933440, 16777215);
   2684 f(281474976710656, 16777216);
   2685 x = 16777217;
   2686 f(0, 0);
   2687 f(16777217, 1);
   2688 f(33554434, 2);
   2689 f(50331651, 3);
   2690 f(67108868, 4);
   2691 f(83886085, 5);
   2692 f(117440519, 7);
   2693 f(134217736, 8);
   2694 f(150994953, 9);
   2695 f(251658255, 15);
   2696 f(268435472, 16);
   2697 f(285212689, 17);
   2698 f(520093727, 31);
   2699 f(536870944, 32);
   2700 f(553648161, 33);
   2701 f(1056964671, 63);
   2702 f(1073741888, 64);
   2703 f(1090519105, 65);
   2704 f(2130706559, 127);
   2705 f(2147483776, 128);
   2706 f(2164260993, 129);
   2707 f(4278190335, 255);
   2708 f(4294967552, 256);
   2709 f(4311744769, 257);
   2710 f(8573157887, 511);
   2711 f(8589935104, 512);
   2712 f(8606712321, 513);
   2713 f(17163092991, 1023);
   2714 f(17179870208, 1024);
   2715 f(17196647425, 1025);
   2716 f(34342963199, 2047);
   2717 f(34359740416, 2048);
   2718 f(34376517633, 2049);
   2719 f(68702703615, 4095);
   2720 f(68719480832, 4096);
   2721 f(68736258049, 4097);
   2722 f(137422184447, 8191);
   2723 f(137438961664, 8192);
   2724 f(137455738881, 8193);
   2725 f(274861146111, 16383);
   2726 f(274877923328, 16384);
   2727 f(274894700545, 16385);
   2728 f(549739069439, 32767);
   2729 f(549755846656, 32768);
   2730 f(549772623873, 32769);
   2731 f(1099494916095, 65535);
   2732 f(1099511693312, 65536);
   2733 f(1099528470529, 65537);
   2734 f(2199006609407, 131071);
   2735 f(2199023386624, 131072);
   2736 f(2199040163841, 131073);
   2737 f(4398029996031, 262143);
   2738 f(4398046773248, 262144);
   2739 f(4398063550465, 262145);
   2740 f(8796076769279, 524287);
   2741 f(8796093546496, 524288);
   2742 f(8796110323713, 524289);
   2743 f(17592170315775, 1048575);
   2744 f(17592187092992, 1048576);
   2745 f(17592203870209, 1048577);
   2746 f(35184357408767, 2097151);
   2747 f(35184374185984, 2097152);
   2748 f(35184390963201, 2097153);
   2749 f(70368731594751, 4194303);
   2750 f(70368748371968, 4194304);
   2751 f(70368765149185, 4194305);
   2752 f(140737479966719, 8388607);
   2753 f(140737496743936, 8388608);
   2754 f(140737513521153, 8388609);
   2755 f(281474976710655, 16777215);
   2756 f(281474993487872, 16777216);
   2757 f(281475010265089, 16777217);
   2758 x = 33554431;
   2759 f(0, 0);
   2760 f(33554431, 1);
   2761 f(67108862, 2);
   2762 f(100663293, 3);
   2763 f(134217724, 4);
   2764 f(167772155, 5);
   2765 f(234881017, 7);
   2766 f(268435448, 8);
   2767 f(301989879, 9);
   2768 f(503316465, 15);
   2769 f(536870896, 16);
   2770 f(570425327, 17);
   2771 f(1040187361, 31);
   2772 f(1073741792, 32);
   2773 f(1107296223, 33);
   2774 f(2113929153, 63);
   2775 f(2147483584, 64);
   2776 f(2181038015, 65);
   2777 f(4261412737, 127);
   2778 f(4294967168, 128);
   2779 f(4328521599, 129);
   2780 f(8556379905, 255);
   2781 f(8589934336, 256);
   2782 f(8623488767, 257);
   2783 f(17146314241, 511);
   2784 f(17179868672, 512);
   2785 f(17213423103, 513);
   2786 f(34326182913, 1023);
   2787 f(34359737344, 1024);
   2788 f(34393291775, 1025);
   2789 f(68685920257, 2047);
   2790 f(68719474688, 2048);
   2791 f(68753029119, 2049);
   2792 f(137405394945, 4095);
   2793 f(137438949376, 4096);
   2794 f(137472503807, 4097);
   2795 f(274844344321, 8191);
   2796 f(274877898752, 8192);
   2797 f(274911453183, 8193);
   2798 f(549722243073, 16383);
   2799 f(549755797504, 16384);
   2800 f(549789351935, 16385);
   2801 f(1099478040577, 32767);
   2802 f(1099511595008, 32768);
   2803 f(1099545149439, 32769);
   2804 f(2198989635585, 65535);
   2805 f(2199023190016, 65536);
   2806 f(2199056744447, 65537);
   2807 f(4398012825601, 131071);
   2808 f(4398046380032, 131072);
   2809 f(4398079934463, 131073);
   2810 f(8796059205633, 262143);
   2811 f(8796092760064, 262144);
   2812 f(8796126314495, 262145);
   2813 f(17592151965697, 524287);
   2814 f(17592185520128, 524288);
   2815 f(17592219074559, 524289);
   2816 f(35184337485825, 1048575);
   2817 f(35184371040256, 1048576);
   2818 f(35184404594687, 1048577);
   2819 f(70368708526081, 2097151);
   2820 f(70368742080512, 2097152);
   2821 f(70368775634943, 2097153);
   2822 f(140737450606593, 4194303);
   2823 f(140737484161024, 4194304);
   2824 f(140737517715455, 4194305);
   2825 f(281474934767617, 8388607);
   2826 f(281474968322048, 8388608);
   2827 f(281475001876479, 8388609);
   2828 f(562949903089665, 16777215);
   2829 f(562949936644096, 16777216);
   2830 f(562949970198527, 16777217);
   2831 f(1125899839733761, 33554431);
   2832 x = 33554432;
   2833 f(0, 0);
   2834 f(33554432, 1);
   2835 f(67108864, 2);
   2836 f(100663296, 3);
   2837 f(134217728, 4);
   2838 f(167772160, 5);
   2839 f(234881024, 7);
   2840 f(268435456, 8);
   2841 f(301989888, 9);
   2842 f(503316480, 15);
   2843 f(536870912, 16);
   2844 f(570425344, 17);
   2845 f(1040187392, 31);
   2846 f(1073741824, 32);
   2847 f(1107296256, 33);
   2848 f(2113929216, 63);
   2849 f(2147483648, 64);
   2850 f(2181038080, 65);
   2851 f(4261412864, 127);
   2852 f(4294967296, 128);
   2853 f(4328521728, 129);
   2854 f(8556380160, 255);
   2855 f(8589934592, 256);
   2856 f(8623489024, 257);
   2857 f(17146314752, 511);
   2858 f(17179869184, 512);
   2859 f(17213423616, 513);
   2860 f(34326183936, 1023);
   2861 f(34359738368, 1024);
   2862 f(34393292800, 1025);
   2863 f(68685922304, 2047);
   2864 f(68719476736, 2048);
   2865 f(68753031168, 2049);
   2866 f(137405399040, 4095);
   2867 f(137438953472, 4096);
   2868 f(137472507904, 4097);
   2869 f(274844352512, 8191);
   2870 f(274877906944, 8192);
   2871 f(274911461376, 8193);
   2872 f(549722259456, 16383);
   2873 f(549755813888, 16384);
   2874 f(549789368320, 16385);
   2875 f(1099478073344, 32767);
   2876 f(1099511627776, 32768);
   2877 f(1099545182208, 32769);
   2878 f(2198989701120, 65535);
   2879 f(2199023255552, 65536);
   2880 f(2199056809984, 65537);
   2881 f(4398012956672, 131071);
   2882 f(4398046511104, 131072);
   2883 f(4398080065536, 131073);
   2884 f(8796059467776, 262143);
   2885 f(8796093022208, 262144);
   2886 f(8796126576640, 262145);
   2887 f(17592152489984, 524287);
   2888 f(17592186044416, 524288);
   2889 f(17592219598848, 524289);
   2890 f(35184338534400, 1048575);
   2891 f(35184372088832, 1048576);
   2892 f(35184405643264, 1048577);
   2893 f(70368710623232, 2097151);
   2894 f(70368744177664, 2097152);
   2895 f(70368777732096, 2097153);
   2896 f(140737454800896, 4194303);
   2897 f(140737488355328, 4194304);
   2898 f(140737521909760, 4194305);
   2899 f(281474943156224, 8388607);
   2900 f(281474976710656, 8388608);
   2901 f(281475010265088, 8388609);
   2902 f(562949919866880, 16777215);
   2903 f(562949953421312, 16777216);
   2904 f(562949986975744, 16777217);
   2905 f(1125899873288192, 33554431);
   2906 f(1125899906842624, 33554432);
   2907 x = 33554433;
   2908 f(0, 0);
   2909 f(33554433, 1);
   2910 f(67108866, 2);
   2911 f(100663299, 3);
   2912 f(134217732, 4);
   2913 f(167772165, 5);
   2914 f(234881031, 7);
   2915 f(268435464, 8);
   2916 f(301989897, 9);
   2917 f(503316495, 15);
   2918 f(536870928, 16);
   2919 f(570425361, 17);
   2920 f(1040187423, 31);
   2921 f(1073741856, 32);
   2922 f(1107296289, 33);
   2923 f(2113929279, 63);
   2924 f(2147483712, 64);
   2925 f(2181038145, 65);
   2926 f(4261412991, 127);
   2927 f(4294967424, 128);
   2928 f(4328521857, 129);
   2929 f(8556380415, 255);
   2930 f(8589934848, 256);
   2931 f(8623489281, 257);
   2932 f(17146315263, 511);
   2933 f(17179869696, 512);
   2934 f(17213424129, 513);
   2935 f(34326184959, 1023);
   2936 f(34359739392, 1024);
   2937 f(34393293825, 1025);
   2938 f(68685924351, 2047);
   2939 f(68719478784, 2048);
   2940 f(68753033217, 2049);
   2941 f(137405403135, 4095);
   2942 f(137438957568, 4096);
   2943 f(137472512001, 4097);
   2944 f(274844360703, 8191);
   2945 f(274877915136, 8192);
   2946 f(274911469569, 8193);
   2947 f(549722275839, 16383);
   2948 f(549755830272, 16384);
   2949 f(549789384705, 16385);
   2950 f(1099478106111, 32767);
   2951 f(1099511660544, 32768);
   2952 f(1099545214977, 32769);
   2953 f(2198989766655, 65535);
   2954 f(2199023321088, 65536);
   2955 f(2199056875521, 65537);
   2956 f(4398013087743, 131071);
   2957 f(4398046642176, 131072);
   2958 f(4398080196609, 131073);
   2959 f(8796059729919, 262143);
   2960 f(8796093284352, 262144);
   2961 f(8796126838785, 262145);
   2962 f(17592153014271, 524287);
   2963 f(17592186568704, 524288);
   2964 f(17592220123137, 524289);
   2965 f(35184339582975, 1048575);
   2966 f(35184373137408, 1048576);
   2967 f(35184406691841, 1048577);
   2968 f(70368712720383, 2097151);
   2969 f(70368746274816, 2097152);
   2970 f(70368779829249, 2097153);
   2971 f(140737458995199, 4194303);
   2972 f(140737492549632, 4194304);
   2973 f(140737526104065, 4194305);
   2974 f(281474951544831, 8388607);
   2975 f(281474985099264, 8388608);
   2976 f(281475018653697, 8388609);
   2977 f(562949936644095, 16777215);
   2978 f(562949970198528, 16777216);
   2979 f(562950003752961, 16777217);
   2980 f(1125899906842623, 33554431);
   2981 f(1125899940397056, 33554432);
   2982 f(1125899973951489, 33554433);
   2983 x = 67108863;
   2984 f(0, 0);
   2985 f(67108863, 1);
   2986 f(134217726, 2);
   2987 f(201326589, 3);
   2988 f(268435452, 4);
   2989 f(335544315, 5);
   2990 f(469762041, 7);
   2991 f(536870904, 8);
   2992 f(603979767, 9);
   2993 f(1006632945, 15);
   2994 f(1073741808, 16);
   2995 f(1140850671, 17);
   2996 f(2080374753, 31);
   2997 f(2147483616, 32);
   2998 f(2214592479, 33);
   2999 f(4227858369, 63);
   3000 f(4294967232, 64);
   3001 f(4362076095, 65);
   3002 f(8522825601, 127);
   3003 f(8589934464, 128);
   3004 f(8657043327, 129);
   3005 f(17112760065, 255);
   3006 f(17179868928, 256);
   3007 f(17246977791, 257);
   3008 f(34292628993, 511);
   3009 f(34359737856, 512);
   3010 f(34426846719, 513);
   3011 f(68652366849, 1023);
   3012 f(68719475712, 1024);
   3013 f(68786584575, 1025);
   3014 f(137371842561, 2047);
   3015 f(137438951424, 2048);
   3016 f(137506060287, 2049);
   3017 f(274810793985, 4095);
   3018 f(274877902848, 4096);
   3019 f(274945011711, 4097);
   3020 f(549688696833, 8191);
   3021 f(549755805696, 8192);
   3022 f(549822914559, 8193);
   3023 f(1099444502529, 16383);
   3024 f(1099511611392, 16384);
   3025 f(1099578720255, 16385);
   3026 f(2198956113921, 32767);
   3027 f(2199023222784, 32768);
   3028 f(2199090331647, 32769);
   3029 f(4397979336705, 65535);
   3030 f(4398046445568, 65536);
   3031 f(4398113554431, 65537);
   3032 f(8796025782273, 131071);
   3033 f(8796092891136, 131072);
   3034 f(8796159999999, 131073);
   3035 f(17592118673409, 262143);
   3036 f(17592185782272, 262144);
   3037 f(17592252891135, 262145);
   3038 f(35184304455681, 524287);
   3039 f(35184371564544, 524288);
   3040 f(35184438673407, 524289);
   3041 f(70368676020225, 1048575);
   3042 f(70368743129088, 1048576);
   3043 f(70368810237951, 1048577);
   3044 f(140737419149313, 2097151);
   3045 f(140737486258176, 2097152);
   3046 f(140737553367039, 2097153);
   3047 f(281474905407489, 4194303);
   3048 f(281474972516352, 4194304);
   3049 f(281475039625215, 4194305);
   3050 f(562949877923841, 8388607);
   3051 f(562949945032704, 8388608);
   3052 f(562950012141567, 8388609);
   3053 f(1125899822956545, 16777215);
   3054 f(1125899890065408, 16777216);
   3055 f(1125899957174271, 16777217);
   3056 x = 67108864;
   3057 f(0, 0);
   3058 f(67108864, 1);
   3059 f(134217728, 2);
   3060 f(201326592, 3);
   3061 f(268435456, 4);
   3062 f(335544320, 5);
   3063 f(469762048, 7);
   3064 f(536870912, 8);
   3065 f(603979776, 9);
   3066 f(1006632960, 15);
   3067 f(1073741824, 16);
   3068 f(1140850688, 17);
   3069 f(2080374784, 31);
   3070 f(2147483648, 32);
   3071 f(2214592512, 33);
   3072 f(4227858432, 63);
   3073 f(4294967296, 64);
   3074 f(4362076160, 65);
   3075 f(8522825728, 127);
   3076 f(8589934592, 128);
   3077 f(8657043456, 129);
   3078 f(17112760320, 255);
   3079 f(17179869184, 256);
   3080 f(17246978048, 257);
   3081 f(34292629504, 511);
   3082 f(34359738368, 512);
   3083 f(34426847232, 513);
   3084 f(68652367872, 1023);
   3085 f(68719476736, 1024);
   3086 f(68786585600, 1025);
   3087 f(137371844608, 2047);
   3088 f(137438953472, 2048);
   3089 f(137506062336, 2049);
   3090 f(274810798080, 4095);
   3091 f(274877906944, 4096);
   3092 f(274945015808, 4097);
   3093 f(549688705024, 8191);
   3094 f(549755813888, 8192);
   3095 f(549822922752, 8193);
   3096 f(1099444518912, 16383);
   3097 f(1099511627776, 16384);
   3098 f(1099578736640, 16385);
   3099 f(2198956146688, 32767);
   3100 f(2199023255552, 32768);
   3101 f(2199090364416, 32769);
   3102 f(4397979402240, 65535);
   3103 f(4398046511104, 65536);
   3104 f(4398113619968, 65537);
   3105 f(8796025913344, 131071);
   3106 f(8796093022208, 131072);
   3107 f(8796160131072, 131073);
   3108 f(17592118935552, 262143);
   3109 f(17592186044416, 262144);
   3110 f(17592253153280, 262145);
   3111 f(35184304979968, 524287);
   3112 f(35184372088832, 524288);
   3113 f(35184439197696, 524289);
   3114 f(70368677068800, 1048575);
   3115 f(70368744177664, 1048576);
   3116 f(70368811286528, 1048577);
   3117 f(140737421246464, 2097151);
   3118 f(140737488355328, 2097152);
   3119 f(140737555464192, 2097153);
   3120 f(281474909601792, 4194303);
   3121 f(281474976710656, 4194304);
   3122 f(281475043819520, 4194305);
   3123 f(562949886312448, 8388607);
   3124 f(562949953421312, 8388608);
   3125 f(562950020530176, 8388609);
   3126 f(1125899839733760, 16777215);
   3127 f(1125899906842624, 16777216);
   3128 f(1125899973951488, 16777217);
   3129 x = 67108865;
   3130 f(0, 0);
   3131 f(67108865, 1);
   3132 f(134217730, 2);
   3133 f(201326595, 3);
   3134 f(268435460, 4);
   3135 f(335544325, 5);
   3136 f(469762055, 7);
   3137 f(536870920, 8);
   3138 f(603979785, 9);
   3139 f(1006632975, 15);
   3140 f(1073741840, 16);
   3141 f(1140850705, 17);
   3142 f(2080374815, 31);
   3143 f(2147483680, 32);
   3144 f(2214592545, 33);
   3145 f(4227858495, 63);
   3146 f(4294967360, 64);
   3147 f(4362076225, 65);
   3148 f(8522825855, 127);
   3149 f(8589934720, 128);
   3150 f(8657043585, 129);
   3151 f(17112760575, 255);
   3152 f(17179869440, 256);
   3153 f(17246978305, 257);
   3154 f(34292630015, 511);
   3155 f(34359738880, 512);
   3156 f(34426847745, 513);
   3157 f(68652368895, 1023);
   3158 f(68719477760, 1024);
   3159 f(68786586625, 1025);
   3160 f(137371846655, 2047);
   3161 f(137438955520, 2048);
   3162 f(137506064385, 2049);
   3163 f(274810802175, 4095);
   3164 f(274877911040, 4096);
   3165 f(274945019905, 4097);
   3166 f(549688713215, 8191);
   3167 f(549755822080, 8192);
   3168 f(549822930945, 8193);
   3169 f(1099444535295, 16383);
   3170 f(1099511644160, 16384);
   3171 f(1099578753025, 16385);
   3172 f(2198956179455, 32767);
   3173 f(2199023288320, 32768);
   3174 f(2199090397185, 32769);
   3175 f(4397979467775, 65535);
   3176 f(4398046576640, 65536);
   3177 f(4398113685505, 65537);
   3178 f(8796026044415, 131071);
   3179 f(8796093153280, 131072);
   3180 f(8796160262145, 131073);
   3181 f(17592119197695, 262143);
   3182 f(17592186306560, 262144);
   3183 f(17592253415425, 262145);
   3184 f(35184305504255, 524287);
   3185 f(35184372613120, 524288);
   3186 f(35184439721985, 524289);
   3187 f(70368678117375, 1048575);
   3188 f(70368745226240, 1048576);
   3189 f(70368812335105, 1048577);
   3190 f(140737423343615, 2097151);
   3191 f(140737490452480, 2097152);
   3192 f(140737557561345, 2097153);
   3193 f(281474913796095, 4194303);
   3194 f(281474980904960, 4194304);
   3195 f(281475048013825, 4194305);
   3196 f(562949894701055, 8388607);
   3197 f(562949961809920, 8388608);
   3198 f(562950028918785, 8388609);
   3199 f(1125899856510975, 16777215);
   3200 f(1125899923619840, 16777216);
   3201 f(1125899990728705, 16777217);
   3202 x = 134217727;
   3203 f(0, 0);
   3204 f(134217727, 1);
   3205 f(268435454, 2);
   3206 f(402653181, 3);
   3207 f(536870908, 4);
   3208 f(671088635, 5);
   3209 f(939524089, 7);
   3210 f(1073741816, 8);
   3211 f(1207959543, 9);
   3212 f(2013265905, 15);
   3213 f(2147483632, 16);
   3214 f(2281701359, 17);
   3215 f(4160749537, 31);
   3216 f(4294967264, 32);
   3217 f(4429184991, 33);
   3218 f(8455716801, 63);
   3219 f(8589934528, 64);
   3220 f(8724152255, 65);
   3221 f(17045651329, 127);
   3222 f(17179869056, 128);
   3223 f(17314086783, 129);
   3224 f(34225520385, 255);
   3225 f(34359738112, 256);
   3226 f(34493955839, 257);
   3227 f(68585258497, 511);
   3228 f(68719476224, 512);
   3229 f(68853693951, 513);
   3230 f(137304734721, 1023);
   3231 f(137438952448, 1024);
   3232 f(137573170175, 1025);
   3233 f(274743687169, 2047);
   3234 f(274877904896, 2048);
   3235 f(275012122623, 2049);
   3236 f(549621592065, 4095);
   3237 f(549755809792, 4096);
   3238 f(549890027519, 4097);
   3239 f(1099377401857, 8191);
   3240 f(1099511619584, 8192);
   3241 f(1099645837311, 8193);
   3242 f(2198889021441, 16383);
   3243 f(2199023239168, 16384);
   3244 f(2199157456895, 16385);
   3245 f(4397912260609, 32767);
   3246 f(4398046478336, 32768);
   3247 f(4398180696063, 32769);
   3248 f(8795958738945, 65535);
   3249 f(8796092956672, 65536);
   3250 f(8796227174399, 65537);
   3251 f(17592051695617, 131071);
   3252 f(17592185913344, 131072);
   3253 f(17592320131071, 131073);
   3254 f(35184237608961, 262143);
   3255 f(35184371826688, 262144);
   3256 f(35184506044415, 262145);
   3257 f(70368609435649, 524287);
   3258 f(70368743653376, 524288);
   3259 f(70368877871103, 524289);
   3260 f(140737353089025, 1048575);
   3261 f(140737487306752, 1048576);
   3262 f(140737621524479, 1048577);
   3263 f(281474840395777, 2097151);
   3264 f(281474974613504, 2097152);
   3265 f(281475108831231, 2097153);
   3266 f(562949815009281, 4194303);
   3267 f(562949949227008, 4194304);
   3268 f(562950083444735, 4194305);
   3269 f(1125899764236289, 8388607);
   3270 f(1125899898454016, 8388608);
   3271 f(1125900032671743, 8388609);
   3272 x = 134217728;
   3273 f(0, 0);
   3274 f(134217728, 1);
   3275 f(268435456, 2);
   3276 f(402653184, 3);
   3277 f(536870912, 4);
   3278 f(671088640, 5);
   3279 f(939524096, 7);
   3280 f(1073741824, 8);
   3281 f(1207959552, 9);
   3282 f(2013265920, 15);
   3283 f(2147483648, 16);
   3284 f(2281701376, 17);
   3285 f(4160749568, 31);
   3286 f(4294967296, 32);
   3287 f(4429185024, 33);
   3288 f(8455716864, 63);
   3289 f(8589934592, 64);
   3290 f(8724152320, 65);
   3291 f(17045651456, 127);
   3292 f(17179869184, 128);
   3293 f(17314086912, 129);
   3294 f(34225520640, 255);
   3295 f(34359738368, 256);
   3296 f(34493956096, 257);
   3297 f(68585259008, 511);
   3298 f(68719476736, 512);
   3299 f(68853694464, 513);
   3300 f(137304735744, 1023);
   3301 f(137438953472, 1024);
   3302 f(137573171200, 1025);
   3303 f(274743689216, 2047);
   3304 f(274877906944, 2048);
   3305 f(275012124672, 2049);
   3306 f(549621596160, 4095);
   3307 f(549755813888, 4096);
   3308 f(549890031616, 4097);
   3309 f(1099377410048, 8191);
   3310 f(1099511627776, 8192);
   3311 f(1099645845504, 8193);
   3312 f(2198889037824, 16383);
   3313 f(2199023255552, 16384);
   3314 f(2199157473280, 16385);
   3315 f(4397912293376, 32767);
   3316 f(4398046511104, 32768);
   3317 f(4398180728832, 32769);
   3318 f(8795958804480, 65535);
   3319 f(8796093022208, 65536);
   3320 f(8796227239936, 65537);
   3321 f(17592051826688, 131071);
   3322 f(17592186044416, 131072);
   3323 f(17592320262144, 131073);
   3324 f(35184237871104, 262143);
   3325 f(35184372088832, 262144);
   3326 f(35184506306560, 262145);
   3327 f(70368609959936, 524287);
   3328 f(70368744177664, 524288);
   3329 f(70368878395392, 524289);
   3330 f(140737354137600, 1048575);
   3331 f(140737488355328, 1048576);
   3332 f(140737622573056, 1048577);
   3333 f(281474842492928, 2097151);
   3334 f(281474976710656, 2097152);
   3335 f(281475110928384, 2097153);
   3336 f(562949819203584, 4194303);
   3337 f(562949953421312, 4194304);
   3338 f(562950087639040, 4194305);
   3339 f(1125899772624896, 8388607);
   3340 f(1125899906842624, 8388608);
   3341 f(1125900041060352, 8388609);
   3342 x = 134217729;
   3343 f(0, 0);
   3344 f(134217729, 1);
   3345 f(268435458, 2);
   3346 f(402653187, 3);
   3347 f(536870916, 4);
   3348 f(671088645, 5);
   3349 f(939524103, 7);
   3350 f(1073741832, 8);
   3351 f(1207959561, 9);
   3352 f(2013265935, 15);
   3353 f(2147483664, 16);
   3354 f(2281701393, 17);
   3355 f(4160749599, 31);
   3356 f(4294967328, 32);
   3357 f(4429185057, 33);
   3358 f(8455716927, 63);
   3359 f(8589934656, 64);
   3360 f(8724152385, 65);
   3361 f(17045651583, 127);
   3362 f(17179869312, 128);
   3363 f(17314087041, 129);
   3364 f(34225520895, 255);
   3365 f(34359738624, 256);
   3366 f(34493956353, 257);
   3367 f(68585259519, 511);
   3368 f(68719477248, 512);
   3369 f(68853694977, 513);
   3370 f(137304736767, 1023);
   3371 f(137438954496, 1024);
   3372 f(137573172225, 1025);
   3373 f(274743691263, 2047);
   3374 f(274877908992, 2048);
   3375 f(275012126721, 2049);
   3376 f(549621600255, 4095);
   3377 f(549755817984, 4096);
   3378 f(549890035713, 4097);
   3379 f(1099377418239, 8191);
   3380 f(1099511635968, 8192);
   3381 f(1099645853697, 8193);
   3382 f(2198889054207, 16383);
   3383 f(2199023271936, 16384);
   3384 f(2199157489665, 16385);
   3385 f(4397912326143, 32767);
   3386 f(4398046543872, 32768);
   3387 f(4398180761601, 32769);
   3388 f(8795958870015, 65535);
   3389 f(8796093087744, 65536);
   3390 f(8796227305473, 65537);
   3391 f(17592051957759, 131071);
   3392 f(17592186175488, 131072);
   3393 f(17592320393217, 131073);
   3394 f(35184238133247, 262143);
   3395 f(35184372350976, 262144);
   3396 f(35184506568705, 262145);
   3397 f(70368610484223, 524287);
   3398 f(70368744701952, 524288);
   3399 f(70368878919681, 524289);
   3400 f(140737355186175, 1048575);
   3401 f(140737489403904, 1048576);
   3402 f(140737623621633, 1048577);
   3403 f(281474844590079, 2097151);
   3404 f(281474978807808, 2097152);
   3405 f(281475113025537, 2097153);
   3406 f(562949823397887, 4194303);
   3407 f(562949957615616, 4194304);
   3408 f(562950091833345, 4194305);
   3409 f(1125899781013503, 8388607);
   3410 f(1125899915231232, 8388608);
   3411 f(1125900049448961, 8388609);
   3412 x = 268435455;
   3413 f(0, 0);
   3414 f(268435455, 1);
   3415 f(536870910, 2);
   3416 f(805306365, 3);
   3417 f(1073741820, 4);
   3418 f(1342177275, 5);
   3419 f(1879048185, 7);
   3420 f(2147483640, 8);
   3421 f(2415919095, 9);
   3422 f(4026531825, 15);
   3423 f(4294967280, 16);
   3424 f(4563402735, 17);
   3425 f(8321499105, 31);
   3426 f(8589934560, 32);
   3427 f(8858370015, 33);
   3428 f(16911433665, 63);
   3429 f(17179869120, 64);
   3430 f(17448304575, 65);
   3431 f(34091302785, 127);
   3432 f(34359738240, 128);
   3433 f(34628173695, 129);
   3434 f(68451041025, 255);
   3435 f(68719476480, 256);
   3436 f(68987911935, 257);
   3437 f(137170517505, 511);
   3438 f(137438952960, 512);
   3439 f(137707388415, 513);
   3440 f(274609470465, 1023);
   3441 f(274877905920, 1024);
   3442 f(275146341375, 1025);
   3443 f(549487376385, 2047);
   3444 f(549755811840, 2048);
   3445 f(550024247295, 2049);
   3446 f(1099243188225, 4095);
   3447 f(1099511623680, 4096);
   3448 f(1099780059135, 4097);
   3449 f(2198754811905, 8191);
   3450 f(2199023247360, 8192);
   3451 f(2199291682815, 8193);
   3452 f(4397778059265, 16383);
   3453 f(4398046494720, 16384);
   3454 f(4398314930175, 16385);
   3455 f(8795824553985, 32767);
   3456 f(8796092989440, 32768);
   3457 f(8796361424895, 32769);
   3458 f(17591917543425, 65535);
   3459 f(17592185978880, 65536);
   3460 f(17592454414335, 65537);
   3461 f(35184103522305, 131071);
   3462 f(35184371957760, 131072);
   3463 f(35184640393215, 131073);
   3464 f(70368475480065, 262143);
   3465 f(70368743915520, 262144);
   3466 f(70369012350975, 262145);
   3467 f(140737219395585, 524287);
   3468 f(140737487831040, 524288);
   3469 f(140737756266495, 524289);
   3470 f(281474707226625, 1048575);
   3471 f(281474975662080, 1048576);
   3472 f(281475244097535, 1048577);
   3473 f(562949682888705, 2097151);
   3474 f(562949951324160, 2097152);
   3475 f(562950219759615, 2097153);
   3476 f(1125899634212865, 4194303);
   3477 f(1125899902648320, 4194304);
   3478 f(1125900171083775, 4194305);
   3479 x = 268435456;
   3480 f(0, 0);
   3481 f(268435456, 1);
   3482 f(536870912, 2);
   3483 f(805306368, 3);
   3484 f(1073741824, 4);
   3485 f(1342177280, 5);
   3486 f(1879048192, 7);
   3487 f(2147483648, 8);
   3488 f(2415919104, 9);
   3489 f(4026531840, 15);
   3490 f(4294967296, 16);
   3491 f(4563402752, 17);
   3492 f(8321499136, 31);
   3493 f(8589934592, 32);
   3494 f(8858370048, 33);
   3495 f(16911433728, 63);
   3496 f(17179869184, 64);
   3497 f(17448304640, 65);
   3498 f(34091302912, 127);
   3499 f(34359738368, 128);
   3500 f(34628173824, 129);
   3501 f(68451041280, 255);
   3502 f(68719476736, 256);
   3503 f(68987912192, 257);
   3504 f(137170518016, 511);
   3505 f(137438953472, 512);
   3506 f(137707388928, 513);
   3507 f(274609471488, 1023);
   3508 f(274877906944, 1024);
   3509 f(275146342400, 1025);
   3510 f(549487378432, 2047);
   3511 f(549755813888, 2048);
   3512 f(550024249344, 2049);
   3513 f(1099243192320, 4095);
   3514 f(1099511627776, 4096);
   3515 f(1099780063232, 4097);
   3516 f(2198754820096, 8191);
   3517 f(2199023255552, 8192);
   3518 f(2199291691008, 8193);
   3519 f(4397778075648, 16383);
   3520 f(4398046511104, 16384);
   3521 f(4398314946560, 16385);
   3522 f(8795824586752, 32767);
   3523 f(8796093022208, 32768);
   3524 f(8796361457664, 32769);
   3525 f(17591917608960, 65535);
   3526 f(17592186044416, 65536);
   3527 f(17592454479872, 65537);
   3528 f(35184103653376, 131071);
   3529 f(35184372088832, 131072);
   3530 f(35184640524288, 131073);
   3531 f(70368475742208, 262143);
   3532 f(70368744177664, 262144);
   3533 f(70369012613120, 262145);
   3534 f(140737219919872, 524287);
   3535 f(140737488355328, 524288);
   3536 f(140737756790784, 524289);
   3537 f(281474708275200, 1048575);
   3538 f(281474976710656, 1048576);
   3539 f(281475245146112, 1048577);
   3540 f(562949684985856, 2097151);
   3541 f(562949953421312, 2097152);
   3542 f(562950221856768, 2097153);
   3543 f(1125899638407168, 4194303);
   3544 f(1125899906842624, 4194304);
   3545 f(1125900175278080, 4194305);
   3546 x = 268435457;
   3547 f(0, 0);
   3548 f(268435457, 1);
   3549 f(536870914, 2);
   3550 f(805306371, 3);
   3551 f(1073741828, 4);
   3552 f(1342177285, 5);
   3553 f(1879048199, 7);
   3554 f(2147483656, 8);
   3555 f(2415919113, 9);
   3556 f(4026531855, 15);
   3557 f(4294967312, 16);
   3558 f(4563402769, 17);
   3559 f(8321499167, 31);
   3560 f(8589934624, 32);
   3561 f(8858370081, 33);
   3562 f(16911433791, 63);
   3563 f(17179869248, 64);
   3564 f(17448304705, 65);
   3565 f(34091303039, 127);
   3566 f(34359738496, 128);
   3567 f(34628173953, 129);
   3568 f(68451041535, 255);
   3569 f(68719476992, 256);
   3570 f(68987912449, 257);
   3571 f(137170518527, 511);
   3572 f(137438953984, 512);
   3573 f(137707389441, 513);
   3574 f(274609472511, 1023);
   3575 f(274877907968, 1024);
   3576 f(275146343425, 1025);
   3577 f(549487380479, 2047);
   3578 f(549755815936, 2048);
   3579 f(550024251393, 2049);
   3580 f(1099243196415, 4095);
   3581 f(1099511631872, 4096);
   3582 f(1099780067329, 4097);
   3583 f(2198754828287, 8191);
   3584 f(2199023263744, 8192);
   3585 f(2199291699201, 8193);
   3586 f(4397778092031, 16383);
   3587 f(4398046527488, 16384);
   3588 f(4398314962945, 16385);
   3589 f(8795824619519, 32767);
   3590 f(8796093054976, 32768);
   3591 f(8796361490433, 32769);
   3592 f(17591917674495, 65535);
   3593 f(17592186109952, 65536);
   3594 f(17592454545409, 65537);
   3595 f(35184103784447, 131071);
   3596 f(35184372219904, 131072);
   3597 f(35184640655361, 131073);
   3598 f(70368476004351, 262143);
   3599 f(70368744439808, 262144);
   3600 f(70369012875265, 262145);
   3601 f(140737220444159, 524287);
   3602 f(140737488879616, 524288);
   3603 f(140737757315073, 524289);
   3604 f(281474709323775, 1048575);
   3605 f(281474977759232, 1048576);
   3606 f(281475246194689, 1048577);
   3607 f(562949687083007, 2097151);
   3608 f(562949955518464, 2097152);
   3609 f(562950223953921, 2097153);
   3610 f(1125899642601471, 4194303);
   3611 f(1125899911036928, 4194304);
   3612 f(1125900179472385, 4194305);
   3613 x = 536870911;
   3614 f(0, 0);
   3615 f(536870911, 1);
   3616 f(1073741822, 2);
   3617 f(1610612733, 3);
   3618 f(2147483644, 4);
   3619 f(2684354555, 5);
   3620 f(3758096377, 7);
   3621 f(4294967288, 8);
   3622 f(4831838199, 9);
   3623 f(8053063665, 15);
   3624 f(8589934576, 16);
   3625 f(9126805487, 17);
   3626 f(16642998241, 31);
   3627 f(17179869152, 32);
   3628 f(17716740063, 33);
   3629 f(33822867393, 63);
   3630 f(34359738304, 64);
   3631 f(34896609215, 65);
   3632 f(68182605697, 127);
   3633 f(68719476608, 128);
   3634 f(69256347519, 129);
   3635 f(136902082305, 255);
   3636 f(137438953216, 256);
   3637 f(137975824127, 257);
   3638 f(274341035521, 511);
   3639 f(274877906432, 512);
   3640 f(275414777343, 513);
   3641 f(549218941953, 1023);
   3642 f(549755812864, 1024);
   3643 f(550292683775, 1025);
   3644 f(1098974754817, 2047);
   3645 f(1099511625728, 2048);
   3646 f(1100048496639, 2049);
   3647 f(2198486380545, 4095);
   3648 f(2199023251456, 4096);
   3649 f(2199560122367, 4097);
   3650 f(4397509632001, 8191);
   3651 f(4398046502912, 8192);
   3652 f(4398583373823, 8193);
   3653 f(8795556134913, 16383);
   3654 f(8796093005824, 16384);
   3655 f(8796629876735, 16385);
   3656 f(17591649140737, 32767);
   3657 f(17592186011648, 32768);
   3658 f(17592722882559, 32769);
   3659 f(35183835152385, 65535);
   3660 f(35184372023296, 65536);
   3661 f(35184908894207, 65537);
   3662 f(70368207175681, 131071);
   3663 f(70368744046592, 131072);
   3664 f(70369280917503, 131073);
   3665 f(140736951222273, 262143);
   3666 f(140737488093184, 262144);
   3667 f(140738024964095, 262145);
   3668 f(281474439315457, 524287);
   3669 f(281474976186368, 524288);
   3670 f(281475513057279, 524289);
   3671 f(562949415501825, 1048575);
   3672 f(562949952372736, 1048576);
   3673 f(562950489243647, 1048577);
   3674 f(1125899367874561, 2097151);
   3675 f(1125899904745472, 2097152);
   3676 f(1125900441616383, 2097153);
   3677 x = 536870912;
   3678 f(0, 0);
   3679 f(536870912, 1);
   3680 f(1073741824, 2);
   3681 f(1610612736, 3);
   3682 f(2147483648, 4);
   3683 f(2684354560, 5);
   3684 f(3758096384, 7);
   3685 f(4294967296, 8);
   3686 f(4831838208, 9);
   3687 f(8053063680, 15);
   3688 f(8589934592, 16);
   3689 f(9126805504, 17);
   3690 f(16642998272, 31);
   3691 f(17179869184, 32);
   3692 f(17716740096, 33);
   3693 f(33822867456, 63);
   3694 f(34359738368, 64);
   3695 f(34896609280, 65);
   3696 f(68182605824, 127);
   3697 f(68719476736, 128);
   3698 f(69256347648, 129);
   3699 f(136902082560, 255);
   3700 f(137438953472, 256);
   3701 f(137975824384, 257);
   3702 f(274341036032, 511);
   3703 f(274877906944, 512);
   3704 f(275414777856, 513);
   3705 f(549218942976, 1023);
   3706 f(549755813888, 1024);
   3707 f(550292684800, 1025);
   3708 f(1098974756864, 2047);
   3709 f(1099511627776, 2048);
   3710 f(1100048498688, 2049);
   3711 f(2198486384640, 4095);
   3712 f(2199023255552, 4096);
   3713 f(2199560126464, 4097);
   3714 f(4397509640192, 8191);
   3715 f(4398046511104, 8192);
   3716 f(4398583382016, 8193);
   3717 f(8795556151296, 16383);
   3718 f(8796093022208, 16384);
   3719 f(8796629893120, 16385);
   3720 f(17591649173504, 32767);
   3721 f(17592186044416, 32768);
   3722 f(17592722915328, 32769);
   3723 f(35183835217920, 65535);
   3724 f(35184372088832, 65536);
   3725 f(35184908959744, 65537);
   3726 f(70368207306752, 131071);
   3727 f(70368744177664, 131072);
   3728 f(70369281048576, 131073);
   3729 f(140736951484416, 262143);
   3730 f(140737488355328, 262144);
   3731 f(140738025226240, 262145);
   3732 f(281474439839744, 524287);
   3733 f(281474976710656, 524288);
   3734 f(281475513581568, 524289);
   3735 f(562949416550400, 1048575);
   3736 f(562949953421312, 1048576);
   3737 f(562950490292224, 1048577);
   3738 f(1125899369971712, 2097151);
   3739 f(1125899906842624, 2097152);
   3740 f(1125900443713536, 2097153);
   3741 x = 536870913;
   3742 f(0, 0);
   3743 f(536870913, 1);
   3744 f(1073741826, 2);
   3745 f(1610612739, 3);
   3746 f(2147483652, 4);
   3747 f(2684354565, 5);
   3748 f(3758096391, 7);
   3749 f(4294967304, 8);
   3750 f(4831838217, 9);
   3751 f(8053063695, 15);
   3752 f(8589934608, 16);
   3753 f(9126805521, 17);
   3754 f(16642998303, 31);
   3755 f(17179869216, 32);
   3756 f(17716740129, 33);
   3757 f(33822867519, 63);
   3758 f(34359738432, 64);
   3759 f(34896609345, 65);
   3760 f(68182605951, 127);
   3761 f(68719476864, 128);
   3762 f(69256347777, 129);
   3763 f(136902082815, 255);
   3764 f(137438953728, 256);
   3765 f(137975824641, 257);
   3766 f(274341036543, 511);
   3767 f(274877907456, 512);
   3768 f(275414778369, 513);
   3769 f(549218943999, 1023);
   3770 f(549755814912, 1024);
   3771 f(550292685825, 1025);
   3772 f(1098974758911, 2047);
   3773 f(1099511629824, 2048);
   3774 f(1100048500737, 2049);
   3775 f(2198486388735, 4095);
   3776 f(2199023259648, 4096);
   3777 f(2199560130561, 4097);
   3778 f(4397509648383, 8191);
   3779 f(4398046519296, 8192);
   3780 f(4398583390209, 8193);
   3781 f(8795556167679, 16383);
   3782 f(8796093038592, 16384);
   3783 f(8796629909505, 16385);
   3784 f(17591649206271, 32767);
   3785 f(17592186077184, 32768);
   3786 f(17592722948097, 32769);
   3787 f(35183835283455, 65535);
   3788 f(35184372154368, 65536);
   3789 f(35184909025281, 65537);
   3790 f(70368207437823, 131071);
   3791 f(70368744308736, 131072);
   3792 f(70369281179649, 131073);
   3793 f(140736951746559, 262143);
   3794 f(140737488617472, 262144);
   3795 f(140738025488385, 262145);
   3796 f(281474440364031, 524287);
   3797 f(281474977234944, 524288);
   3798 f(281475514105857, 524289);
   3799 f(562949417598975, 1048575);
   3800 f(562949954469888, 1048576);
   3801 f(562950491340801, 1048577);
   3802 f(1125899372068863, 2097151);
   3803 f(1125899908939776, 2097152);
   3804 f(1125900445810689, 2097153);
   3805 x = 1073741823;
   3806 f(0, 0);
   3807 f(1073741823, 1);
   3808 f(2147483646, 2);
   3809 f(3221225469, 3);
   3810 f(4294967292, 4);
   3811 f(5368709115, 5);
   3812 f(7516192761, 7);
   3813 f(8589934584, 8);
   3814 f(9663676407, 9);
   3815 f(16106127345, 15);
   3816 f(17179869168, 16);
   3817 f(18253610991, 17);
   3818 f(33285996513, 31);
   3819 f(34359738336, 32);
   3820 f(35433480159, 33);
   3821 f(67645734849, 63);
   3822 f(68719476672, 64);
   3823 f(69793218495, 65);
   3824 f(136365211521, 127);
   3825 f(137438953344, 128);
   3826 f(138512695167, 129);
   3827 f(273804164865, 255);
   3828 f(274877906688, 256);
   3829 f(275951648511, 257);
   3830 f(548682071553, 511);
   3831 f(549755813376, 512);
   3832 f(550829555199, 513);
   3833 f(1098437884929, 1023);
   3834 f(1099511626752, 1024);
   3835 f(1100585368575, 1025);
   3836 f(2197949511681, 2047);
   3837 f(2199023253504, 2048);
   3838 f(2200096995327, 2049);
   3839 f(4396972765185, 4095);
   3840 f(4398046507008, 4096);
   3841 f(4399120248831, 4097);
   3842 f(8795019272193, 8191);
   3843 f(8796093014016, 8192);
   3844 f(8797166755839, 8193);
   3845 f(17591112286209, 16383);
   3846 f(17592186028032, 16384);
   3847 f(17593259769855, 16385);
   3848 f(35183298314241, 32767);
   3849 f(35184372056064, 32768);
   3850 f(35185445797887, 32769);
   3851 f(70367670370305, 65535);
   3852 f(70368744112128, 65536);
   3853 f(70369817853951, 65537);
   3854 f(140736414482433, 131071);
   3855 f(140737488224256, 131072);
   3856 f(140738561966079, 131073);
   3857 f(281473902706689, 262143);
   3858 f(281474976448512, 262144);
   3859 f(281476050190335, 262145);
   3860 f(562948879155201, 524287);
   3861 f(562949952897024, 524288);
   3862 f(562951026638847, 524289);
   3863 f(1125898832052225, 1048575);
   3864 f(1125899905794048, 1048576);
   3865 f(1125900979535871, 1048577);
   3866 x = 1073741824;
   3867 f(0, 0);
   3868 f(1073741824, 1);
   3869 f(2147483648, 2);
   3870 f(3221225472, 3);
   3871 f(4294967296, 4);
   3872 f(5368709120, 5);
   3873 f(7516192768, 7);
   3874 f(8589934592, 8);
   3875 f(9663676416, 9);
   3876 f(16106127360, 15);
   3877 f(17179869184, 16);
   3878 f(18253611008, 17);
   3879 f(33285996544, 31);
   3880 f(34359738368, 32);
   3881 f(35433480192, 33);
   3882 f(67645734912, 63);
   3883 f(68719476736, 64);
   3884 f(69793218560, 65);
   3885 f(136365211648, 127);
   3886 f(137438953472, 128);
   3887 f(138512695296, 129);
   3888 f(273804165120, 255);
   3889 f(274877906944, 256);
   3890 f(275951648768, 257);
   3891 f(548682072064, 511);
   3892 f(549755813888, 512);
   3893 f(550829555712, 513);
   3894 f(1098437885952, 1023);
   3895 f(1099511627776, 1024);
   3896 f(1100585369600, 1025);
   3897 f(2197949513728, 2047);
   3898 f(2199023255552, 2048);
   3899 f(2200096997376, 2049);
   3900 f(4396972769280, 4095);
   3901 f(4398046511104, 4096);
   3902 f(4399120252928, 4097);
   3903 f(8795019280384, 8191);
   3904 f(8796093022208, 8192);
   3905 f(8797166764032, 8193);
   3906 f(17591112302592, 16383);
   3907 f(17592186044416, 16384);
   3908 f(17593259786240, 16385);
   3909 f(35183298347008, 32767);
   3910 f(35184372088832, 32768);
   3911 f(35185445830656, 32769);
   3912 f(70367670435840, 65535);
   3913 f(70368744177664, 65536);
   3914 f(70369817919488, 65537);
   3915 f(140736414613504, 131071);
   3916 f(140737488355328, 131072);
   3917 f(140738562097152, 131073);
   3918 f(281473902968832, 262143);
   3919 f(281474976710656, 262144);
   3920 f(281476050452480, 262145);
   3921 f(562948879679488, 524287);
   3922 f(562949953421312, 524288);
   3923 f(562951027163136, 524289);
   3924 f(1125898833100800, 1048575);
   3925 f(1125899906842624, 1048576);
   3926 f(1125900980584448, 1048577);
   3927 x = 1073741825;
   3928 f(0, 0);
   3929 f(1073741825, 1);
   3930 f(2147483650, 2);
   3931 f(3221225475, 3);
   3932 f(4294967300, 4);
   3933 f(5368709125, 5);
   3934 f(7516192775, 7);
   3935 f(8589934600, 8);
   3936 f(9663676425, 9);
   3937 f(16106127375, 15);
   3938 f(17179869200, 16);
   3939 f(18253611025, 17);
   3940 f(33285996575, 31);
   3941 f(34359738400, 32);
   3942 f(35433480225, 33);
   3943 f(67645734975, 63);
   3944 f(68719476800, 64);
   3945 f(69793218625, 65);
   3946 f(136365211775, 127);
   3947 f(137438953600, 128);
   3948 f(138512695425, 129);
   3949 f(273804165375, 255);
   3950 f(274877907200, 256);
   3951 f(275951649025, 257);
   3952 f(548682072575, 511);
   3953 f(549755814400, 512);
   3954 f(550829556225, 513);
   3955 f(1098437886975, 1023);
   3956 f(1099511628800, 1024);
   3957 f(1100585370625, 1025);
   3958 f(2197949515775, 2047);
   3959 f(2199023257600, 2048);
   3960 f(2200096999425, 2049);
   3961 f(4396972773375, 4095);
   3962 f(4398046515200, 4096);
   3963 f(4399120257025, 4097);
   3964 f(8795019288575, 8191);
   3965 f(8796093030400, 8192);
   3966 f(8797166772225, 8193);
   3967 f(17591112318975, 16383);
   3968 f(17592186060800, 16384);
   3969 f(17593259802625, 16385);
   3970 f(35183298379775, 32767);
   3971 f(35184372121600, 32768);
   3972 f(35185445863425, 32769);
   3973 f(70367670501375, 65535);
   3974 f(70368744243200, 65536);
   3975 f(70369817985025, 65537);
   3976 f(140736414744575, 131071);
   3977 f(140737488486400, 131072);
   3978 f(140738562228225, 131073);
   3979 f(281473903230975, 262143);
   3980 f(281474976972800, 262144);
   3981 f(281476050714625, 262145);
   3982 f(562948880203775, 524287);
   3983 f(562949953945600, 524288);
   3984 f(562951027687425, 524289);
   3985 f(1125898834149375, 1048575);
   3986 f(1125899907891200, 1048576);
   3987 f(1125900981633025, 1048577);
   3988 x = 2147483647;
   3989 f(0, 0);
   3990 f(2147483647, 1);
   3991 f(4294967294, 2);
   3992 f(6442450941, 3);
   3993 f(8589934588, 4);
   3994 f(10737418235, 5);
   3995 f(15032385529, 7);
   3996 f(17179869176, 8);
   3997 f(19327352823, 9);
   3998 f(32212254705, 15);
   3999 f(34359738352, 16);
   4000 f(36507221999, 17);
   4001 f(66571993057, 31);
   4002 f(68719476704, 32);
   4003 f(70866960351, 33);
   4004 f(135291469761, 63);
   4005 f(137438953408, 64);
   4006 f(139586437055, 65);
   4007 f(272730423169, 127);
   4008 f(274877906816, 128);
   4009 f(277025390463, 129);
   4010 f(547608329985, 255);
   4011 f(549755813632, 256);
   4012 f(551903297279, 257);
   4013 f(1097364143617, 511);
   4014 f(1099511627264, 512);
   4015 f(1101659110911, 513);
   4016 f(2196875770881, 1023);
   4017 f(2199023254528, 1024);
   4018 f(2201170738175, 1025);
   4019 f(4395899025409, 2047);
   4020 f(4398046509056, 2048);
   4021 f(4400193992703, 2049);
   4022 f(8793945534465, 4095);
   4023 f(8796093018112, 4096);
   4024 f(8798240501759, 4097);
   4025 f(17590038552577, 8191);
   4026 f(17592186036224, 8192);
   4027 f(17594333519871, 8193);
   4028 f(35182224588801, 16383);
   4029 f(35184372072448, 16384);
   4030 f(35186519556095, 16385);
   4031 f(70366596661249, 32767);
   4032 f(70368744144896, 32768);
   4033 f(70370891628543, 32769);
   4034 f(140735340806145, 65535);
   4035 f(140737488289792, 65536);
   4036 f(140739635773439, 65537);
   4037 f(281472829095937, 131071);
   4038 f(281474976579584, 131072);
   4039 f(281477124063231, 131073);
   4040 f(562947805675521, 262143);
   4041 f(562949953159168, 262144);
   4042 f(562952100642815, 262145);
   4043 f(1125897758834689, 524287);
   4044 f(1125899906318336, 524288);
   4045 f(1125902053801983, 524289);
   4046 x = 2147483648;
   4047 f(0, 0);
   4048 f(2147483648, 1);
   4049 f(4294967296, 2);
   4050 f(6442450944, 3);
   4051 f(8589934592, 4);
   4052 f(10737418240, 5);
   4053 f(15032385536, 7);
   4054 f(17179869184, 8);
   4055 f(19327352832, 9);
   4056 f(32212254720, 15);
   4057 f(34359738368, 16);
   4058 f(36507222016, 17);
   4059 f(66571993088, 31);
   4060 f(68719476736, 32);
   4061 f(70866960384, 33);
   4062 f(135291469824, 63);
   4063 f(137438953472, 64);
   4064 f(139586437120, 65);
   4065 f(272730423296, 127);
   4066 f(274877906944, 128);
   4067 f(277025390592, 129);
   4068 f(547608330240, 255);
   4069 f(549755813888, 256);
   4070 f(551903297536, 257);
   4071 f(1097364144128, 511);
   4072 f(1099511627776, 512);
   4073 f(1101659111424, 513);
   4074 f(2196875771904, 1023);
   4075 f(2199023255552, 1024);
   4076 f(2201170739200, 1025);
   4077 f(4395899027456, 2047);
   4078 f(4398046511104, 2048);
   4079 f(4400193994752, 2049);
   4080 f(8793945538560, 4095);
   4081 f(8796093022208, 4096);
   4082 f(8798240505856, 4097);
   4083 f(17590038560768, 8191);
   4084 f(17592186044416, 8192);
   4085 f(17594333528064, 8193);
   4086 f(35182224605184, 16383);
   4087 f(35184372088832, 16384);
   4088 f(35186519572480, 16385);
   4089 f(70366596694016, 32767);
   4090 f(70368744177664, 32768);
   4091 f(70370891661312, 32769);
   4092 f(140735340871680, 65535);
   4093 f(140737488355328, 65536);
   4094 f(140739635838976, 65537);
   4095 f(281472829227008, 131071);
   4096 f(281474976710656, 131072);
   4097 f(281477124194304, 131073);
   4098 f(562947805937664, 262143);
   4099 f(562949953421312, 262144);
   4100 f(562952100904960, 262145);
   4101 f(1125897759358976, 524287);
   4102 f(1125899906842624, 524288);
   4103 f(1125902054326272, 524289);
   4104 x = 2147483649;
   4105 f(0, 0);
   4106 f(2147483649, 1);
   4107 f(4294967298, 2);
   4108 f(6442450947, 3);
   4109 f(8589934596, 4);
   4110 f(10737418245, 5);
   4111 f(15032385543, 7);
   4112 f(17179869192, 8);
   4113 f(19327352841, 9);
   4114 f(32212254735, 15);
   4115 f(34359738384, 16);
   4116 f(36507222033, 17);
   4117 f(66571993119, 31);
   4118 f(68719476768, 32);
   4119 f(70866960417, 33);
   4120 f(135291469887, 63);
   4121 f(137438953536, 64);
   4122 f(139586437185, 65);
   4123 f(272730423423, 127);
   4124 f(274877907072, 128);
   4125 f(277025390721, 129);
   4126 f(547608330495, 255);
   4127 f(549755814144, 256);
   4128 f(551903297793, 257);
   4129 f(1097364144639, 511);
   4130 f(1099511628288, 512);
   4131 f(1101659111937, 513);
   4132 f(2196875772927, 1023);
   4133 f(2199023256576, 1024);
   4134 f(2201170740225, 1025);
   4135 f(4395899029503, 2047);
   4136 f(4398046513152, 2048);
   4137 f(4400193996801, 2049);
   4138 f(8793945542655, 4095);
   4139 f(8796093026304, 4096);
   4140 f(8798240509953, 4097);
   4141 f(17590038568959, 8191);
   4142 f(17592186052608, 8192);
   4143 f(17594333536257, 8193);
   4144 f(35182224621567, 16383);
   4145 f(35184372105216, 16384);
   4146 f(35186519588865, 16385);
   4147 f(70366596726783, 32767);
   4148 f(70368744210432, 32768);
   4149 f(70370891694081, 32769);
   4150 f(140735340937215, 65535);
   4151 f(140737488420864, 65536);
   4152 f(140739635904513, 65537);
   4153 f(281472829358079, 131071);
   4154 f(281474976841728, 131072);
   4155 f(281477124325377, 131073);
   4156 f(562947806199807, 262143);
   4157 f(562949953683456, 262144);
   4158 f(562952101167105, 262145);
   4159 f(1125897759883263, 524287);
   4160 f(1125899907366912, 524288);
   4161 f(1125902054850561, 524289);
   4162 x = 4294967295;
   4163 f(0, 0);
   4164 f(4294967295, 1);
   4165 f(8589934590, 2);
   4166 f(12884901885, 3);
   4167 f(17179869180, 4);
   4168 f(21474836475, 5);
   4169 f(30064771065, 7);
   4170 f(34359738360, 8);
   4171 f(38654705655, 9);
   4172 f(64424509425, 15);
   4173 f(68719476720, 16);
   4174 f(73014444015, 17);
   4175 f(133143986145, 31);
   4176 f(137438953440, 32);
   4177 f(141733920735, 33);
   4178 f(270582939585, 63);
   4179 f(274877906880, 64);
   4180 f(279172874175, 65);
   4181 f(545460846465, 127);
   4182 f(549755813760, 128);
   4183 f(554050781055, 129);
   4184 f(1095216660225, 255);
   4185 f(1099511627520, 256);
   4186 f(1103806594815, 257);
   4187 f(2194728287745, 511);
   4188 f(2199023255040, 512);
   4189 f(2203318222335, 513);
   4190 f(4393751542785, 1023);
   4191 f(4398046510080, 1024);
   4192 f(4402341477375, 1025);
   4193 f(8791798052865, 2047);
   4194 f(8796093020160, 2048);
   4195 f(8800387987455, 2049);
   4196 f(17587891073025, 4095);
   4197 f(17592186040320, 4096);
   4198 f(17596481007615, 4097);
   4199 f(35180077113345, 8191);
   4200 f(35184372080640, 8192);
   4201 f(35188667047935, 8193);
   4202 f(70364449193985, 16383);
   4203 f(70368744161280, 16384);
   4204 f(70373039128575, 16385);
   4205 f(140733193355265, 32767);
   4206 f(140737488322560, 32768);
   4207 f(140741783289855, 32769);
   4208 f(281470681677825, 65535);
   4209 f(281474976645120, 65536);
   4210 f(281479271612415, 65537);
   4211 f(562945658322945, 131071);
   4212 f(562949953290240, 131072);
   4213 f(562954248257535, 131073);
   4214 f(1125895611613185, 262143);
   4215 f(1125899906580480, 262144);
   4216 f(1125904201547775, 262145);
   4217 x = 4294967296;
   4218 f(0, 0);
   4219 f(4294967296, 1);
   4220 f(8589934592, 2);
   4221 f(12884901888, 3);
   4222 f(17179869184, 4);
   4223 f(21474836480, 5);
   4224 f(30064771072, 7);
   4225 f(34359738368, 8);
   4226 f(38654705664, 9);
   4227 f(64424509440, 15);
   4228 f(68719476736, 16);
   4229 f(73014444032, 17);
   4230 f(133143986176, 31);
   4231 f(137438953472, 32);
   4232 f(141733920768, 33);
   4233 f(270582939648, 63);
   4234 f(274877906944, 64);
   4235 f(279172874240, 65);
   4236 f(545460846592, 127);
   4237 f(549755813888, 128);
   4238 f(554050781184, 129);
   4239 f(1095216660480, 255);
   4240 f(1099511627776, 256);
   4241 f(1103806595072, 257);
   4242 f(2194728288256, 511);
   4243 f(2199023255552, 512);
   4244 f(2203318222848, 513);
   4245 f(4393751543808, 1023);
   4246 f(4398046511104, 1024);
   4247 f(4402341478400, 1025);
   4248 f(8791798054912, 2047);
   4249 f(8796093022208, 2048);
   4250 f(8800387989504, 2049);
   4251 f(17587891077120, 4095);
   4252 f(17592186044416, 4096);
   4253 f(17596481011712, 4097);
   4254 f(35180077121536, 8191);
   4255 f(35184372088832, 8192);
   4256 f(35188667056128, 8193);
   4257 f(70364449210368, 16383);
   4258 f(70368744177664, 16384);
   4259 f(70373039144960, 16385);
   4260 f(140733193388032, 32767);
   4261 f(140737488355328, 32768);
   4262 f(140741783322624, 32769);
   4263 f(281470681743360, 65535);
   4264 f(281474976710656, 65536);
   4265 f(281479271677952, 65537);
   4266 f(562945658454016, 131071);
   4267 f(562949953421312, 131072);
   4268 f(562954248388608, 131073);
   4269 f(1125895611875328, 262143);
   4270 f(1125899906842624, 262144);
   4271 f(1125904201809920, 262145);
   4272 x = 4294967297;
   4273 f(0, 0);
   4274 f(4294967297, 1);
   4275 f(8589934594, 2);
   4276 f(12884901891, 3);
   4277 f(17179869188, 4);
   4278 f(21474836485, 5);
   4279 f(30064771079, 7);
   4280 f(34359738376, 8);
   4281 f(38654705673, 9);
   4282 f(64424509455, 15);
   4283 f(68719476752, 16);
   4284 f(73014444049, 17);
   4285 f(133143986207, 31);
   4286 f(137438953504, 32);
   4287 f(141733920801, 33);
   4288 f(270582939711, 63);
   4289 f(274877907008, 64);
   4290 f(279172874305, 65);
   4291 f(545460846719, 127);
   4292 f(549755814016, 128);
   4293 f(554050781313, 129);
   4294 f(1095216660735, 255);
   4295 f(1099511628032, 256);
   4296 f(1103806595329, 257);
   4297 f(2194728288767, 511);
   4298 f(2199023256064, 512);
   4299 f(2203318223361, 513);
   4300 f(4393751544831, 1023);
   4301 f(4398046512128, 1024);
   4302 f(4402341479425, 1025);
   4303 f(8791798056959, 2047);
   4304 f(8796093024256, 2048);
   4305 f(8800387991553, 2049);
   4306 f(17587891081215, 4095);
   4307 f(17592186048512, 4096);
   4308 f(17596481015809, 4097);
   4309 f(35180077129727, 8191);
   4310 f(35184372097024, 8192);
   4311 f(35188667064321, 8193);
   4312 f(70364449226751, 16383);
   4313 f(70368744194048, 16384);
   4314 f(70373039161345, 16385);
   4315 f(140733193420799, 32767);
   4316 f(140737488388096, 32768);
   4317 f(140741783355393, 32769);
   4318 f(281470681808895, 65535);
   4319 f(281474976776192, 65536);
   4320 f(281479271743489, 65537);
   4321 f(562945658585087, 131071);
   4322 f(562949953552384, 131072);
   4323 f(562954248519681, 131073);
   4324 f(1125895612137471, 262143);
   4325 f(1125899907104768, 262144);
   4326 f(1125904202072065, 262145);
   4327 x = 8589934591;
   4328 f(0, 0);
   4329 f(8589934591, 1);
   4330 f(17179869182, 2);
   4331 f(25769803773, 3);
   4332 f(34359738364, 4);
   4333 f(42949672955, 5);
   4334 f(60129542137, 7);
   4335 f(68719476728, 8);
   4336 f(77309411319, 9);
   4337 f(128849018865, 15);
   4338 f(137438953456, 16);
   4339 f(146028888047, 17);
   4340 f(266287972321, 31);
   4341 f(274877906912, 32);
   4342 f(283467841503, 33);
   4343 f(541165879233, 63);
   4344 f(549755813824, 64);
   4345 f(558345748415, 65);
   4346 f(1090921693057, 127);
   4347 f(1099511627648, 128);
   4348 f(1108101562239, 129);
   4349 f(2190433320705, 255);
   4350 f(2199023255296, 256);
   4351 f(2207613189887, 257);
   4352 f(4389456576001, 511);
   4353 f(4398046510592, 512);
   4354 f(4406636445183, 513);
   4355 f(8787503086593, 1023);
   4356 f(8796093021184, 1024);
   4357 f(8804682955775, 1025);
   4358 f(17583596107777, 2047);
   4359 f(17592186042368, 2048);
   4360 f(17600775976959, 2049);
   4361 f(35175782150145, 4095);
   4362 f(35184372084736, 4096);
   4363 f(35192962019327, 4097);
   4364 f(70360154234881, 8191);
   4365 f(70368744169472, 8192);
   4366 f(70377334104063, 8193);
   4367 f(140728898404353, 16383);
   4368 f(140737488338944, 16384);
   4369 f(140746078273535, 16385);
   4370 f(281466386743297, 32767);
   4371 f(281474976677888, 32768);
   4372 f(281483566612479, 32769);
   4373 f(562941363421185, 65535);
   4374 f(562949953355776, 65536);
   4375 f(562958543290367, 65537);
   4376 f(1125891316776961, 131071);
   4377 f(1125899906711552, 131072);
   4378 f(1125908496646143, 131073);
   4379 x = 8589934592;
   4380 f(0, 0);
   4381 f(8589934592, 1);
   4382 f(17179869184, 2);
   4383 f(25769803776, 3);
   4384 f(34359738368, 4);
   4385 f(42949672960, 5);
   4386 f(60129542144, 7);
   4387 f(68719476736, 8);
   4388 f(77309411328, 9);
   4389 f(128849018880, 15);
   4390 f(137438953472, 16);
   4391 f(146028888064, 17);
   4392 f(266287972352, 31);
   4393 f(274877906944, 32);
   4394 f(283467841536, 33);
   4395 f(541165879296, 63);
   4396 f(549755813888, 64);
   4397 f(558345748480, 65);
   4398 f(1090921693184, 127);
   4399 f(1099511627776, 128);
   4400 f(1108101562368, 129);
   4401 f(2190433320960, 255);
   4402 f(2199023255552, 256);
   4403 f(2207613190144, 257);
   4404 f(4389456576512, 511);
   4405 f(4398046511104, 512);
   4406 f(4406636445696, 513);
   4407 f(8787503087616, 1023);
   4408 f(8796093022208, 1024);
   4409 f(8804682956800, 1025);
   4410 f(17583596109824, 2047);
   4411 f(17592186044416, 2048);
   4412 f(17600775979008, 2049);
   4413 f(35175782154240, 4095);
   4414 f(35184372088832, 4096);
   4415 f(35192962023424, 4097);
   4416 f(70360154243072, 8191);
   4417 f(70368744177664, 8192);
   4418 f(70377334112256, 8193);
   4419 f(140728898420736, 16383);
   4420 f(140737488355328, 16384);
   4421 f(140746078289920, 16385);
   4422 f(281466386776064, 32767);
   4423 f(281474976710656, 32768);
   4424 f(281483566645248, 32769);
   4425 f(562941363486720, 65535);
   4426 f(562949953421312, 65536);
   4427 f(562958543355904, 65537);
   4428 f(1125891316908032, 131071);
   4429 f(1125899906842624, 131072);
   4430 f(1125908496777216, 131073);
   4431 x = 8589934593;
   4432 f(0, 0);
   4433 f(8589934593, 1);
   4434 f(17179869186, 2);
   4435 f(25769803779, 3);
   4436 f(34359738372, 4);
   4437 f(42949672965, 5);
   4438 f(60129542151, 7);
   4439 f(68719476744, 8);
   4440 f(77309411337, 9);
   4441 f(128849018895, 15);
   4442 f(137438953488, 16);
   4443 f(146028888081, 17);
   4444 f(266287972383, 31);
   4445 f(274877906976, 32);
   4446 f(283467841569, 33);
   4447 f(541165879359, 63);
   4448 f(549755813952, 64);
   4449 f(558345748545, 65);
   4450 f(1090921693311, 127);
   4451 f(1099511627904, 128);
   4452 f(1108101562497, 129);
   4453 f(2190433321215, 255);
   4454 f(2199023255808, 256);
   4455 f(2207613190401, 257);
   4456 f(4389456577023, 511);
   4457 f(4398046511616, 512);
   4458 f(4406636446209, 513);
   4459 f(8787503088639, 1023);
   4460 f(8796093023232, 1024);
   4461 f(8804682957825, 1025);
   4462 f(17583596111871, 2047);
   4463 f(17592186046464, 2048);
   4464 f(17600775981057, 2049);
   4465 f(35175782158335, 4095);
   4466 f(35184372092928, 4096);
   4467 f(35192962027521, 4097);
   4468 f(70360154251263, 8191);
   4469 f(70368744185856, 8192);
   4470 f(70377334120449, 8193);
   4471 f(140728898437119, 16383);
   4472 f(140737488371712, 16384);
   4473 f(140746078306305, 16385);
   4474 f(281466386808831, 32767);
   4475 f(281474976743424, 32768);
   4476 f(281483566678017, 32769);
   4477 f(562941363552255, 65535);
   4478 f(562949953486848, 65536);
   4479 f(562958543421441, 65537);
   4480 f(1125891317039103, 131071);
   4481 f(1125899906973696, 131072);
   4482 f(1125908496908289, 131073);
   4483 x = 17179869183;
   4484 f(0, 0);
   4485 f(17179869183, 1);
   4486 f(34359738366, 2);
   4487 f(51539607549, 3);
   4488 f(68719476732, 4);
   4489 f(85899345915, 5);
   4490 f(120259084281, 7);
   4491 f(137438953464, 8);
   4492 f(154618822647, 9);
   4493 f(257698037745, 15);
   4494 f(274877906928, 16);
   4495 f(292057776111, 17);
   4496 f(532575944673, 31);
   4497 f(549755813856, 32);
   4498 f(566935683039, 33);
   4499 f(1082331758529, 63);
   4500 f(1099511627712, 64);
   4501 f(1116691496895, 65);
   4502 f(2181843386241, 127);
   4503 f(2199023255424, 128);
   4504 f(2216203124607, 129);
   4505 f(4380866641665, 255);
   4506 f(4398046510848, 256);
   4507 f(4415226380031, 257);
   4508 f(8778913152513, 511);
   4509 f(8796093021696, 512);
   4510 f(8813272890879, 513);
   4511 f(17575006174209, 1023);
   4512 f(17592186043392, 1024);
   4513 f(17609365912575, 1025);
   4514 f(35167192217601, 2047);
   4515 f(35184372086784, 2048);
   4516 f(35201551955967, 2049);
   4517 f(70351564304385, 4095);
   4518 f(70368744173568, 4096);
   4519 f(70385924042751, 4097);
   4520 f(140720308477953, 8191);
   4521 f(140737488347136, 8192);
   4522 f(140754668216319, 8193);
   4523 f(281457796825089, 16383);
   4524 f(281474976694272, 16384);
   4525 f(281492156563455, 16385);
   4526 f(562932773519361, 32767);
   4527 f(562949953388544, 32768);
   4528 f(562967133257727, 32769);
   4529 f(1125882726907905, 65535);
   4530 f(1125899906777088, 65536);
   4531 f(1125917086646271, 65537);
   4532 x = 17179869184;
   4533 f(0, 0);
   4534 f(17179869184, 1);
   4535 f(34359738368, 2);
   4536 f(51539607552, 3);
   4537 f(68719476736, 4);
   4538 f(85899345920, 5);
   4539 f(120259084288, 7);
   4540 f(137438953472, 8);
   4541 f(154618822656, 9);
   4542 f(257698037760, 15);
   4543 f(274877906944, 16);
   4544 f(292057776128, 17);
   4545 f(532575944704, 31);
   4546 f(549755813888, 32);
   4547 f(566935683072, 33);
   4548 f(1082331758592, 63);
   4549 f(1099511627776, 64);
   4550 f(1116691496960, 65);
   4551 f(2181843386368, 127);
   4552 f(2199023255552, 128);
   4553 f(2216203124736, 129);
   4554 f(4380866641920, 255);
   4555 f(4398046511104, 256);
   4556 f(4415226380288, 257);
   4557 f(8778913153024, 511);
   4558 f(8796093022208, 512);
   4559 f(8813272891392, 513);
   4560 f(17575006175232, 1023);
   4561 f(17592186044416, 1024);
   4562 f(17609365913600, 1025);
   4563 f(35167192219648, 2047);
   4564 f(35184372088832, 2048);
   4565 f(35201551958016, 2049);
   4566 f(70351564308480, 4095);
   4567 f(70368744177664, 4096);
   4568 f(70385924046848, 4097);
   4569 f(140720308486144, 8191);
   4570 f(140737488355328, 8192);
   4571 f(140754668224512, 8193);
   4572 f(281457796841472, 16383);
   4573 f(281474976710656, 16384);
   4574 f(281492156579840, 16385);
   4575 f(562932773552128, 32767);
   4576 f(562949953421312, 32768);
   4577 f(562967133290496, 32769);
   4578 f(1125882726973440, 65535);
   4579 f(1125899906842624, 65536);
   4580 f(1125917086711808, 65537);
   4581 x = 17179869185;
   4582 f(0, 0);
   4583 f(17179869185, 1);
   4584 f(34359738370, 2);
   4585 f(51539607555, 3);
   4586 f(68719476740, 4);
   4587 f(85899345925, 5);
   4588 f(120259084295, 7);
   4589 f(137438953480, 8);
   4590 f(154618822665, 9);
   4591 f(257698037775, 15);
   4592 f(274877906960, 16);
   4593 f(292057776145, 17);
   4594 f(532575944735, 31);
   4595 f(549755813920, 32);
   4596 f(566935683105, 33);
   4597 f(1082331758655, 63);
   4598 f(1099511627840, 64);
   4599 f(1116691497025, 65);
   4600 f(2181843386495, 127);
   4601 f(2199023255680, 128);
   4602 f(2216203124865, 129);
   4603 f(4380866642175, 255);
   4604 f(4398046511360, 256);
   4605 f(4415226380545, 257);
   4606 f(8778913153535, 511);
   4607 f(8796093022720, 512);
   4608 f(8813272891905, 513);
   4609 f(17575006176255, 1023);
   4610 f(17592186045440, 1024);
   4611 f(17609365914625, 1025);
   4612 f(35167192221695, 2047);
   4613 f(35184372090880, 2048);
   4614 f(35201551960065, 2049);
   4615 f(70351564312575, 4095);
   4616 f(70368744181760, 4096);
   4617 f(70385924050945, 4097);
   4618 f(140720308494335, 8191);
   4619 f(140737488363520, 8192);
   4620 f(140754668232705, 8193);
   4621 f(281457796857855, 16383);
   4622 f(281474976727040, 16384);
   4623 f(281492156596225, 16385);
   4624 f(562932773584895, 32767);
   4625 f(562949953454080, 32768);
   4626 f(562967133323265, 32769);
   4627 f(1125882727038975, 65535);
   4628 f(1125899906908160, 65536);
   4629 f(1125917086777345, 65537);
   4630