# 2005 Mar 16 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for miscellanous features that were # left out of other test files. # # $Id: misc5.test,v 1.1.1.1 2012/02/21 17:04:16 misho Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Build records using the MakeRecord opcode such that the size of the # header is at the transition point in the size of a varint. # # This test causes an assertion failure or a buffer overrun in version # 3.1.5 and earlier. # for {set i 120} {$i<140} {incr i} { do_test misc5-1.$i { catchsql {DROP TABLE t1} set sql1 {CREATE TABLE t1} set sql2 {INSERT INTO t1 VALUES} set sep ( for {set j 0} {$j<$i} {incr j} { append sql1 ${sep}a$j append sql2 ${sep}$j set sep , } append sql1 {);} append sql2 {);} execsql $sql1$sql2 } {} } # Make sure large integers are stored correctly. # ifcapable conflict { do_test misc5-2.1 { execsql { create table t2(x unique); insert into t2 values(1); insert or ignore into t2 select x*2 from t2; insert or ignore into t2 select x*4 from t2; insert or ignore into t2 select x*16 from t2; insert or ignore into t2 select x*256 from t2; insert or ignore into t2 select x*65536 from t2; insert or ignore into t2 select x*2147483648 from t2; insert or ignore into t2 select x-1 from t2; insert or ignore into t2 select x+1 from t2; insert or ignore into t2 select -x from t2; select count(*) from t2; } } 371 } else { do_test misc5-2.1 { execsql { BEGIN; create table t2(x unique); create table t2_temp(x); insert into t2_temp values(1); insert into t2_temp select x*2 from t2_temp; insert into t2_temp select x*4 from t2_temp; insert into t2_temp select x*16 from t2_temp; insert into t2_temp select x*256 from t2_temp; insert into t2_temp select x*65536 from t2_temp; insert into t2_temp select x*2147483648 from t2_temp; insert into t2_temp select x-1 from t2_temp; insert into t2_temp select x+1 from t2_temp; insert into t2_temp select -x from t2_temp; INSERT INTO t2 SELECT DISTINCT(x) FROM t2_temp; DROP TABLE t2_temp; COMMIT; select count(*) from t2; } } 371 } do_test misc5-2.2 { execsql { select x from t2 order by x; } } \ "-4611686018427387905\ -4611686018427387904\ -4611686018427387903\ -2305843009213693953\ -2305843009213693952\ -2305843009213693951\ -1152921504606846977\ -1152921504606846976\ -1152921504606846975\ -576460752303423489\ -576460752303423488\ -576460752303423487\ -288230376151711745\ -288230376151711744\ -288230376151711743\ -144115188075855873\ -144115188075855872\ -144115188075855871\ -72057594037927937\ -72057594037927936\ -72057594037927935\ -36028797018963969\ -36028797018963968\ -36028797018963967\ -18014398509481985\ -18014398509481984\ -18014398509481983\ -9007199254740993\ -9007199254740992\ -9007199254740991\ -4503599627370497\ -4503599627370496\ -4503599627370495\ -2251799813685249\ -2251799813685248\ -2251799813685247\ -1125899906842625\ -1125899906842624\ -1125899906842623\ -562949953421313\ -562949953421312\ -562949953421311\ -281474976710657\ -281474976710656\ -281474976710655\ -140737488355329\ -140737488355328\ -140737488355327\ -70368744177665\ -70368744177664\ -70368744177663\ -35184372088833\ -35184372088832\ -35184372088831\ -17592186044417\ -17592186044416\ -17592186044415\ -8796093022209\ -8796093022208\ -8796093022207\ -4398046511105\ -4398046511104\ -4398046511103\ -2199023255553\ -2199023255552\ -2199023255551\ -1099511627777\ -1099511627776\ -1099511627775\ -549755813889\ -549755813888\ -549755813887\ -274877906945\ -274877906944\ -274877906943\ -137438953473\ -137438953472\ -137438953471\ -68719476737\ -68719476736\ -68719476735\ -34359738369\ -34359738368\ -34359738367\ -17179869185\ -17179869184\ -17179869183\ -8589934593\ -8589934592\ -8589934591\ -4294967297\ -4294967296\ -4294967295\ -2147483649\ -2147483648\ -2147483647\ -1073741825\ -1073741824\ -1073741823\ -536870913\ -536870912\ -536870911\ -268435457\ -268435456\ -268435455\ -134217729\ -134217728\ -134217727\ -67108865\ -67108864\ -67108863\ -33554433\ -33554432\ -33554431\ -16777217\ -16777216\ -16777215\ -8388609\ -8388608\ -8388607\ -4194305\ -4194304\ -4194303\ -2097153\ -2097152\ -2097151\ -1048577\ -1048576\ -1048575\ -524289\ -524288\ -524287\ -262145\ -262144\ -262143\ -131073\ -131072\ -131071\ -65537\ -65536\ -65535\ -32769\ -32768\ -32767\ -16385\ -16384\ -16383\ -8193\ -8192\ -8191\ -4097\ -4096\ -4095\ -2049\ -2048\ -2047\ -1025\ -1024\ -1023\ -513\ -512\ -511\ -257\ -256\ -255\ -129\ -128\ -127\ -65\ -64\ -63\ -33\ -32\ -31\ -17\ -16\ -15\ -9\ -8\ -7\ -5\ -4\ -3\ -2\ -1\ 0\ 1\ 2\ 3\ 4\ 5\ 7\ 8\ 9\ 15\ 16\ 17\ 31\ 32\ 33\ 63\ 64\ 65\ 127\ 128\ 129\ 255\ 256\ 257\ 511\ 512\ 513\ 1023\ 1024\ 1025\ 2047\ 2048\ 2049\ 4095\ 4096\ 4097\ 8191\ 8192\ 8193\ 16383\ 16384\ 16385\ 32767\ 32768\ 32769\ 65535\ 65536\ 65537\ 131071\ 131072\ 131073\ 262143\ 262144\ 262145\ 524287\ 524288\ 524289\ 1048575\ 1048576\ 1048577\ 2097151\ 2097152\ 2097153\ 4194303\ 4194304\ 4194305\ 8388607\ 8388608\ 8388609\ 16777215\ 16777216\ 16777217\ 33554431\ 33554432\ 33554433\ 67108863\ 67108864\ 67108865\ 134217727\ 134217728\ 134217729\ 268435455\ 268435456\ 268435457\ 536870911\ 536870912\ 536870913\ 1073741823\ 1073741824\ 1073741825\ 2147483647\ 2147483648\ 2147483649\ 4294967295\ 4294967296\ 4294967297\ 8589934591\ 8589934592\ 8589934593\ 17179869183\ 17179869184\ 17179869185\ 34359738367\ 34359738368\ 34359738369\ 68719476735\ 68719476736\ 68719476737\ 137438953471\ 137438953472\ 137438953473\ 274877906943\ 274877906944\ 274877906945\ 549755813887\ 549755813888\ 549755813889\ 1099511627775\ 1099511627776\ 1099511627777\ 2199023255551\ 2199023255552\ 2199023255553\ 4398046511103\ 4398046511104\ 4398046511105\ 8796093022207\ 8796093022208\ 8796093022209\ 17592186044415\ 17592186044416\ 17592186044417\ 35184372088831\ 35184372088832\ 35184372088833\ 70368744177663\ 70368744177664\ 70368744177665\ 140737488355327\ 140737488355328\ 140737488355329\ 281474976710655\ 281474976710656\ 281474976710657\ 562949953421311\ 562949953421312\ 562949953421313\ 1125899906842623\ 1125899906842624\ 1125899906842625\ 2251799813685247\ 2251799813685248\ 2251799813685249\ 4503599627370495\ 4503599627370496\ 4503599627370497\ 9007199254740991\ 9007199254740992\ 9007199254740993\ 18014398509481983\ 18014398509481984\ 18014398509481985\ 36028797018963967\ 36028797018963968\ 36028797018963969\ 72057594037927935\ 72057594037927936\ 72057594037927937\ 144115188075855871\ 144115188075855872\ 144115188075855873\ 288230376151711743\ 288230376151711744\ 288230376151711745\ 576460752303423487\ 576460752303423488\ 576460752303423489\ 1152921504606846975\ 1152921504606846976\ 1152921504606846977\ 2305843009213693951\ 2305843009213693952\ 2305843009213693953\ 4611686018427387903\ 4611686018427387904\ 4611686018427387905" # Ticket #1210. Do proper reference counting of Table structures # so that deeply nested SELECT statements can be flattened correctly. # ifcapable subquery { do_test misc5-3.1 { execsql { CREATE TABLE songs(songid, artist, timesplayed); INSERT INTO songs VALUES(1,'one',1); INSERT INTO songs VALUES(2,'one',2); INSERT INTO songs VALUES(3,'two',3); INSERT INTO songs VALUES(4,'three',5); INSERT INTO songs VALUES(5,'one',7); INSERT INTO songs VALUES(6,'two',11); SELECT DISTINCT artist FROM ( SELECT DISTINCT artist FROM songs WHERE songid IN ( SELECT songid FROM songs WHERE LOWER(artist) = ( -- This sub-query is indeterminate. Because there is no ORDER BY, -- it may return 'one', 'two' or 'three'. Because of this, the -- outermost parent query may correctly return any of 'one', 'two' -- or 'three' as well. SELECT DISTINCT LOWER(artist) FROM ( -- This sub-query returns the table: -- -- two 14 -- one 10 -- three 5 -- SELECT DISTINCT artist,sum(timesplayed) AS total FROM songs GROUP BY LOWER(artist) ORDER BY total DESC LIMIT 10 ) WHERE artist <> '' ) ) ) ORDER BY LOWER(artist) ASC; } } {two} } # Ticket #1370. Do not overwrite small files (less than 1024 bytes) # when trying to open them as a database. # if {[permutation] == ""} { do_test misc5-4.1 { db close forcedelete test.db set fd [open test.db w] puts $fd "This is not really a database" close $fd sqlite3 db test.db catchsql { CREATE TABLE t1(a,b,c); } } {1 {file is encrypted or is not a database}} } # Ticket #1371. Allow floating point numbers of the form .N or N. # do_test misc5-5.1 { execsql {SELECT .1 } } 0.1 do_test misc5-5.2 { execsql {SELECT 2. } } 2.0 do_test misc5-5.3 { execsql {SELECT 3.e0 } } 3.0 do_test misc5-5.4 { execsql {SELECT .4e+1} } 4.0 # Ticket #1582. Ensure that an unknown table in a LIMIT clause applied to # a UNION ALL query causes an error, not a crash. # db close forcedelete test.db sqlite3 db test.db ifcapable subquery&&compound { do_test misc5-6.1 { catchsql { SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_master LIMIT (SELECT count(*) FROM blah); } } {1 {no such table: blah}} do_test misc5-6.2 { execsql { CREATE TABLE logs(msg TEXT, timestamp INTEGER, dbtime TEXT); } catchsql { SELECT * FROM logs WHERE logs.oid >= (SELECT head FROM logs_base) UNION ALL SELECT * FROM logs LIMIT (SELECT lmt FROM logs_base) ; } } {1 {no such table: logs_base}} } # Overflow the lemon parser stack by providing an overly complex # expression. Make sure that the overflow is detected and reported. # do_test misc5-7.1 { execsql {CREATE TABLE t1(x)} set sql "INSERT INTO t1 VALUES(" set tail "" for {set i 0} {$i<200} {incr i} { append sql "(1+" append tail ")" } append sql 2$tail catchsql $sql } {1 {parser stack overflow}} # Ticket #1911 # ifcapable compound { do_test misc5-9.1 { execsql { SELECT name, type FROM sqlite_master WHERE name IS NULL UNION SELECT type, name FROM sqlite_master WHERE type IS NULL ORDER BY 1, 2, 1, 2, 1, 2 } } {} do_test misc5-9.2 { execsql { SELECT name, type FROM sqlite_master WHERE name IS NULL UNION SELECT type, name FROM sqlite_master WHERE type IS NULL ORDER BY 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 } } {} } # Ticket #1912. Make the tokenizer require a space after a numeric # literal. # do_test misc5-10.1 { catchsql { SELECT 123abc } } {1 {unrecognized token: "123abc"}} do_test misc5-10.2 { catchsql { SELECT 1*123.4e5ghi; } } {1 {unrecognized token: "123.4e5ghi"}} # Additional integer encoding tests. # do_test misc5-11.1 { db eval { CREATE TABLE t3(x); INSERT INTO t3 VALUES(-18); INSERT INTO t3 VALUES(-17); INSERT INTO t3 VALUES(-16); INSERT INTO t3 VALUES(-15); INSERT INTO t3 VALUES(-14); INSERT INTO t3 VALUES(-13); INSERT INTO t3 VALUES(-12); INSERT INTO t3 VALUES(-11); INSERT INTO t3 VALUES(-10); INSERT INTO t3 VALUES(-9); INSERT INTO t3 VALUES(-8); INSERT INTO t3 VALUES(-7); INSERT INTO t3 VALUES(-6); INSERT INTO t3 VALUES(-5); INSERT INTO t3 VALUES(-4); INSERT INTO t3 VALUES(-3); INSERT INTO t3 VALUES(-2); INSERT INTO t3 VALUES(-1); INSERT INTO t3 VALUES(0); INSERT INTO t3 VALUES(1); INSERT INTO t3 VALUES(2); INSERT INTO t3 VALUES(3); INSERT INTO t3 VALUES(4); INSERT INTO t3 VALUES(5); INSERT INTO t3 VALUES(6); INSERT INTO t3 VALUES(7); INSERT INTO t3 VALUES(8); INSERT INTO t3 VALUES(9); INSERT INTO t3 VALUES(10); INSERT INTO t3 VALUES(11); INSERT INTO t3 VALUES(12); INSERT INTO t3 VALUES(13); INSERT INTO t3 VALUES(14); INSERT INTO t3 VALUES(15); INSERT INTO t3 VALUES(16); INSERT INTO t3 VALUES(17); INSERT INTO t3 VALUES(18); INSERT INTO t3 VALUES(30); INSERT INTO t3 VALUES(31); INSERT INTO t3 VALUES(32); INSERT INTO t3 VALUES(33); INSERT INTO t3 VALUES(34); INSERT INTO t3 VALUES(-30); INSERT INTO t3 VALUES(-31); INSERT INTO t3 VALUES(-32); INSERT INTO t3 VALUES(-33); INSERT INTO t3 VALUES(-34); INSERT INTO t3 VALUES(62); INSERT INTO t3 VALUES(63); INSERT INTO t3 VALUES(64); INSERT INTO t3 VALUES(65); INSERT INTO t3 VALUES(66); INSERT INTO t3 VALUES(-62); INSERT INTO t3 VALUES(-63); INSERT INTO t3 VALUES(-64); INSERT INTO t3 VALUES(-65); INSERT INTO t3 VALUES(-66); INSERT INTO t3 VALUES(126); INSERT INTO t3 VALUES(127); INSERT INTO t3 VALUES(128); INSERT INTO t3 VALUES(129); INSERT INTO t3 VALUES(130); INSERT INTO t3 VALUES(-126); INSERT INTO t3 VALUES(-127); INSERT INTO t3 VALUES(-128); INSERT INTO t3 VALUES(-129); INSERT INTO t3 VALUES(-130); INSERT INTO t3 VALUES(254); INSERT INTO t3 VALUES(255); INSERT INTO t3 VALUES(256); INSERT INTO t3 VALUES(257); INSERT INTO t3 VALUES(258); INSERT INTO t3 VALUES(-254); INSERT INTO t3 VALUES(-255); INSERT INTO t3 VALUES(-256); INSERT INTO t3 VALUES(-257); INSERT INTO t3 VALUES(-258); INSERT INTO t3 VALUES(510); INSERT INTO t3 VALUES(511); INSERT INTO t3 VALUES(512); INSERT INTO t3 VALUES(513); INSERT INTO t3 VALUES(514); INSERT INTO t3 VALUES(-510); INSERT INTO t3 VALUES(-511); INSERT INTO t3 VALUES(-512); INSERT INTO t3 VALUES(-513); INSERT INTO t3 VALUES(-514); INSERT INTO t3 VALUES(1022); INSERT INTO t3 VALUES(1023); INSERT INTO t3 VALUES(1024); INSERT INTO t3 VALUES(1025); INSERT INTO t3 VALUES(1026); INSERT INTO t3 VALUES(-1022); INSERT INTO t3 VALUES(-1023); INSERT INTO t3 VALUES(-1024); INSERT INTO t3 VALUES(-1025); INSERT INTO t3 VALUES(-1026); INSERT INTO t3 VALUES(2046); INSERT INTO t3 VALUES(2047); INSERT INTO t3 VALUES(2048); INSERT INTO t3 VALUES(2049); INSERT INTO t3 VALUES(2050); INSERT INTO t3 VALUES(-2046); INSERT INTO t3 VALUES(-2047); INSERT INTO t3 VALUES(-2048); INSERT INTO t3 VALUES(-2049); INSERT INTO t3 VALUES(-2050); INSERT INTO t3 VALUES(4094); INSERT INTO t3 VALUES(4095); INSERT INTO t3 VALUES(4096); INSERT INTO t3 VALUES(4097); INSERT INTO t3 VALUES(4098); INSERT INTO t3 VALUES(-4094); INSERT INTO t3 VALUES(-4095); INSERT INTO t3 VALUES(-4096); INSERT INTO t3 VALUES(-4097); INSERT INTO t3 VALUES(-4098); INSERT INTO t3 VALUES(8190); INSERT INTO t3 VALUES(8191); INSERT INTO t3 VALUES(8192); INSERT INTO t3 VALUES(8193); INSERT INTO t3 VALUES(8194); INSERT INTO t3 VALUES(-8190); INSERT INTO t3 VALUES(-8191); INSERT INTO t3 VALUES(-8192); INSERT INTO t3 VALUES(-8193); INSERT INTO t3 VALUES(-8194); INSERT INTO t3 VALUES(16382); INSERT INTO t3 VALUES(16383); INSERT INTO t3 VALUES(16384); INSERT INTO t3 VALUES(16385); INSERT INTO t3 VALUES(16386); INSERT INTO t3 VALUES(-16382); INSERT INTO t3 VALUES(-16383); INSERT INTO t3 VALUES(-16384); INSERT INTO t3 VALUES(-16385); INSERT INTO t3 VALUES(-16386); INSERT INTO t3 VALUES(32766); INSERT INTO t3 VALUES(32767); INSERT INTO t3 VALUES(32768); INSERT INTO t3 VALUES(32769); INSERT INTO t3 VALUES(32770); INSERT INTO t3 VALUES(-32766); INSERT INTO t3 VALUES(-32767); INSERT INTO t3 VALUES(-32768); INSERT INTO t3 VALUES(-32769); INSERT INTO t3 VALUES(-32770); INSERT INTO t3 VALUES(65534); INSERT INTO t3 VALUES(65535); INSERT INTO t3 VALUES(65536); INSERT INTO t3 VALUES(65537); INSERT INTO t3 VALUES(65538); INSERT INTO t3 VALUES(-65534); INSERT INTO t3 VALUES(-65535); INSERT INTO t3 VALUES(-65536); INSERT INTO t3 VALUES(-65537); INSERT INTO t3 VALUES(-65538); INSERT INTO t3 VALUES(131070); INSERT INTO t3 VALUES(131071); INSERT INTO t3 VALUES(131072); INSERT INTO t3 VALUES(131073); INSERT INTO t3 VALUES(131074); INSERT INTO t3 VALUES(-131070); INSERT INTO t3 VALUES(-131071); INSERT INTO t3 VALUES(-131072); INSERT INTO t3 VALUES(-131073); INSERT INTO t3 VALUES(-131074); INSERT INTO t3 VALUES(262142); INSERT INTO t3 VALUES(262143); INSERT INTO t3 VALUES(262144); INSERT INTO t3 VALUES(262145); INSERT INTO t3 VALUES(262146); INSERT INTO t3 VALUES(-262142); INSERT INTO t3 VALUES(-262143); INSERT INTO t3 VALUES(-262144); INSERT INTO t3 VALUES(-262145); INSERT INTO t3 VALUES(-262146); INSERT INTO t3 VALUES(524286); INSERT INTO t3 VALUES(524287); INSERT INTO t3 VALUES(524288); INSERT INTO t3 VALUES(524289); INSERT INTO t3 VALUES(524290); INSERT INTO t3 VALUES(-524286); INSERT INTO t3 VALUES(-524287); INSERT INTO t3 VALUES(-524288); INSERT INTO t3 VALUES(-524289); INSERT INTO t3 VALUES(-524290); INSERT INTO t3 VALUES(1048574); INSERT INTO t3 VALUES(1048575); INSERT INTO t3 VALUES(1048576); INSERT INTO t3 VALUES(1048577); INSERT INTO t3 VALUES(1048578); INSERT INTO t3 VALUES(-1048574); INSERT INTO t3 VALUES(-1048575); INSERT INTO t3 VALUES(-1048576); INSERT INTO t3 VALUES(-1048577); INSERT INTO t3 VALUES(-1048578); INSERT INTO t3 VALUES(2097150); INSERT INTO t3 VALUES(2097151); INSERT INTO t3 VALUES(2097152); INSERT INTO t3 VALUES(2097153); INSERT INTO t3 VALUES(2097154); INSERT INTO t3 VALUES(-2097150); INSERT INTO t3 VALUES(-2097151); INSERT INTO t3 VALUES(-2097152); INSERT INTO t3 VALUES(-2097153); INSERT INTO t3 VALUES(-2097154); INSERT INTO t3 VALUES(4194302); INSERT INTO t3 VALUES(4194303); INSERT INTO t3 VALUES(4194304); INSERT INTO t3 VALUES(4194305); INSERT INTO t3 VALUES(4194306); INSERT INTO t3 VALUES(-4194302); INSERT INTO t3 VALUES(-4194303); INSERT INTO t3 VALUES(-4194304); INSERT INTO t3 VALUES(-4194305); INSERT INTO t3 VALUES(-4194306); INSERT INTO t3 VALUES(8388606); INSERT INTO t3 VALUES(8388607); INSERT INTO t3 VALUES(8388608); INSERT INTO t3 VALUES(8388609); INSERT INTO t3 VALUES(8388610); INSERT INTO t3 VALUES(-8388606); INSERT INTO t3 VALUES(-8388607); INSERT INTO t3 VALUES(-8388608); INSERT INTO t3 VALUES(-8388609); INSERT INTO t3 VALUES(-8388610); INSERT INTO t3 VALUES(16777214); INSERT INTO t3 VALUES(16777215); INSERT INTO t3 VALUES(16777216); INSERT INTO t3 VALUES(16777217); INSERT INTO t3 VALUES(16777218); INSERT INTO t3 VALUES(-16777214); INSERT INTO t3 VALUES(-16777215); INSERT INTO t3 VALUES(-16777216); INSERT INTO t3 VALUES(-16777217); INSERT INTO t3 VALUES(-16777218); INSERT INTO t3 VALUES(33554430); INSERT INTO t3 VALUES(33554431); INSERT INTO t3 VALUES(33554432); INSERT INTO t3 VALUES(33554433); INSERT INTO t3 VALUES(33554434); INSERT INTO t3 VALUES(-33554430); INSERT INTO t3 VALUES(-33554431); INSERT INTO t3 VALUES(-33554432); INSERT INTO t3 VALUES(-33554433); INSERT INTO t3 VALUES(-33554434); INSERT INTO t3 VALUES(67108862); INSERT INTO t3 VALUES(67108863); INSERT INTO t3 VALUES(67108864); INSERT INTO t3 VALUES(67108865); INSERT INTO t3 VALUES(67108866); INSERT INTO t3 VALUES(-67108862); INSERT INTO t3 VALUES(-67108863); INSERT INTO t3 VALUES(-67108864); INSERT INTO t3 VALUES(-67108865); INSERT INTO t3 VALUES(-67108866); INSERT INTO t3 VALUES(134217726); INSERT INTO t3 VALUES(134217727); INSERT INTO t3 VALUES(134217728); INSERT INTO t3 VALUES(134217729); INSERT INTO t3 VALUES(134217730); INSERT INTO t3 VALUES(-134217726); INSERT INTO t3 VALUES(-134217727); INSERT INTO t3 VALUES(-134217728); INSERT INTO t3 VALUES(-134217729); INSERT INTO t3 VALUES(-134217730); INSERT INTO t3 VALUES(268435454); INSERT INTO t3 VALUES(268435455); INSERT INTO t3 VALUES(268435456); INSERT INTO t3 VALUES(268435457); INSERT INTO t3 VALUES(268435458); INSERT INTO t3 VALUES(-268435454); INSERT INTO t3 VALUES(-268435455); INSERT INTO t3 VALUES(-268435456); INSERT INTO t3 VALUES(-268435457); INSERT INTO t3 VALUES(-268435458); INSERT INTO t3 VALUES(536870910); INSERT INTO t3 VALUES(536870911); INSERT INTO t3 VALUES(536870912); INSERT INTO t3 VALUES(536870913); INSERT INTO t3 VALUES(536870914); INSERT INTO t3 VALUES(-536870910); INSERT INTO t3 VALUES(-536870911); INSERT INTO t3 VALUES(-536870912); INSERT INTO t3 VALUES(-536870913); INSERT INTO t3 VALUES(-536870914); INSERT INTO t3 VALUES(1073741822); INSERT INTO t3 VALUES(1073741823); INSERT INTO t3 VALUES(1073741824); INSERT INTO t3 VALUES(1073741825); INSERT INTO t3 VALUES(1073741826); INSERT INTO t3 VALUES(-1073741822); INSERT INTO t3 VALUES(-1073741823); INSERT INTO t3 VALUES(-1073741824); INSERT INTO t3 VALUES(-1073741825); INSERT INTO t3 VALUES(-1073741826); INSERT INTO t3 VALUES(2147483646); INSERT INTO t3 VALUES(2147483647); INSERT INTO t3 VALUES(2147483648); INSERT INTO t3 VALUES(2147483649); INSERT INTO t3 VALUES(2147483650); INSERT INTO t3 VALUES(-2147483646); INSERT INTO t3 VALUES(-2147483647); INSERT INTO t3 VALUES(-2147483648); INSERT INTO t3 VALUES(-2147483649); INSERT INTO t3 VALUES(-2147483650); INSERT INTO t3 VALUES(4294967294); INSERT INTO t3 VALUES(4294967295); INSERT INTO t3 VALUES(4294967296); INSERT INTO t3 VALUES(4294967297); INSERT INTO t3 VALUES(4294967298); INSERT INTO t3 VALUES(-4294967294); INSERT INTO t3 VALUES(-4294967295); INSERT INTO t3 VALUES(-4294967296); INSERT INTO t3 VALUES(-4294967297); INSERT INTO t3 VALUES(-4294967298); INSERT INTO t3 VALUES(8589934590); INSERT INTO t3 VALUES(8589934591); INSERT INTO t3 VALUES(8589934592); INSERT INTO t3 VALUES(8589934593); INSERT INTO t3 VALUES(8589934594); INSERT INTO t3 VALUES(-8589934590); INSERT INTO t3 VALUES(-8589934591); INSERT INTO t3 VALUES(-8589934592); INSERT INTO t3 VALUES(-8589934593); INSERT INTO t3 VALUES(-8589934594); INSERT INTO t3 VALUES(17179869182); INSERT INTO t3 VALUES(17179869183); INSERT INTO t3 VALUES(17179869184); INSERT INTO t3 VALUES(17179869185); INSERT INTO t3 VALUES(17179869186); INSERT INTO t3 VALUES(-17179869182); INSERT INTO t3 VALUES(-17179869183); INSERT INTO t3 VALUES(-17179869184); INSERT INTO t3 VALUES(-17179869185); INSERT INTO t3 VALUES(-17179869186); INSERT INTO t3 VALUES(34359738366); INSERT INTO t3 VALUES(34359738367); INSERT INTO t3 VALUES(34359738368); INSERT INTO t3 VALUES(34359738369); INSERT INTO t3 VALUES(34359738370); INSERT INTO t3 VALUES(-34359738366); INSERT INTO t3 VALUES(-34359738367); INSERT INTO t3 VALUES(-34359738368); INSERT INTO t3 VALUES(-34359738369); INSERT INTO t3 VALUES(-34359738370); INSERT INTO t3 VALUES(68719476734); INSERT INTO t3 VALUES(68719476735); INSERT INTO t3 VALUES(68719476736); INSERT INTO t3 VALUES(68719476737); INSERT INTO t3 VALUES(68719476738); INSERT INTO t3 VALUES(-68719476734); INSERT INTO t3 VALUES(-68719476735); INSERT INTO t3 VALUES(-68719476736); INSERT INTO t3 VALUES(-68719476737); INSERT INTO t3 VALUES(-68719476738); INSERT INTO t3 VALUES(137438953470); INSERT INTO t3 VALUES(137438953471); INSERT INTO t3 VALUES(137438953472); INSERT INTO t3 VALUES(137438953473); INSERT INTO t3 VALUES(137438953474); INSERT INTO t3 VALUES(-137438953470); INSERT INTO t3 VALUES(-137438953471); INSERT INTO t3 VALUES(-137438953472); INSERT INTO t3 VALUES(-137438953473); INSERT INTO t3 VALUES(-137438953474); INSERT INTO t3 VALUES(274877906942); INSERT INTO t3 VALUES(274877906943); INSERT INTO t3 VALUES(274877906944); INSERT INTO t3 VALUES(274877906945); INSERT INTO t3 VALUES(274877906946); INSERT INTO t3 VALUES(-274877906942); INSERT INTO t3 VALUES(-274877906943); INSERT INTO t3 VALUES(-274877906944); INSERT INTO t3 VALUES(-274877906945); INSERT INTO t3 VALUES(-274877906946); INSERT INTO t3 VALUES(549755813886); INSERT INTO t3 VALUES(549755813887); INSERT INTO t3 VALUES(549755813888); INSERT INTO t3 VALUES(549755813889); INSERT INTO t3 VALUES(549755813890); INSERT INTO t3 VALUES(-549755813886); INSERT INTO t3 VALUES(-549755813887); INSERT INTO t3 VALUES(-549755813888); INSERT INTO t3 VALUES(-549755813889); INSERT INTO t3 VALUES(-549755813890); INSERT INTO t3 VALUES(1099511627774); INSERT INTO t3 VALUES(1099511627775); INSERT INTO t3 VALUES(1099511627776); INSERT INTO t3 VALUES(1099511627777); INSERT INTO t3 VALUES(1099511627778); INSERT INTO t3 VALUES(-1099511627774); INSERT INTO t3 VALUES(-1099511627775); INSERT INTO t3 VALUES(-1099511627776); INSERT INTO t3 VALUES(-1099511627777); INSERT INTO t3 VALUES(-1099511627778); INSERT INTO t3 VALUES(2199023255550); INSERT INTO t3 VALUES(2199023255551); INSERT INTO t3 VALUES(2199023255552); INSERT INTO t3 VALUES(2199023255553); INSERT INTO t3 VALUES(2199023255554); INSERT INTO t3 VALUES(-2199023255550); INSERT INTO t3 VALUES(-2199023255551); INSERT INTO t3 VALUES(-2199023255552); INSERT INTO t3 VALUES(-2199023255553); INSERT INTO t3 VALUES(-2199023255554); INSERT INTO t3 VALUES(4398046511102); INSERT INTO t3 VALUES(4398046511103); INSERT INTO t3 VALUES(4398046511104); INSERT INTO t3 VALUES(4398046511105); INSERT INTO t3 VALUES(4398046511106); INSERT INTO t3 VALUES(-4398046511102); INSERT INTO t3 VALUES(-4398046511103); INSERT INTO t3 VALUES(-4398046511104); INSERT INTO t3 VALUES(-4398046511105); INSERT INTO t3 VALUES(-4398046511106); INSERT INTO t3 VALUES(8796093022206); INSERT INTO t3 VALUES(8796093022207); INSERT INTO t3 VALUES(8796093022208); INSERT INTO t3 VALUES(8796093022209); INSERT INTO t3 VALUES(8796093022210); INSERT INTO t3 VALUES(-8796093022206); INSERT INTO t3 VALUES(-8796093022207); INSERT INTO t3 VALUES(-8796093022208); INSERT INTO t3 VALUES(-8796093022209); INSERT INTO t3 VALUES(-8796093022210); INSERT INTO t3 VALUES(17592186044414); INSERT INTO t3 VALUES(17592186044415); INSERT INTO t3 VALUES(17592186044416); INSERT INTO t3 VALUES(17592186044417); INSERT INTO t3 VALUES(17592186044418); INSERT INTO t3 VALUES(-17592186044414); INSERT INTO t3 VALUES(-17592186044415); INSERT INTO t3 VALUES(-17592186044416); INSERT INTO t3 VALUES(-17592186044417); INSERT INTO t3 VALUES(-17592186044418); INSERT INTO t3 VALUES(35184372088830); INSERT INTO t3 VALUES(35184372088831); INSERT INTO t3 VALUES(35184372088832); INSERT INTO t3 VALUES(35184372088833); INSERT INTO t3 VALUES(35184372088834); INSERT INTO t3 VALUES(-35184372088830); INSERT INTO t3 VALUES(-35184372088831); INSERT INTO t3 VALUES(-35184372088832); INSERT INTO t3 VALUES(-35184372088833); INSERT INTO t3 VALUES(-35184372088834); INSERT INTO t3 VALUES(70368744177662); INSERT INTO t3 VALUES(70368744177663); INSERT INTO t3 VALUES(70368744177664); INSERT INTO t3 VALUES(70368744177665); INSERT INTO t3 VALUES(70368744177666); INSERT INTO t3 VALUES(-70368744177662); INSERT INTO t3 VALUES(-70368744177663); INSERT INTO t3 VALUES(-70368744177664); INSERT INTO t3 VALUES(-70368744177665); INSERT INTO t3 VALUES(-70368744177666); INSERT INTO t3 VALUES(140737488355326); INSERT INTO t3 VALUES(140737488355327); INSERT INTO t3 VALUES(140737488355328); INSERT INTO t3 VALUES(140737488355329); INSERT INTO t3 VALUES(140737488355330); INSERT INTO t3 VALUES(-140737488355326); INSERT INTO t3 VALUES(-140737488355327); INSERT INTO t3 VALUES(-140737488355328); INSERT INTO t3 VALUES(-140737488355329); INSERT INTO t3 VALUES(-140737488355330); INSERT INTO t3 VALUES(281474976710654); INSERT INTO t3 VALUES(281474976710655); INSERT INTO t3 VALUES(281474976710656); INSERT INTO t3 VALUES(281474976710657); INSERT INTO t3 VALUES(281474976710658); INSERT INTO t3 VALUES(-281474976710654); INSERT INTO t3 VALUES(-281474976710655); INSERT INTO t3 VALUES(-281474976710656); INSERT INTO t3 VALUES(-281474976710657); INSERT INTO t3 VALUES(-281474976710658); INSERT INTO t3 VALUES(562949953421310); INSERT INTO t3 VALUES(562949953421311); INSERT INTO t3 VALUES(562949953421312); INSERT INTO t3 VALUES(562949953421313); INSERT INTO t3 VALUES(562949953421314); INSERT INTO t3 VALUES(-562949953421310); INSERT INTO t3 VALUES(-562949953421311); INSERT INTO t3 VALUES(-562949953421312); INSERT INTO t3 VALUES(-562949953421313); INSERT INTO t3 VALUES(-562949953421314); INSERT INTO t3 VALUES(1125899906842622); INSERT INTO t3 VALUES(1125899906842623); INSERT INTO t3 VALUES(1125899906842624); INSERT INTO t3 VALUES(1125899906842625); INSERT INTO t3 VALUES(1125899906842626); INSERT INTO t3 VALUES(-1125899906842622); INSERT INTO t3 VALUES(-1125899906842623); INSERT INTO t3 VALUES(-1125899906842624); INSERT INTO t3 VALUES(-1125899906842625); INSERT INTO t3 VALUES(-1125899906842626); INSERT INTO t3 VALUES(2251799813685246); INSERT INTO t3 VALUES(2251799813685247); INSERT INTO t3 VALUES(2251799813685248); INSERT INTO t3 VALUES(2251799813685249); INSERT INTO t3 VALUES(2251799813685250); INSERT INTO t3 VALUES(-2251799813685246); INSERT INTO t3 VALUES(-2251799813685247); INSERT INTO t3 VALUES(-2251799813685248); INSERT INTO t3 VALUES(-2251799813685249); INSERT INTO t3 VALUES(-2251799813685250); INSERT INTO t3 VALUES(4503599627370494); INSERT INTO t3 VALUES(4503599627370495); INSERT INTO t3 VALUES(4503599627370496); INSERT INTO t3 VALUES(4503599627370497); INSERT INTO t3 VALUES(4503599627370498); INSERT INTO t3 VALUES(-4503599627370494); INSERT INTO t3 VALUES(-4503599627370495); INSERT INTO t3 VALUES(-4503599627370496); INSERT INTO t3 VALUES(-4503599627370497); INSERT INTO t3 VALUES(-4503599627370498); INSERT INTO t3 VALUES(9007199254740990); INSERT INTO t3 VALUES(9007199254740991); INSERT INTO t3 VALUES(9007199254740992); INSERT INTO t3 VALUES(9007199254740993); INSERT INTO t3 VALUES(9007199254740994); INSERT INTO t3 VALUES(-9007199254740990); INSERT INTO t3 VALUES(-9007199254740991); INSERT INTO t3 VALUES(-9007199254740992); INSERT INTO t3 VALUES(-9007199254740993); INSERT INTO t3 VALUES(-9007199254740994); INSERT INTO t3 VALUES(18014398509481982); INSERT INTO t3 VALUES(18014398509481983); INSERT INTO t3 VALUES(18014398509481984); INSERT INTO t3 VALUES(18014398509481985); INSERT INTO t3 VALUES(18014398509481986); INSERT INTO t3 VALUES(-18014398509481982); INSERT INTO t3 VALUES(-18014398509481983); INSERT INTO t3 VALUES(-18014398509481984); INSERT INTO t3 VALUES(-18014398509481985); INSERT INTO t3 VALUES(-18014398509481986); INSERT INTO t3 VALUES(36028797018963966); INSERT INTO t3 VALUES(36028797018963967); INSERT INTO t3 VALUES(36028797018963968); INSERT INTO t3 VALUES(36028797018963969); INSERT INTO t3 VALUES(36028797018963970); INSERT INTO t3 VALUES(-36028797018963966); INSERT INTO t3 VALUES(-36028797018963967); INSERT INTO t3 VALUES(-36028797018963968); INSERT INTO t3 VALUES(-36028797018963969); INSERT INTO t3 VALUES(-36028797018963970); INSERT INTO t3 VALUES(72057594037927934); INSERT INTO t3 VALUES(72057594037927935); INSERT INTO t3 VALUES(72057594037927936); INSERT INTO t3 VALUES(72057594037927937); INSERT INTO t3 VALUES(72057594037927938); INSERT INTO t3 VALUES(-72057594037927934); INSERT INTO t3 VALUES(-72057594037927935); INSERT INTO t3 VALUES(-72057594037927936); INSERT INTO t3 VALUES(-72057594037927937); INSERT INTO t3 VALUES(-72057594037927938); INSERT INTO t3 VALUES(144115188075855870); INSERT INTO t3 VALUES(144115188075855871); INSERT INTO t3 VALUES(144115188075855872); INSERT INTO t3 VALUES(144115188075855873); INSERT INTO t3 VALUES(144115188075855874); INSERT INTO t3 VALUES(-144115188075855870); INSERT INTO t3 VALUES(-144115188075855871); INSERT INTO t3 VALUES(-144115188075855872); INSERT INTO t3 VALUES(-144115188075855873); INSERT INTO t3 VALUES(-144115188075855874); INSERT INTO t3 VALUES(288230376151711742); INSERT INTO t3 VALUES(288230376151711743); INSERT INTO t3 VALUES(288230376151711744); INSERT INTO t3 VALUES(288230376151711745); INSERT INTO t3 VALUES(288230376151711746); INSERT INTO t3 VALUES(-288230376151711742); INSERT INTO t3 VALUES(-288230376151711743); INSERT INTO t3 VALUES(-288230376151711744); INSERT INTO t3 VALUES(-288230376151711745); INSERT INTO t3 VALUES(-288230376151711746); INSERT INTO t3 VALUES(576460752303423486); INSERT INTO t3 VALUES(576460752303423487); INSERT INTO t3 VALUES(576460752303423488); INSERT INTO t3 VALUES(576460752303423489); INSERT INTO t3 VALUES(576460752303423490); INSERT INTO t3 VALUES(-576460752303423486); INSERT INTO t3 VALUES(-576460752303423487); INSERT INTO t3 VALUES(-576460752303423488); INSERT INTO t3 VALUES(-576460752303423489); INSERT INTO t3 VALUES(-576460752303423490); INSERT INTO t3 VALUES(1152921504606846974); INSERT INTO t3 VALUES(1152921504606846975); INSERT INTO t3 VALUES(1152921504606846976); INSERT INTO t3 VALUES(1152921504606846977); INSERT INTO t3 VALUES(1152921504606846978); INSERT INTO t3 VALUES(-1152921504606846974); INSERT INTO t3 VALUES(-1152921504606846975); INSERT INTO t3 VALUES(-1152921504606846976); INSERT INTO t3 VALUES(-1152921504606846977); INSERT INTO t3 VALUES(-1152921504606846978); INSERT INTO t3 VALUES(2305843009213693950); INSERT INTO t3 VALUES(2305843009213693951); INSERT INTO t3 VALUES(2305843009213693952); INSERT INTO t3 VALUES(2305843009213693953); INSERT INTO t3 VALUES(2305843009213693954); INSERT INTO t3 VALUES(-2305843009213693950); INSERT INTO t3 VALUES(-2305843009213693951); INSERT INTO t3 VALUES(-2305843009213693952); INSERT INTO t3 VALUES(-2305843009213693953); INSERT INTO t3 VALUES(-2305843009213693954); INSERT INTO t3 VALUES(4611686018427387902); INSERT INTO t3 VALUES(4611686018427387903); INSERT INTO t3 VALUES(4611686018427387904); INSERT INTO t3 VALUES(4611686018427387905); INSERT INTO t3 VALUES(4611686018427387906); INSERT INTO t3 VALUES(-4611686018427387902); INSERT INTO t3 VALUES(-4611686018427387903); INSERT INTO t3 VALUES(-4611686018427387904); INSERT INTO t3 VALUES(-4611686018427387905); INSERT INTO t3 VALUES(-4611686018427387906); INSERT INTO t3 VALUES(9223372036854775806); INSERT INTO t3 VALUES(9223372036854775807); INSERT INTO t3 VALUES(-9223372036854775806); INSERT INTO t3 VALUES(-9223372036854775807); INSERT INTO t3 VALUES(-9223372036854775808); SELECT x FROM t3 ORDER BY x; } } {-9223372036854775808\ -9223372036854775807\ -9223372036854775806\ -4611686018427387906\ -4611686018427387905\ -4611686018427387904\ -4611686018427387903\ -4611686018427387902\ -2305843009213693954\ -2305843009213693953\ -2305843009213693952\ -2305843009213693951\ -2305843009213693950\ -1152921504606846978\ -1152921504606846977\ -1152921504606846976\ -1152921504606846975\ -1152921504606846974\ -576460752303423490\ -576460752303423489\ -576460752303423488\ -576460752303423487\ -576460752303423486\ -288230376151711746\ -288230376151711745\ -288230376151711744\ -288230376151711743\ -288230376151711742\ -144115188075855874\ -144115188075855873\ -144115188075855872\ -144115188075855871\ -144115188075855870\ -72057594037927938\ -72057594037927937\ -72057594037927936\ -72057594037927935\ -72057594037927934\ -36028797018963970\ -36028797018963969\ -36028797018963968\ -36028797018963967\ -36028797018963966\ -18014398509481986\ -18014398509481985\ -18014398509481984\ -18014398509481983\ -18014398509481982\ -9007199254740994\ -9007199254740993\ -9007199254740992\ -9007199254740991\ -9007199254740990\ -4503599627370498\ -4503599627370497\ -4503599627370496\ -4503599627370495\ -4503599627370494\ -2251799813685250\ -2251799813685249\ -2251799813685248\ -2251799813685247\ -2251799813685246\ -1125899906842626\ -1125899906842625\ -1125899906842624\ -1125899906842623\ -1125899906842622\ -562949953421314\ -562949953421313\ -562949953421312\ -562949953421311\ -562949953421310\ -281474976710658\ -281474976710657\ -281474976710656\ -281474976710655\ -281474976710654\ -140737488355330\ -140737488355329\ -140737488355328\ -140737488355327\ -140737488355326\ -70368744177666\ -70368744177665\ -70368744177664\ -70368744177663\ -70368744177662\ -35184372088834\ -35184372088833\ -35184372088832\ -35184372088831\ -35184372088830\ -17592186044418\ -17592186044417\ -17592186044416\ -17592186044415\ -17592186044414\ -8796093022210\ -8796093022209\ -8796093022208\ -8796093022207\ -8796093022206\ -4398046511106\ -4398046511105\ -4398046511104\ -4398046511103\ -4398046511102\ -2199023255554\ -2199023255553\ -2199023255552\ -2199023255551\ -2199023255550\ -1099511627778\ -1099511627777\ -1099511627776\ -1099511627775\ -1099511627774\ -549755813890\ -549755813889\ -549755813888\ -549755813887\ -549755813886\ -274877906946\ -274877906945\ -274877906944\ -274877906943\ -274877906942\ -137438953474\ -137438953473\ -137438953472\ -137438953471\ -137438953470\ -68719476738\ -68719476737\ -68719476736\ -68719476735\ -68719476734\ -34359738370\ -34359738369\ -34359738368\ -34359738367\ -34359738366\ -17179869186\ -17179869185\ -17179869184\ -17179869183\ -17179869182\ -8589934594\ -8589934593\ -8589934592\ -8589934591\ -8589934590\ -4294967298\ -4294967297\ -4294967296\ -4294967295\ -4294967294\ -2147483650\ -2147483649\ -2147483648\ -2147483647\ -2147483646\ -1073741826\ -1073741825\ -1073741824\ -1073741823\ -1073741822\ -536870914\ -536870913\ -536870912\ -536870911\ -536870910\ -268435458\ -268435457\ -268435456\ -268435455\ -268435454\ -134217730\ -134217729\ -134217728\ -134217727\ -134217726\ -67108866\ -67108865\ -67108864\ -67108863\ -67108862\ -33554434\ -33554433\ -33554432\ -33554431\ -33554430\ -16777218\ -16777217\ -16777216\ -16777215\ -16777214\ -8388610\ -8388609\ -8388608\ -8388607\ -8388606\ -4194306\ -4194305\ -4194304\ -4194303\ -4194302\ -2097154\ -2097153\ -2097152\ -2097151\ -2097150\ -1048578\ -1048577\ -1048576\ -1048575\ -1048574\ -524290\ -524289\ -524288\ -524287\ -524286\ -262146\ -262145\ -262144\ -262143\ -262142\ -131074\ -131073\ -131072\ -131071\ -131070\ -65538\ -65537\ -65536\ -65535\ -65534\ -32770\ -32769\ -32768\ -32767\ -32766\ -16386\ -16385\ -16384\ -16383\ -16382\ -8194\ -8193\ -8192\ -8191\ -8190\ -4098\ -4097\ -4096\ -4095\ -4094\ -2050\ -2049\ -2048\ -2047\ -2046\ -1026\ -1025\ -1024\ -1023\ -1022\ -514\ -513\ -512\ -511\ -510\ -258\ -257\ -256\ -255\ -254\ -130\ -129\ -128\ -127\ -126\ -66\ -65\ -64\ -63\ -62\ -34\ -33\ -32\ -31\ -30\ -18\ -17\ -16\ -15\ -14\ -13\ -12\ -11\ -10\ -9\ -8\ -7\ -6\ -5\ -4\ -3\ -2\ -1\ 0\ 1\ 2\ 3\ 4\ 5\ 6\ 7\ 8\ 9\ 10\ 11\ 12\ 13\ 14\ 15\ 16\ 17\ 18\ 30\ 31\ 32\ 33\ 34\ 62\ 63\ 64\ 65\ 66\ 126\ 127\ 128\ 129\ 130\ 254\ 255\ 256\ 257\ 258\ 510\ 511\ 512\ 513\ 514\ 1022\ 1023\ 1024\ 1025\ 1026\ 2046\ 2047\ 2048\ 2049\ 2050\ 4094\ 4095\ 4096\ 4097\ 4098\ 8190\ 8191\ 8192\ 8193\ 8194\ 16382\ 16383\ 16384\ 16385\ 16386\ 32766\ 32767\ 32768\ 32769\ 32770\ 65534\ 65535\ 65536\ 65537\ 65538\ 131070\ 131071\ 131072\ 131073\ 131074\ 262142\ 262143\ 262144\ 262145\ 262146\ 524286\ 524287\ 524288\ 524289\ 524290\ 1048574\ 1048575\ 1048576\ 1048577\ 1048578\ 2097150\ 2097151\ 2097152\ 2097153\ 2097154\ 4194302\ 4194303\ 4194304\ 4194305\ 4194306\ 8388606\ 8388607\ 8388608\ 8388609\ 8388610\ 16777214\ 16777215\ 16777216\ 16777217\ 16777218\ 33554430\ 33554431\ 33554432\ 33554433\ 33554434\ 67108862\ 67108863\ 67108864\ 67108865\ 67108866\ 134217726\ 134217727\ 134217728\ 134217729\ 134217730\ 268435454\ 268435455\ 268435456\ 268435457\ 268435458\ 536870910\ 536870911\ 536870912\ 536870913\ 536870914\ 1073741822\ 1073741823\ 1073741824\ 1073741825\ 1073741826\ 2147483646\ 2147483647\ 2147483648\ 2147483649\ 2147483650\ 4294967294\ 4294967295\ 4294967296\ 4294967297\ 4294967298\ 8589934590\ 8589934591\ 8589934592\ 8589934593\ 8589934594\ 17179869182\ 17179869183\ 17179869184\ 17179869185\ 17179869186\ 34359738366\ 34359738367\ 34359738368\ 34359738369\ 34359738370\ 68719476734\ 68719476735\ 68719476736\ 68719476737\ 68719476738\ 137438953470\ 137438953471\ 137438953472\ 137438953473\ 137438953474\ 274877906942\ 274877906943\ 274877906944\ 274877906945\ 274877906946\ 549755813886\ 549755813887\ 549755813888\ 549755813889\ 549755813890\ 1099511627774\ 1099511627775\ 1099511627776\ 1099511627777\ 1099511627778\ 2199023255550\ 2199023255551\ 2199023255552\ 2199023255553\ 2199023255554\ 4398046511102\ 4398046511103\ 4398046511104\ 4398046511105\ 4398046511106\ 8796093022206\ 8796093022207\ 8796093022208\ 8796093022209\ 8796093022210\ 17592186044414\ 17592186044415\ 17592186044416\ 17592186044417\ 17592186044418\ 35184372088830\ 35184372088831\ 35184372088832\ 35184372088833\ 35184372088834\ 70368744177662\ 70368744177663\ 70368744177664\ 70368744177665\ 70368744177666\ 140737488355326\ 140737488355327\ 140737488355328\ 140737488355329\ 140737488355330\ 281474976710654\ 281474976710655\ 281474976710656\ 281474976710657\ 281474976710658\ 562949953421310\ 562949953421311\ 562949953421312\ 562949953421313\ 562949953421314\ 1125899906842622\ 1125899906842623\ 1125899906842624\ 1125899906842625\ 1125899906842626\ 2251799813685246\ 2251799813685247\ 2251799813685248\ 2251799813685249\ 2251799813685250\ 4503599627370494\ 4503599627370495\ 4503599627370496\ 4503599627370497\ 4503599627370498\ 9007199254740990\ 9007199254740991\ 9007199254740992\ 9007199254740993\ 9007199254740994\ 18014398509481982\ 18014398509481983\ 18014398509481984\ 18014398509481985\ 18014398509481986\ 36028797018963966\ 36028797018963967\ 36028797018963968\ 36028797018963969\ 36028797018963970\ 72057594037927934\ 72057594037927935\ 72057594037927936\ 72057594037927937\ 72057594037927938\ 144115188075855870\ 144115188075855871\ 144115188075855872\ 144115188075855873\ 144115188075855874\ 288230376151711742\ 288230376151711743\ 288230376151711744\ 288230376151711745\ 288230376151711746\ 576460752303423486\ 576460752303423487\ 576460752303423488\ 576460752303423489\ 576460752303423490\ 1152921504606846974\ 1152921504606846975\ 1152921504606846976\ 1152921504606846977\ 1152921504606846978\ 2305843009213693950\ 2305843009213693951\ 2305843009213693952\ 2305843009213693953\ 2305843009213693954\ 4611686018427387902\ 4611686018427387903\ 4611686018427387904\ 4611686018427387905\ 4611686018427387906\ 9223372036854775806\ 9223372036854775807} finish_test