diff options
Diffstat (limited to 'test/misc5.test')
-rw-r--r-- | test/misc5.test | 1895 |
1 files changed, 1895 insertions, 0 deletions
diff --git a/test/misc5.test b/test/misc5.test new file mode 100644 index 0000000..f7c6048 --- /dev/null +++ b/test/misc5.test @@ -0,0 +1,1895 @@ +# 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.22 2008/07/29 10:26:45 danielk1977 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 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. +# +# This test fails when building with -DYYSTACKDEPTH=0 +# +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}} + +# Parser stack overflow is silently ignored when it occurs while parsing the +# schema and PRAGMA writable_schema is turned on. +# +do_test misc5-7.2 { + sqlite3 db2 :memory: + sqlite3_db_config db2 DEFENSIVE 0 + catchsql { + CREATE TABLE t1(x UNIQUE); + PRAGMA writable_schema=ON; + UPDATE sqlite_master SET sql='CREATE table t(o CHECK(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((;VALUES(o)'; + BEGIN; + CREATE TABLE t2(y); + ROLLBACK; + DROP TABLE IF EXISTS D; + } db2 +} {0 {}} +db2 close + + +# 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 |