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