summaryrefslogtreecommitdiffstats
path: root/test/window3.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/window3.test')
-rw-r--r--test/window3.test40613
1 files changed, 40613 insertions, 0 deletions
diff --git a/test/window3.test b/test/window3.test
new file mode 100644
index 0000000..1893b53
--- /dev/null
+++ b/test/window3.test
@@ -0,0 +1,40613 @@
+# 2018 May 31
+#
+# 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.
+#
+
+####################################################
+# DO NOT EDIT! THIS FILE IS AUTOMATICALLY GENERATED!
+####################################################
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+set testprefix window3
+
+ifcapable !windowfunc { finish_test ; return }
+do_execsql_test 1.0 {
+ DROP TABLE IF EXISTS t2;
+ CREATE TABLE t2(a INTEGER PRIMARY KEY, b INTEGER);
+ INSERT INTO t2(a, b) VALUES
+ (10,89), (11,81), (12,96), (13,59), (14,38), (15,68), (16,39), (17,62),
+ (18,91), (19,46), (20,6), (21,99), (22,97), (23,27), (24,46), (25,78),
+ (26,54), (27,97), (28,8), (29,67), (30,29), (31,93), (32,84), (33,77),
+ (34,23), (35,16), (36,16), (37,93), (38,65), (39,35), (40,47), (41,7),
+ (42,86), (43,74), (44,61), (45,91), (46,85), (47,24), (48,85), (49,43),
+ (50,59), (51,12), (52,32), (53,56), (54,3), (55,91), (56,22), (57,90),
+ (58,55), (59,15), (60,28), (61,89), (62,25), (63,47), (64,1), (65,56),
+ (66,40), (67,43), (68,56), (69,16), (70,75), (71,36), (72,89), (73,98),
+ (74,76), (75,81), (76,4), (77,94), (78,42), (79,30), (80,78), (81,33),
+ (82,29), (83,53), (84,63), (85,2), (86,87), (87,37), (88,80), (89,84),
+ (90,72), (91,41), (92,9), (93,61), (94,73), (95,95), (96,65), (97,13),
+ (98,58), (99,96), (100,98), (101,1), (102,21), (103,74), (104,65), (105,35),
+ (106,5), (107,73), (108,11), (109,51), (110,87), (111,41), (112,12), (113,8),
+ (114,20), (115,31), (116,31), (117,15), (118,95), (119,22), (120,73),
+ (121,79), (122,88), (123,34), (124,8), (125,11), (126,49), (127,34),
+ (128,90), (129,59), (130,96), (131,60), (132,55), (133,75), (134,77),
+ (135,44), (136,2), (137,7), (138,85), (139,57), (140,74), (141,29), (142,70),
+ (143,59), (144,19), (145,39), (146,26), (147,26), (148,47), (149,80),
+ (150,90), (151,36), (152,58), (153,47), (154,9), (155,72), (156,72), (157,66),
+ (158,33), (159,93), (160,75), (161,64), (162,81), (163,9), (164,23), (165,37),
+ (166,13), (167,12), (168,14), (169,62), (170,91), (171,36), (172,91),
+ (173,33), (174,15), (175,34), (176,36), (177,99), (178,3), (179,95), (180,69),
+ (181,58), (182,52), (183,30), (184,50), (185,84), (186,10), (187,84),
+ (188,33), (189,21), (190,39), (191,44), (192,58), (193,30), (194,38),
+ (195,34), (196,83), (197,27), (198,82), (199,17), (200,7);
+} {}
+
+do_execsql_test 1.1 {
+ SELECT max(b) OVER (
+ ORDER BY a
+ ) FROM t2
+} {89 89 96 96 96 96 96 96 96 96 96 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.1.2.1 {
+ SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {89 89 96 96 96 96 96 96 96 96 96 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.1.2.2 {
+ SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {89 81 81 59 38 38 38 38 38 38 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 3 3 3 3 3 3 3 3 3 3 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1}
+
+do_execsql_test 1.1.3.1 {
+ SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.1.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.1.3.3 {
+ SELECT row_number() OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.1.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.1.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.1.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.1.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.1.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.1.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.1.5.1 {
+ SELECT rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.1.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.1.5.3 {
+ SELECT rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.1.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.1.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.1.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.1.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.1.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.1.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.1.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {99 92 108 72 52 83 55 79 109 65 26 120 119 50
+ 70 103 80 124 36 96 59 124 116 110 57 51 52 130
+ 103 74 87 48 128 117 105 136 131 71 133 92 109 63
+ 84 109 57 146 78 147 113 74 88 150 87 110 65 121
+ 106 110 124 85 145 107 161 171 150 156 80 171 120
+ 109 158 114 111 136 147 87 173 124 168 173 162 132
+ 101 154 167 190 161 110 156 195 198 102 123 177 169
+ 140 111 180 119 160 197 152 124 121 134 146 147 132
+ 213 141 193 200 210 157 132 136 175 161 218 188 226
+ 191 187 208 211 179 138 144 223 196 214 170 212 202
+ 163 184 172 173 195 229 240 187 210 200 163 227 228
+ 223 191 252 235 225 243 172 187 202 179 179 182 231
+ 261 207 263 206 189 209 212 276 181 274 249 239 234
+ 213 234 269 196 271 221 210 229 235 250 223 232 229
+ 279 224 280 216 207}
+
+do_execsql_test 1.1.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.1.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {65 102 87 138 57 181 80 111 26 48 144 207 36 121
+ 132 101 163 172 196 119 136 63 124 179 110 179 182
+ 74 132 189 51 52 85 216 163 134 123 210 78 141 57
+ 187 71 87 172 173 50 224 88 59 111 170 109 213
+ 223 146 147 84 114 191 206 221 157 161 209 229 74
+ 140 107 187 207 212 124 202 52 232 55 184 229 106
+ 132 152 120 92 110 179 235 65 70 87 110 195 200
+ 175 234 160 234 136 80 113 187 109 121 124 196 156
+ 210 239 250 72 109 188 202 191 105 154 79 231 147
+ 225 103 161 169 223 96 83 249 212 162 227 228 167
+ 180 193 117 177 214 145 208 235 150 110 211 103 158
+ 200 168 229 92 156 243 280 279 116 173 269 271 131
+ 133 223 128 173 197 210 99 150 161 147 218 240 109
+ 136 146 261 263 124 130 252 171 190 213 274 108 195
+ 226 119 124 171 198 120 276}
+
+do_execsql_test 1.1.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {196 134 109 213 223 106 234 191 212 168 229 147 218
+ 240 65 102 119 136 123 210 146 147 132 152 160 105
+ 154 92 156 243 109 136 146 261 263 87 138 63 124
+ 179 78 141 84 120 234 79 231 162 227 228 280 57
+ 181 110 179 57 187 114 191 206 221 92 110 136 147
+ 167 180 193 279 124 130 252 80 182 71 157 161 209
+ 229 179 235 80 225 117 177 214 116 173 269 271 171
+ 111 74 132 189 87 74 140 113 187 103 161 169 145
+ 208 235 131 133 223 190 213 274 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 128
+ 108 195 226 48 144 207 216 50 224 124 202 87 110
+ 195 200 196 96 110 211 173 197 119 124 36 121 132
+ 88 52 232 156 210 239 250 83 103 158 210 171 198
+ 101 163 172 163 59 111 170 55 184 229 175 72 109
+ 188 202 249 200 99 150 161 120 276}
+
+do_execsql_test 1.1.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.1.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.1.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 39 {} {} {} {}
+ {} {} {} 91 {} {} {} {} {} 77 54 54 {} {} {}
+ {} 62 {} {} {} {} {} 23 {} {} {} 97 86 {} 59
+ {} 84 {} {} 78 65 {} 16 90 81 {} 59 56 40 54
+ {} 85 {} {} {} {} 38 {} 32 47 {} 74 35 47 98
+ 96 {} 24 {} {} 29 12 46 36 53 {} 81 27 56 {}
+ {} 81 93 63 81 91 68 53 99 89 13 12 97 91 29
+ 7 7 78 35 84 53 84 58 61 91 99 15 61 98 16 5
+ 75 56 2 37 3 96 62 95 43 63 35 78 16 67 43 16
+ 16 90 72 98 85 56 90 46 29 29 4 74 74 2 76 41
+ 46 77 24 27 97 46 89 1 85 1 74 78 61 85 51 59
+ 35 30 56 25 47 28 73 6 73 74 93 43 3 56 47 85
+ 61 61 93 9 97 62}
+
+do_execsql_test 1.1.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 91 {} 11 {} {} {} {}
+ 11 {} {} {} {} {} {} {} {} {} 32 {} {} {} 32
+ {} {} 12 {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} {} {} {} {} {} {} 33 {} 43 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 47 {} {} {} {} {} {} {} {} {} 98 {} 98
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} 9 9 {} {} {}}
+
+do_execsql_test 1.1.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} 1 2 2 2 2 3 3 4 5 5 5 6 6 6 7 7 7 7
+ 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 12
+ 12 12 12 12 12 13 13 14 14 15 15 15 15 15 15
+ 16 16 16 16 16 16 17 17 17 17 19 19 19 19 20
+ 20 21 21 21 21 21 21 22 22 22 22 22 23 23 23
+ 24 25 25 26 26 27 27 27 27 27 27 29 29 29 30
+ 30 30 31 31 31 31 31 32 33 33 33 33 33 33 33
+ 33 33 33 33 34 34 34 34 34 34 34 35 35 36 36
+ 36 37 37 37 37 37 37 38 38 38 38 38 38 39 39
+ 39 39 39 40 41 41 41 41 41 42 43 43 43 43 43
+ 44 44 44 44 46 46 46 47 47 47 47 47 47 47 47
+ 47 47 47 49 49 49 50 51 51 51 52 52 52 53 53
+ 54 54 55 55}
+
+do_execsql_test 1.1.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 40 {} {} {} 40 41 50 {} {} {} {}
+ 50 {} {} {} 41 {} 10 91 61 {} 30 {} 10 61 30
+ {} {} 10 {} {} {} {} 1 {} 22 80 22 91 93 {}
+ {} 30 {} {} 91 {} 1 30 91 80 91 {} 43 {} 74
+ 21 20 {} {} 74 21 21 2 74 33 81 21 64 64 2 21
+ 93 62 14 14 3 91 11 24 55 93 93 62 90 91 55 3
+ 24 14 24 91 55 15 72 60 72 61 61 34 43 43 43
+ 61 12 4 15 15 51 51 12 23 12 12 25 41 25 13
+ 94 12 70 12 84 32 84 94 70 33 12 12 32 41 91
+ 70 22 33 84 80 31 75 84 53 75 80 84 80 53 53
+ 53 22 44 63 42 95 31 63 44 44 31 90 74 52 63
+ 31 63 1 42 90 90 95 3 42}
+
+do_execsql_test 1.1.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.1.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 81
+ 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
+ 81 81 81 81 81 62 62 62 62 62 62 62 62 62 62
+ 62 62 62 62 62 62 93 93 93 93 93 93 93 93 93
+ 93 93 93 93 93 93 93 93 93 93 93 93 54 54 54
+ 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54
+ 54 65 65 65 65 65 65 65 65 65 65 65 65 65 65
+ 65 65 65 65 65 65 65 96 96 96 96 96 96 96 96
+ 96 96 96 96 96 96 96 96 96 96 96 96 96 97 97
+ 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
+ 97 97 97 38 38 38 38 38 38 38 38 38 38 38 38
+ 38 38 38 38 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.1.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.1.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9}
+
+do_execsql_test 1.1.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90}
+
+do_execsql_test 1.1.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.1.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.1.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.1.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.1.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.1.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.1.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.1.14.1 {
+ SELECT string_agg(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {89 89.81 89.81.96 89.81.96.59 89.81.96.59.38 89.81.96.59.38.68
+ 89.81.96.59.38.68.39 89.81.96.59.38.68.39.62 89.81.96.59.38.68.39.62.91
+ 89.81.96.59.38.68.39.62.91.46 89.81.96.59.38.68.39.62.91.46.6
+ 89.81.96.59.38.68.39.62.91.46.6.99 89.81.96.59.38.68.39.62.91.46.6.99.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7}
+
+do_execsql_test 1.1.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {90 90.40 90.40.30 90.40.30.80 90.40.30.80.20 90.40.30.80.20.90
+ 90.40.30.80.20.90.60 90.40.30.80.20.90.60.70 90.40.30.80.20.90.60.70.80
+ 90.40.30.80.20.90.60.70.80.90 90.40.30.80.20.90.60.70.80.90.30
+ 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30 81 81.91 81.91.61
+ 81.91.61.91 81.91.61.91.91 81.91.61.91.91.1 81.91.61.91.91.1.81
+ 81.91.61.91.91.1.81.41 81.91.61.91.91.1.81.41.61
+ 81.91.61.91.91.1.81.41.61.1 81.91.61.91.91.1.81.41.61.1.21
+ 81.91.61.91.91.1.81.41.61.1.21.11 81.91.61.91.91.1.81.41.61.1.21.11.51
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21 62 62.12
+ 62.12.32 62.12.32.22 62.12.32.22.42 62.12.32.22.42.2
+ 62.12.32.22.42.2.72 62.12.32.22.42.2.72.12 62.12.32.22.42.2.72.12.22
+ 62.12.32.22.42.2.72.12.22.2 62.12.32.22.42.2.72.12.22.2.72
+ 62.12.32.22.42.2.72.12.22.2.72.72 62.12.32.22.42.2.72.12.22.2.72.72.12
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82 93 93.23 93.23.93
+ 93.23.93.43 93.23.93.43.3 93.23.93.43.3.43 93.23.93.43.3.43.33
+ 93.23.93.43.3.43.33.53 93.23.93.43.3.43.33.53.63
+ 93.23.93.43.3.43.33.53.63.73 93.23.93.43.3.43.33.53.63.73.13
+ 93.23.93.43.3.43.33.53.63.73.13.73 93.23.93.43.3.43.33.53.63.73.13.73.73
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83 54 54.84
+ 54.84.74 54.84.74.24 54.84.74.24.4 54.84.74.24.4.94
+ 54.84.74.24.4.94.84 54.84.74.24.4.94.84.74 54.84.74.24.4.94.84.74.34
+ 54.84.74.24.4.94.84.74.34.34 54.84.74.24.4.94.84.74.34.34.44
+ 54.84.74.24.4.94.84.74.34.34.44.74 54.84.74.24.4.94.84.74.34.34.44.74.64
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34 65 65.35
+ 65.35.85 65.35.85.85 65.35.85.85.55 65.35.85.85.55.15
+ 65.35.85.85.55.15.25 65.35.85.85.55.15.25.75 65.35.85.85.55.15.25.75.95
+ 65.35.85.85.55.15.25.75.95.65 65.35.85.85.55.15.25.75.95.65.65
+ 65.35.85.85.55.15.25.75.95.65.65.35 65.35.85.85.55.15.25.75.95.65.65.35.5
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95 96 96.46
+ 96.46.6 96.46.6.46 96.46.6.46.16 96.46.6.46.16.16
+ 96.46.6.46.16.16.86 96.46.6.46.16.16.86.56 96.46.6.46.16.16.86.56.56
+ 96.46.6.46.16.16.86.56.56.56 96.46.6.46.16.16.86.56.56.56.16
+ 96.46.6.46.16.16.86.56.56.56.16.36 96.46.6.46.16.16.86.56.56.56.16.36.76
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36 97 97.27
+ 97.27.97 97.27.97.67 97.27.97.67.77 97.27.97.67.77.47
+ 97.27.97.67.77.47.7 97.27.97.67.77.47.7.47 97.27.97.67.77.47.7.47.87
+ 97.27.97.67.77.47.7.47.87.37 97.27.97.67.77.47.7.47.87.37.87
+ 97.27.97.67.77.47.7.47.87.37.87.77 97.27.97.67.77.47.7.47.87.37.87.77.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7 38 38.68
+ 38.68.78 38.68.78.8 38.68.78.8.28 38.68.78.8.28.98
+ 38.68.78.8.28.98.78 38.68.78.8.28.98.78.58 38.68.78.8.28.98.78.58.98
+ 38.68.78.8.28.98.78.58.98.8 38.68.78.8.28.98.78.58.98.8.88
+ 38.68.78.8.28.98.78.58.98.8.88.8 38.68.78.8.28.98.78.58.98.8.88.8.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38 89 89.59 89.59.39
+ 89.59.39.99 89.59.39.99.29 89.59.39.99.29.59 89.59.39.99.29.59.89
+ 89.59.39.99.29.59.89.89 89.59.39.99.29.59.89.89.29
+ 89.59.39.99.29.59.89.89.29.9 89.59.39.99.29.59.89.89.29.9.79
+ 89.59.39.99.29.59.89.89.29.9.79.49 89.59.39.99.29.59.89.89.29.9.79.49.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.1.14.3 {
+ SELECT string_agg(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1.1 1.1.2 1.1.2.2 1.1.2.2.3 1.1.2.2.3.3 1.1.2.2.3.3.4
+ 1.1.2.2.3.3.4.5 1.1.2.2.3.3.4.5.6 1.1.2.2.3.3.4.5.6.7
+ 1.1.2.2.3.3.4.5.6.7.7 1.1.2.2.3.3.4.5.6.7.7.7 1.1.2.2.3.3.4.5.6.7.7.7.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99}
+
+do_execsql_test 1.1.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {10 10.20 10.20.30 10.20.30.30 10.20.30.30.30 10.20.30.30.30.40
+ 10.20.30.30.30.40.50 10.20.30.30.30.40.50.60 10.20.30.30.30.40.50.60.70
+ 10.20.30.30.30.40.50.60.70.80 10.20.30.30.30.40.50.60.70.80.80
+ 10.20.30.30.30.40.50.60.70.80.80.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90 1 1.1 1.1.11 1.1.11.11
+ 1.1.11.11.21 1.1.11.11.21.21 1.1.11.11.21.21.31 1.1.11.11.21.21.31.31
+ 1.1.11.11.21.21.31.31.41 1.1.11.11.21.21.31.31.41.41
+ 1.1.11.11.21.21.31.31.41.41.51 1.1.11.11.21.21.31.31.41.41.51.61
+ 1.1.11.11.21.21.31.31.41.41.51.61.61
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91 2 2.2
+ 2.2.12 2.2.12.12 2.2.12.12.12 2.2.12.12.12.22 2.2.12.12.12.22.22
+ 2.2.12.12.12.22.22.32 2.2.12.12.12.22.22.32.42
+ 2.2.12.12.12.22.22.32.42.52 2.2.12.12.12.22.22.32.42.52.62
+ 2.2.12.12.12.22.22.32.42.52.62.62 2.2.12.12.12.22.22.32.42.52.62.62.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82 3 3.3 3.3.13
+ 3.3.13.13 3.3.13.13.23 3.3.13.13.23.23 3.3.13.13.23.23.33
+ 3.3.13.13.23.23.33.33 3.3.13.13.23.23.33.33.33
+ 3.3.13.13.23.23.33.33.33.33 3.3.13.13.23.23.33.33.33.33.43
+ 3.3.13.13.23.23.33.33.33.33.43.43 3.3.13.13.23.23.33.33.33.33.43.43.53
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93 4 4.14
+ 4.14.24 4.14.24.34 4.14.24.34.34 4.14.24.34.34.34
+ 4.14.24.34.34.34.34 4.14.24.34.34.34.34.44 4.14.24.34.34.34.34.44.44
+ 4.14.24.34.34.34.34.44.44.54 4.14.24.34.34.34.34.44.44.54.64
+ 4.14.24.34.34.34.34.44.44.54.64.74 4.14.24.34.34.34.34.44.44.54.64.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94 5 5.15
+ 5.15.15 5.15.15.15 5.15.15.15.25 5.15.15.15.25.35
+ 5.15.15.15.25.35.35 5.15.15.15.25.35.35.55 5.15.15.15.25.35.35.55.55
+ 5.15.15.15.25.35.35.55.55.65 5.15.15.15.25.35.35.55.55.65.65
+ 5.15.15.15.25.35.35.55.55.65.65.65 5.15.15.15.25.35.35.55.55.65.65.65.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95 6 6.16
+ 6.16.16 6.16.16.16 6.16.16.16.26 6.16.16.16.26.26
+ 6.16.16.16.26.26.36 6.16.16.16.26.26.36.36 6.16.16.16.26.26.36.36.36
+ 6.16.16.16.26.26.36.36.36.36 6.16.16.16.26.26.36.36.36.36.46
+ 6.16.16.16.26.26.36.36.36.36.46.46 6.16.16.16.26.26.36.36.36.36.46.46.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96 7 7.7
+ 7.7.7 7.7.7.17 7.7.7.17.27 7.7.7.17.27.27 7.7.7.17.27.27.37
+ 7.7.7.17.27.27.37.37 7.7.7.17.27.27.37.37.47 7.7.7.17.27.27.37.37.47.47
+ 7.7.7.17.27.27.37.37.47.47.47 7.7.7.17.27.27.37.37.47.47.47.47
+ 7.7.7.17.27.27.37.37.47.47.47.47.57
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97 8 8.8 8.8.8
+ 8.8.8.28 8.8.8.28.38 8.8.8.28.38.38 8.8.8.28.38.38.58
+ 8.8.8.28.38.38.58.58 8.8.8.28.38.38.58.58.58 8.8.8.28.38.38.58.58.58.58
+ 8.8.8.28.38.38.58.58.58.58.68 8.8.8.28.38.38.58.58.58.58.68.78
+ 8.8.8.28.38.38.58.58.58.58.68.78.78
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98 9 9.9 9.9.9 9.9.9.19
+ 9.9.9.19.29 9.9.9.19.29.29 9.9.9.19.29.29.29 9.9.9.19.29.29.29.39
+ 9.9.9.19.29.29.29.39.39 9.9.9.19.29.29.29.39.39.39
+ 9.9.9.19.29.29.29.39.39.39.49 9.9.9.19.29.29.29.39.39.39.49.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99}
+
+do_execsql_test 1.1.14.5 {
+ SELECT string_agg(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {90 90.40 90.40.30 90.40.30.80 90.40.30.80.20 90.40.30.80.20.90
+ 90.40.30.80.20.90.60 90.40.30.80.20.90.60.70 90.40.30.80.20.90.60.70.80
+ 90.40.30.80.20.90.60.70.80.90 90.40.30.80.20.90.60.70.80.90.30
+ 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.1.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.1.14.7 {
+ SELECT string_agg(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.1.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.1.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.1.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 89 2 89 3 89.96 4 89.96 5 89.96.38 6 89.96.38 7 89.96.38.39
+ 8 89.96.38.39 9 89.96.38.39.91 10 89.96.38.39.91 11 89.96.38.39.91.6
+ 12 89.96.38.39.91.6 13 89.96.38.39.91.6.97 14 89.96.38.39.91.6.97
+ 15 89.96.38.39.91.6.97.46 16 89.96.38.39.91.6.97.46
+ 17 89.96.38.39.91.6.97.46.54 18 89.96.38.39.91.6.97.46.54
+ 19 89.96.38.39.91.6.97.46.54.8 20 89.96.38.39.91.6.97.46.54.8
+ 21 89.96.38.39.91.6.97.46.54.8.29 22 89.96.38.39.91.6.97.46.54.8.29
+ 23 89.96.38.39.91.6.97.46.54.8.29.84 24 89.96.38.39.91.6.97.46.54.8.29.84
+ 25 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 26 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 27 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 28 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 29 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 30 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 31 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 32 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 33 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 34 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 35 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 36 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 37 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 38 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 39 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 40 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 41 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 42 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 43 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 44 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 45 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 46 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 47 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 48 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 49 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 50 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 51 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 52 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 53 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 54 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 55 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 56 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 57 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 58 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 59 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 60 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 61 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 62 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 63 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 64 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 65 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 66 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 67 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 68 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 69 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 70 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 71 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 72 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 73 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 74 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 75 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 76 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 77 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 78 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 79 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 80 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 81 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 82 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 83 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 84 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 85 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 86 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 87 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 88 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 89 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 90 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 91 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 92 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 93 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 94 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 95 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 96 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 97 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 98 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 99 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 100 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 101 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 102 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 103 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 104 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 105 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 106 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 107 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 108 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 109 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 110 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 111 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 112 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 113 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 114 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 115 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 116 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 117 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 118 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 119 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 120 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 121 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 122 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 123 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 124 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 125 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 126 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 127 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 128 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 129 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 130 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 131 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 132 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 133 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 134 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 135 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 136 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 137 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 138 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 139 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 140 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 141 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 142 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 143 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 144 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 145 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 146 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 147 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 148 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 149 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 150 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 151 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 152 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 153 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 154 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 155 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 156 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 157 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 158 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 159 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 160 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 161 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 162 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 163 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 164 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 165 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 166 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 167 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 168 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 169 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 170 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 171 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 172 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 173 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 174 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 175 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 176 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 177 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 178 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 179 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 180 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 181 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 182 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 183 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 184 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 185 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 186 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 187 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83
+ 188 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83
+ 189 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7}
+
+do_execsql_test 1.1.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {}
+ 20 {} 21 {} 22 {} 23 {} 24 {} 25 {} 26 {} 27 {} 28 {}
+ 29 {} 30 {} 31 {} 32 {} 33 {} 34 {} 35 {} 36 {} 37 {}
+ 38 {} 39 {} 40 {} 41 {} 42 {} 43 {} 44 {} 45 {} 46 {}
+ 47 {} 48 {} 49 {} 50 {} 51 {} 52 {} 53 {} 54 {} 55 {}
+ 56 {} 57 {} 58 {} 59 {} 60 {} 61 {} 62 {} 63 {} 64 {}
+ 65 {} 66 {} 67 {} 68 {} 69 {} 70 {} 71 {} 72 {} 73 {}
+ 74 {} 75 {} 76 {} 77 {} 78 {} 79 {} 80 {} 81 {} 82 {}
+ 83 {} 84 {} 85 {} 86 {} 87 {} 88 {} 89 {} 90 {} 91 {}
+ 92 {} 93 {} 94 {} 95 {} 96 {} 97 {} 98 {} 99 {} 100 {}
+ 101 {} 102 {} 103 {} 104 {} 105 {} 106 {} 107 {} 108 {}
+ 109 {} 110 {} 111 {} 112 {} 113 {} 114 {} 115 {} 116 {}
+ 117 {} 118 {} 119 {} 120 {} 121 {} 122 {} 123 {} 124 {}
+ 125 {} 126 {} 127 {} 128 {} 129 {} 130 {} 131 {} 132 {}
+ 133 {} 134 {} 135 {} 136 {} 137 {} 138 {} 139 {} 140 {}
+ 141 {} 142 {} 143 {} 144 {} 145 {} 146 {} 147 {} 148 {}
+ 149 {} 150 {} 151 {} 152 {} 153 {} 154 {} 155 {} 156 {}
+ 157 {} 158 {} 159 {} 160 {} 161 {} 162 {} 163 {} 164 {}
+ 165 {} 166 {} 167 {} 168 {} 169 {} 170 {} 171 {} 172 {}
+ 173 {} 174 {} 175 {} 176 {} 177 {} 178 {} 179 {} 180 {}
+ 181 {} 182 {} 183 {} 184 {} 185 {} 186 {} 187 {} 188 {}
+ 189 {} 190 {} 191 {}}
+
+do_execsql_test 1.1.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {}
+ 20 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {}}
+
+do_execsql_test 1.1.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 89 2 89.6 3 89.6.29 4 89.6.29.47 5 89.6.29.47.59
+ 6 89.6.29.47.59.28 7 89.6.29.47.59.28.75 8 89.6.29.47.59.28.75.78
+ 9 89.6.29.47.59.28.75.78.72 10 89.6.29.47.59.28.75.78.72.98
+ 11 89.6.29.47.59.28.75.78.72.98.87 12 89.6.29.47.59.28.75.78.72.98.87.73
+ 13 89.6.29.47.59.28.75.78.72.98.87.73.96
+ 14 89.6.29.47.59.28.75.78.72.98.87.73.96.74
+ 15 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90
+ 16 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75
+ 17 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91
+ 18 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69
+ 19 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 96 2 96.97
+ 3 96.97.84 4 96.97.84.86 5 96.97.84.86.32 6 96.97.84.86.32.25
+ 7 96.97.84.86.32.25.89 8 96.97.84.86.32.25.89.29
+ 9 96.97.84.86.32.25.89.29.9 10 96.97.84.86.32.25.89.29.9.21
+ 11 96.97.84.86.32.25.89.29.9.21.12 12 96.97.84.86.32.25.89.29.9.21.12.88
+ 13 96.97.84.86.32.25.89.29.9.21.12.88.55
+ 14 96.97.84.86.32.25.89.29.9.21.12.88.55.70
+ 15 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58
+ 16 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81
+ 17 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91
+ 18 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 38 2 38.46
+ 3 38.46.23 4 38.46.23.61 5 38.46.23.61.3 6 38.46.23.61.3.1
+ 7 38.46.23.61.3.1.76 8 38.46.23.61.3.1.76.63 9 38.46.23.61.3.1.76.63.73
+ 10 38.46.23.61.3.1.76.63.73.65 11 38.46.23.61.3.1.76.63.73.65.20
+ 12 38.46.23.61.3.1.76.63.73.65.20.8
+ 13 38.46.23.61.3.1.76.63.73.65.20.8.77
+ 14 38.46.23.61.3.1.76.63.73.65.20.8.77.19
+ 15 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9
+ 16 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23
+ 17 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15
+ 18 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 39 2 39.54
+ 3 39.54.16 4 39.54.16.85 5 39.54.16.85.22 6 39.54.16.85.22.40
+ 7 39.54.16.85.22.40.4 8 39.54.16.85.22.40.4.87
+ 9 39.54.16.85.22.40.4.87.65 10 39.54.16.85.22.40.4.87.65.5
+ 11 39.54.16.85.22.40.4.87.65.5.31 12 39.54.16.85.22.40.4.87.65.5.31.49
+ 13 39.54.16.85.22.40.4.87.65.5.31.49.2
+ 14 39.54.16.85.22.40.4.87.65.5.31.49.2.26
+ 15 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72
+ 16 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13
+ 17 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36
+ 18 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 91 2 91.8
+ 3 91.8.65 4 91.8.65.85 5 91.8.65.85.55 6 91.8.65.85.55.56
+ 7 91.8.65.85.55.56.42 8 91.8.65.85.55.56.42.80
+ 9 91.8.65.85.55.56.42.80.58 10 91.8.65.85.55.56.42.80.58.11
+ 11 91.8.65.85.55.56.42.80.58.11.95 12 91.8.65.85.55.56.42.80.58.11.95.90
+ 13 91.8.65.85.55.56.42.80.58.11.95.90.85
+ 14 91.8.65.85.55.56.42.80.58.11.95.90.85.47
+ 15 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33
+ 16 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14
+ 17 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3
+ 18 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {}}
+
+do_execsql_test 1.2.2.1 {
+ SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.2.2.2 {
+ SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.2.3.1 {
+ SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.2.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.2.3.3 {
+ SELECT row_number() OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.2.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.2.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.2.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.2.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.2.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.2.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.2.5.1 {
+ SELECT rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.2.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.2.5.3 {
+ SELECT rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.2.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.2.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.2.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.2.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.2.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.2.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.2.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207}
+
+do_execsql_test 1.2.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 223 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 210 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 279 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 212 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 232
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.2.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.2.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 252 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 171
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 226 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 124 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 198
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.2.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.2.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.2.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 41 5 16 85 42 43 89 1 22 39 51 73 93 22 80
+ 1 73 91 94 35 74 73 37 77 54 54 74 81 91 90
+ 62 65 63 36 1 95 23 95 56 16 97 86 40 59 1 84
+ 98 56 78 65 96 16 90 81 40 59 56 40 54 2 85
+ 96 11 87 41 38 65 32 47 80 74 35 47 98 96 13
+ 24 72 73 29 12 46 36 53 35 81 27 56 5 11 81
+ 93 63 81 91 68 53 99 89 13 12 97 91 29 7 7 78
+ 35 84 53 84 58 61 91 99 15 61 98 16 5 75 56 2
+ 37 3 96 62 95 43 63 35 78 16 67 43 16 16 90
+ 72 98 85 56 90 46 29 29 4 74 74 2 76 41 46 77
+ 24 27 97 46 89 1 85 1 74 78 61 85 51 59 35 30
+ 56 25 47 28 73 6 73 74 93 43 3 56 47 85 61 61
+ 93 9 97 62}
+
+do_execsql_test 1.2.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 91 {} 11 {} {} {} {}
+ 11 {} {} {} {} {} 12 {} {} {} 32 {} 12 {} 32
+ {} {} 12 {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 33 {} {} {} {} {} 33 {} 43 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} 34 {} {} {} {}
+ {} {} {} {} {} {} 55 {} {} {} {} {} {} 15 55
+ {} {} {} {} {} 55 {} {} {} 86 {} 26 26 {} {}
+ {} {} 26 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 47 {} {} {} {} {} 47 {} {} {} {}
+ {} 27 47 {} {} {} 98 {} {} {} {} {} 98 {} 98
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} 99 {} 9 9 {} {} {}}
+
+do_execsql_test 1.2.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 2 2 3 3 4 5 5 5 6 6 6 7 7 7 7
+ 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 12
+ 12 12 12 12 12 13 13 14 14 15 15 15 15 15 15
+ 16 16 16 16 16 16 17 17 17 17 19 19 19 19 20
+ 20 21 21 21 21 21 21 22 22 22 22 22 23 23 23
+ 24 25 25 26 26 27 27 27 27 27 27 29 29 29 30
+ 30 30 31 31 31 31 31 32 33 33 33 33 33 33 33
+ 33 33 33 33 34 34 34 34 34 34 34 35 35 36 36
+ 36 37 37 37 37 37 37 38 38 38 38 38 38 39 39
+ 39 39 39 40 41 41 41 41 41 42 43 43 43 43 43
+ 44 44 44 44 46 46 46 47 47 47 47 47 47 47 47
+ 47 47 47 49 49 49 50 51 51 51 52 52 52 53 53
+ 54 54 55 55}
+
+do_execsql_test 1.2.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1 1
+ 61 61 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 12 12 72 72 72 {} {} {} {} {} {}
+ {} {} {} {} {} 13 13 63 63 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 34 84 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 35 85 85 85 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 36 76 76 76 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 37 37 37
+ 87 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} 58 58 58 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 39 39 39 89 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 2 11 34 81 34 73 33 34 34 11 82 30 11 34
+ 65 13 65 65 40 34 72 13 40 41 50 93 72 81 81
+ 50 34 65 65 41 73 10 91 61 12 30 54 10 61 30
+ 54 54 10 73 23 44 85 1 85 22 80 22 91 93 73
+ 84 30 84 84 91 85 1 30 91 80 91 74 43 64 74
+ 21 20 85 64 74 21 21 2 74 33 81 21 64 64 2 21
+ 93 62 14 14 3 91 11 24 55 93 93 62 90 91 55 3
+ 24 14 24 91 55 15 72 60 72 61 61 34 43 43 43
+ 61 12 4 15 15 51 51 12 23 12 12 25 41 25 13
+ 94 12 70 12 84 32 84 94 70 33 12 12 32 41 91
+ 70 22 33 84 80 31 75 84 53 75 80 84 80 53 53
+ 53 22 44 63 42 95 31 63 44 44 31 90 74 52 63
+ 31 63 1 42 90 90 95 3 42}
+
+do_execsql_test 1.2.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.2.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 81
+ 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
+ 81 81 81 81 81 62 62 62 62 62 62 62 62 62 62
+ 62 62 62 62 62 62 93 93 93 93 93 93 93 93 93
+ 93 93 93 93 93 93 93 93 93 93 93 93 54 54 54
+ 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54
+ 54 65 65 65 65 65 65 65 65 65 65 65 65 65 65
+ 65 65 65 65 65 65 65 96 96 96 96 96 96 96 96
+ 96 96 96 96 96 96 96 96 96 96 96 96 96 97 97
+ 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
+ 97 97 97 38 38 38 38 38 38 38 38 38 38 38 38
+ 38 38 38 38 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.2.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.2.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9}
+
+do_execsql_test 1.2.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90}
+
+do_execsql_test 1.2.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.2.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.2.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.2.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.2.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.2.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.2.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.2.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7}
+
+do_execsql_test 1.2.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.2.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99}
+
+do_execsql_test 1.2.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99}
+
+do_execsql_test 1.2.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.2.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.2.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.2.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.2.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.2.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7}
+
+do_execsql_test 1.2.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}}
+
+do_execsql_test 1.2.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {}
+ 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {}
+ 20 {} 20 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {}}
+
+do_execsql_test 1.2.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}}
+
+do_execsql_test 1.3.2.1 {
+ SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.3.2.2 {
+ SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.3.3.1 {
+ SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.3.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.3.3.3 {
+ SELECT row_number() OVER ( RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.3.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.3.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.3.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.3.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.3.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.3.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.3.5.1 {
+ SELECT rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.3.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.3.5.3 {
+ SELECT rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.3.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.3.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.3.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.3.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.3.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.3.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.3.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {99 92 108 72 52 83 55 79 109 65 26 120 119 50
+ 70 103 80 124 36 96 59 124 116 110 57 51 52 130
+ 103 74 87 48 128 117 105 136 131 71 133 92 109 63
+ 84 109 57 146 78 147 113 74 88 150 87 110 65 121
+ 106 110 124 85 145 107 161 171 150 156 80 171 120
+ 109 158 114 111 136 147 87 173 124 168 173 162 132
+ 101 154 167 190 161 110 156 195 198 102 123 177 169
+ 140 111 180 119 160 197 152 124 121 134 146 147 132
+ 213 141 193 200 210 157 132 136 175 161 218 188 226
+ 191 187 208 211 179 138 144 223 196 214 170 212 202
+ 163 184 172 173 195 229 240 187 210 200 163 227 228
+ 223 191 252 235 225 243 172 187 202 179 179 182 231
+ 261 207 263 206 189 209 212 276 181 274 249 239 234
+ 213 234 269 196 271 221 210 229 235 250 223 232 229
+ 279 224 280 216 207}
+
+do_execsql_test 1.3.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.3.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {65 102 87 138 57 181 80 111 26 48 144 207 36 121
+ 132 101 163 172 196 119 136 63 124 179 110 179 182
+ 74 132 189 51 52 85 216 163 134 123 210 78 141 57
+ 187 71 87 172 173 50 224 88 59 111 170 109 213
+ 223 146 147 84 114 191 206 221 157 161 209 229 74
+ 140 107 187 207 212 124 202 52 232 55 184 229 106
+ 132 152 120 92 110 179 235 65 70 87 110 195 200
+ 175 234 160 234 136 80 113 187 109 121 124 196 156
+ 210 239 250 72 109 188 202 191 105 154 79 231 147
+ 225 103 161 169 223 96 83 249 212 162 227 228 167
+ 180 193 117 177 214 145 208 235 150 110 211 103 158
+ 200 168 229 92 156 243 280 279 116 173 269 271 131
+ 133 223 128 173 197 210 99 150 161 147 218 240 109
+ 136 146 261 263 124 130 252 171 190 213 274 108 195
+ 226 119 124 171 198 120 276}
+
+do_execsql_test 1.3.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {196 134 109 213 223 106 234 191 212 168 229 147 218
+ 240 65 102 119 136 123 210 146 147 132 152 160 105
+ 154 92 156 243 109 136 146 261 263 87 138 63 124
+ 179 78 141 84 120 234 79 231 162 227 228 280 57
+ 181 110 179 57 187 114 191 206 221 92 110 136 147
+ 167 180 193 279 124 130 252 80 182 71 157 161 209
+ 229 179 235 80 225 117 177 214 116 173 269 271 171
+ 111 74 132 189 87 74 140 113 187 103 161 169 145
+ 208 235 131 133 223 190 213 274 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 128
+ 108 195 226 48 144 207 216 50 224 124 202 87 110
+ 195 200 196 96 110 211 173 197 119 124 36 121 132
+ 88 52 232 156 210 239 250 83 103 158 210 171 198
+ 101 163 172 163 59 111 170 55 184 229 175 72 109
+ 188 202 249 200 99 150 161 120 276}
+
+do_execsql_test 1.3.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.3.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.3.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.3.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.3.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.3.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.3.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.3.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.3.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.3.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.3.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.3.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.3.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.3.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.3.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.3.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.3.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.3.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.3.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.3.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.3.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.3.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.3.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.3.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 89 1 {} 1 96 1 {} 1 38 1 {} 1 39 1 {} 1 91 1 {} 1 6
+ 1 {} 1 97 1 {} 1 46 1 {} 1 54 1 {} 1 8 1 {} 1 29 1 {}
+ 1 84 1 {} 1 23 1 {} 1 16 1 {} 1 65 1 {} 1 47 1 {} 1 86
+ 1 {} 1 61 1 {} 1 85 1 {} 1 85 1 {} 1 59 1 {} 1 32 1 {}
+ 1 3 1 {} 1 22 1 {} 1 55 1 {} 1 28 1 {} 1 25 1 {} 1 1
+ 1 {} 1 40 1 {} 1 56 1 {} 1 75 1 {} 1 89 1 {} 1 76 1 {}
+ 1 4 1 {} 1 42 1 {} 1 78 1 {} 1 29 1 {} 1 63 1 {} 1 87
+ 1 {} 1 80 1 {} 1 72 1 {} 1 9 1 {} 1 73 1 {} 1 65 1 {}
+ 1 58 1 {} 1 98 1 {} 1 21 1 {} 1 65 1 {} 1 5 1 {} 1 11
+ 1 {} 1 87 1 {} 1 12 1 {} 1 20 1 {} 1 31 1 {} 1 95 1 {}
+ 1 73 1 {} 1 88 1 {} 1 8 1 {} 1 49 1 {} 1 90 1 {} 1 96
+ 1 {} 1 55 1 {} 1 77 1 {} 1 2 1 {} 1 85 1 {} 1 74 1 {}
+ 1 70 1 {} 1 19 1 {} 1 26 1 {} 1 47 1 {} 1 90 1 {} 1 58
+ 1 {} 1 9 1 {} 1 72 1 {} 1 33 1 {} 1 75 1 {} 1 81 1 {}
+ 1 23 1 {} 1 13 1 {} 1 14 1 {} 1 91 1 {} 1 91 1 {} 1 15
+ 1 {} 1 36 1 {} 1 3 1 {} 1 69 1 {} 1 52 1 {} 1 50 1 {}
+ 1 10 1 {} 1 33 1 {} 1 39 1 {} 1 58 1 {} 1 38 1 {} 1 83
+ 1 {} 1 82 1 {} 1 7}
+
+do_execsql_test 1.3.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {}}
+
+do_execsql_test 1.3.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {}}
+
+do_execsql_test 1.3.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 89 1 6 1 29 1 47 1 59 1 28 1 75 1 78 1 72 1 98 1 87
+ 1 73 1 96 1 74 1 90 1 75 1 91 1 69 1 39 1 7 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 96 1 97 1 84 1 86 1 32
+ 1 25 1 89 1 29 1 9 1 21 1 12 1 88 1 55 1 70 1 58 1 81
+ 1 91 1 52 1 58 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 38 1 46 1 23 1 61 1 3 1 1 1 76 1 63 1 73 1 65 1 20
+ 1 8 1 77 1 19 1 9 1 23 1 15 1 50 1 38 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 39 1 54 1 16 1 85 1 22 1 40
+ 1 4 1 87 1 65 1 5 1 31 1 49 1 2 1 26 1 72 1 13 1 36
+ 1 10 1 83 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 91
+ 1 8 1 65 1 85 1 55 1 56 1 42 1 80 1 58 1 11 1 95 1 90
+ 1 85 1 47 1 33 1 14 1 3 1 33 1 82 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {}}
+
+do_execsql_test 1.4.2.1 {
+ SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 95 95 84 84 84 84 84 84 84 84 83 83
+ 83 83 83 83 83 83 83 82 82 17 7}
+
+do_execsql_test 1.4.2.2 {
+ SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7}
+
+do_execsql_test 1.4.3.1 {
+ SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.4.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.4.3.3 {
+ SELECT row_number() OVER ( RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.4.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.4.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.4.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.4.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.4.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.4.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.4.5.1 {
+ SELECT rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.4.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.4.5.3 {
+ SELECT rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.4.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.4.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.4.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.4.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.4.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.4.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.4.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207}
+
+do_execsql_test 1.4.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 223 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 210 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 279 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 212 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 232
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.4.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.4.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 252 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 171
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 226 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 124 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 198
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.4.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.4.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.4.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.4.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.4.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.4.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.4.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.4.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.4.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.4.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.4.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.4.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.4.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.4.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.4.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.4.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.21.39.44.58.30.38.34.83.27.82.17.7 21.39.44.58.30.38.34.83.27.82.17.7
+ 39.44.58.30.38.34.83.27.82.17.7 44.58.30.38.34.83.27.82.17.7
+ 58.30.38.34.83.27.82.17.7 30.38.34.83.27.82.17.7 38.34.83.27.82.17.7
+ 34.83.27.82.17.7 83.27.82.17.7 27.82.17.7 82.17.7 17.7 7}
+
+do_execsql_test 1.4.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 40.30.80.20.90.60.70.80.90.30.50.10.30
+ 30.80.20.90.60.70.80.90.30.50.10.30 80.20.90.60.70.80.90.30.50.10.30
+ 20.90.60.70.80.90.30.50.10.30 90.60.70.80.90.30.50.10.30
+ 60.70.80.90.30.50.10.30 70.80.90.30.50.10.30 80.90.30.50.10.30
+ 90.30.50.10.30 30.50.10.30 50.10.30 10.30 30
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.1.21.11.51.41.31.31.11.81.91.91.21 1.21.11.51.41.31.31.11.81.91.91.21
+ 21.11.51.41.31.31.11.81.91.91.21 11.51.41.31.31.11.81.91.91.21
+ 51.41.31.31.11.81.91.91.21 41.31.31.11.81.91.91.21 31.31.11.81.91.91.21
+ 31.11.81.91.91.21 11.81.91.91.21 81.91.91.21 91.91.21 91.21 21
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 22.42.2.72.12.22.2.72.72.12.62.52.82 42.2.72.12.22.2.72.72.12.62.52.82
+ 2.72.12.22.2.72.72.12.62.52.82 72.12.22.2.72.72.12.62.52.82
+ 12.22.2.72.72.12.62.52.82 22.2.72.72.12.62.52.82 2.72.72.12.62.52.82
+ 72.72.12.62.52.82 72.12.62.52.82 12.62.52.82 62.52.82 52.82 82
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 63.73.13.73.73.33.93.23.13.33.3.33.83 73.13.73.73.33.93.23.13.33.3.33.83
+ 13.73.73.33.93.23.13.33.3.33.83 73.73.33.93.23.13.33.3.33.83
+ 73.33.93.23.13.33.3.33.83 33.93.23.13.33.3.33.83 93.23.13.33.3.33.83
+ 23.13.33.3.33.83 13.33.3.33.83 33.3.33.83 3.33.83 33.83 83
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.34.34.44.74.64.14.34.84.84.44.34 34.34.44.74.64.14.34.84.84.44.34
+ 34.44.74.64.14.34.84.84.44.34 44.74.64.14.34.84.84.44.34
+ 74.64.14.34.84.84.44.34 64.14.34.84.84.44.34 14.34.84.84.44.34
+ 34.84.84.44.34 84.84.44.34 84.44.34 44.34 34
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 95.65.65.35.5.15.95.55.75.85.75.15.95 65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.5.15.95.55.75.85.75.15.95 35.5.15.95.55.75.85.75.15.95
+ 5.15.95.55.75.85.75.15.95 15.95.55.75.85.75.15.95 95.55.75.85.75.15.95
+ 55.75.85.75.15.95 75.85.75.15.95 85.75.15.95 75.15.95 15.95 95
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.16.36.76.96.96.26.26.36.66.36.36 16.36.76.96.96.26.26.36.66.36.36
+ 36.76.96.96.26.26.36.66.36.36 76.96.96.26.26.36.66.36.36
+ 96.96.26.26.36.66.36.36 96.26.26.36.66.36.36 26.26.36.66.36.36
+ 26.36.66.36.36 36.66.36.36 66.36.36 36.36 36
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.87.37.87.77.7.57.47.47.37.27.17.7 87.37.87.77.7.57.47.47.37.27.17.7
+ 37.87.77.7.57.47.47.37.27.17.7 87.77.7.57.47.47.37.27.17.7
+ 77.7.57.47.47.37.27.17.7 7.57.47.47.37.27.17.7 57.47.47.37.27.17.7
+ 47.47.37.27.17.7 47.37.27.17.7 37.27.17.7 27.17.7 17.7 7
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 8.28.98.78.58.98.8.88.8.58.58.58.38 28.98.78.58.98.8.88.8.58.58.58.38
+ 98.78.58.98.8.88.8.58.58.58.38 78.58.98.8.88.8.58.58.58.38
+ 58.98.8.88.8.58.58.58.38 98.8.88.8.58.58.58.38 8.88.8.58.58.58.38
+ 88.8.58.58.58.38 8.58.58.58.38 58.58.58.38 58.58.38 58.38 38
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39}
+
+do_execsql_test 1.4.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.96.97.97.98.98.99.99
+ 95.95.95.96.96.96.97.97.98.98.99.99 95.95.96.96.96.97.97.98.98.99.99
+ 95.96.96.96.97.97.98.98.99.99 96.96.96.97.97.98.98.99.99
+ 96.96.97.97.98.98.99.99 96.97.97.98.98.99.99 97.97.98.98.99.99
+ 97.98.98.99.99 98.98.99.99 98.99.99 99.99 99}
+
+do_execsql_test 1.4.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 20.30.30.30.40.50.60.70.80.80.90.90.90
+ 30.30.30.40.50.60.70.80.80.90.90.90 30.30.40.50.60.70.80.80.90.90.90
+ 30.40.50.60.70.80.80.90.90.90 40.50.60.70.80.80.90.90.90
+ 50.60.70.80.80.90.90.90 60.70.80.80.90.90.90 70.80.80.90.90.90
+ 80.80.90.90.90 80.90.90.90 90.90.90 90.90 90
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.51.61.61.81.81.81.91.91.91.91.91 51.61.61.81.81.81.91.91.91.91.91
+ 61.61.81.81.81.91.91.91.91.91 61.81.81.81.91.91.91.91.91
+ 81.81.81.91.91.91.91.91 81.81.91.91.91.91.91 81.91.91.91.91.91
+ 91.91.91.91.91 91.91.91.91 91.91.91 91.91 91
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.22.22.32.42.52.62.62.72.72.72.82 22.22.32.42.52.62.62.72.72.72.82
+ 22.32.42.52.62.62.72.72.72.82 32.42.52.62.62.72.72.72.82
+ 42.52.62.62.72.72.72.82 52.62.62.72.72.72.82 62.62.72.72.72.82
+ 62.72.72.72.82 72.72.72.82 72.72.82 72.82 82
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.43.43.53.63.73.73.73.83.93.93.93 43.43.53.63.73.73.73.83.93.93.93
+ 43.53.63.73.73.73.83.93.93.93 53.63.73.73.73.83.93.93.93
+ 63.73.73.73.83.93.93.93 73.73.73.83.93.93.93 73.73.83.93.93.93
+ 73.83.93.93.93 83.93.93.93 93.93.93 93.93 93
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.64.74.74.74.84.84.84.84.94
+ 44.44.54.64.74.74.74.84.84.84.84.94 44.54.64.74.74.74.84.84.84.84.94
+ 54.64.74.74.74.84.84.84.84.94 64.74.74.74.84.84.84.84.94
+ 74.74.74.84.84.84.84.94 74.74.84.84.84.84.94 74.84.84.84.84.94
+ 84.84.84.84.94 84.84.84.94 84.84.94 84.94 94
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.75.85.85.85.95.95.95
+ 65.65.65.75.75.75.85.85.85.95.95.95 65.65.75.75.75.85.85.85.95.95.95
+ 65.75.75.75.85.85.85.95.95.95 75.75.75.85.85.85.95.95.95
+ 75.75.85.85.85.95.95.95 75.85.85.85.95.95.95 85.85.85.95.95.95
+ 85.85.95.95.95 85.95.95.95 95.95.95 95.95 95
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.46.46.56.56.56.66.76.86.96.96.96 46.46.56.56.56.66.76.86.96.96.96
+ 46.56.56.56.66.76.86.96.96.96 56.56.56.66.76.86.96.96.96
+ 56.56.66.76.86.96.96.96 56.66.76.86.96.96.96 66.76.86.96.96.96
+ 76.86.96.96.96 86.96.96.96 96.96.96 96.96 96
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.47.57.67.77.77.87.87.97.97
+ 47.47.47.47.57.67.77.77.87.87.97.97 47.47.47.57.67.77.77.87.87.97.97
+ 47.47.57.67.77.77.87.87.97.97 47.57.67.77.77.87.87.97.97
+ 57.67.77.77.87.87.97.97 67.77.77.87.87.97.97 77.77.87.87.97.97
+ 77.87.87.97.97 87.87.97.97 87.97.97 97.97 97
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 28.38.38.58.58.58.58.68.78.78.88.98.98
+ 38.38.58.58.58.58.68.78.78.88.98.98 38.58.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.68.78.78.88.98.98 58.58.58.68.78.78.88.98.98
+ 58.58.68.78.78.88.98.98 58.68.78.78.88.98.98 68.78.78.88.98.98
+ 78.78.88.98.98 78.88.98.98 88.98.98 98.98 98
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.59.69.79.89.89.89.99.99
+ 49.59.59.59.59.69.79.89.89.89.99.99 59.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.69.79.89.89.89.99.99 59.59.69.79.89.89.89.99.99
+ 59.69.79.89.89.89.99.99 69.79.89.89.89.99.99 79.89.89.89.99.99
+ 89.89.89.99.99 89.89.99.99 89.99.99 99.99 99}
+
+do_execsql_test 1.4.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39}
+
+do_execsql_test 1.4.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.4.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.4.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.4.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.4.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 189 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 188 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 3.69.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 69.52.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 52.50.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 50.10.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 10.33.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 33.39.58.38.83.82.7 13 33.39.58.38.83.82.7 12 39.58.38.83.82.7
+ 11 39.58.38.83.82.7 10 58.38.83.82.7 9 58.38.83.82.7 8 38.83.82.7
+ 7 38.83.82.7 6 83.82.7 5 83.82.7 4 82.7 3 82.7 2 7 1 7}
+
+do_execsql_test 1.4.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {191 {} 190 {} 189 {} 188 {} 187 {} 186 {} 185 {} 184 {}
+ 183 {} 182 {} 181 {} 180 {} 179 {} 178 {} 177 {} 176 {}
+ 175 {} 174 {} 173 {} 172 {} 171 {} 170 {} 169 {} 168 {}
+ 167 {} 166 {} 165 {} 164 {} 163 {} 162 {} 161 {} 160 {}
+ 159 {} 158 {} 157 {} 156 {} 155 {} 154 {} 153 {} 152 {}
+ 151 {} 150 {} 149 {} 148 {} 147 {} 146 {} 145 {} 144 {}
+ 143 {} 142 {} 141 {} 140 {} 139 {} 138 {} 137 {} 136 {}
+ 135 {} 134 {} 133 {} 132 {} 131 {} 130 {} 129 {} 128 {}
+ 127 {} 126 {} 125 {} 124 {} 123 {} 122 {} 121 {} 120 {}
+ 119 {} 118 {} 117 {} 116 {} 115 {} 114 {} 113 {} 112 {}
+ 111 {} 110 {} 109 {} 108 {} 107 {} 106 {} 105 {} 104 {}
+ 103 {} 102 {} 101 {} 100 {} 99 {} 98 {} 97 {} 96 {} 95 {}
+ 94 {} 93 {} 92 {} 91 {} 90 {} 89 {} 88 {} 87 {} 86 {}
+ 85 {} 84 {} 83 {} 82 {} 81 {} 80 {} 79 {} 78 {} 77 {}
+ 76 {} 75 {} 74 {} 73 {} 72 {} 71 {} 70 {} 69 {} 68 {}
+ 67 {} 66 {} 65 {} 64 {} 63 {} 62 {} 61 {} 60 {} 59 {}
+ 58 {} 57 {} 56 {} 55 {} 54 {} 53 {} 52 {} 51 {} 50 {}
+ 49 {} 48 {} 47 {} 46 {} 45 {} 44 {} 43 {} 42 {} 41 {}
+ 40 {} 39 {} 38 {} 37 {} 36 {} 35 {} 34 {} 33 {} 32 {}
+ 31 {} 30 {} 29 {} 28 {} 27 {} 26 {} 25 {} 24 {} 23 {}
+ 22 {} 21 {} 20 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {}
+ 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {}
+ 3 {} 2 {} 1 {}}
+
+do_execsql_test 1.4.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {20 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {}}
+
+do_execsql_test 1.4.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 18 29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 17 47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 16 59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 14 75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 13 78.72.98.87.73.96.74.90.75.91.69.39.7
+ 12 72.98.87.73.96.74.90.75.91.69.39.7 11 98.87.73.96.74.90.75.91.69.39.7
+ 10 87.73.96.74.90.75.91.69.39.7 9 73.96.74.90.75.91.69.39.7
+ 8 96.74.90.75.91.69.39.7 7 74.90.75.91.69.39.7 6 90.75.91.69.39.7
+ 5 75.91.69.39.7 4 91.69.39.7 3 69.39.7 2 39.7 1 7 19 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 17 84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 16 86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 15 32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 14 25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 13 89.29.9.21.12.88.55.70.58.81.91.52.58
+ 12 29.9.21.12.88.55.70.58.81.91.52.58 11 9.21.12.88.55.70.58.81.91.52.58
+ 10 21.12.88.55.70.58.81.91.52.58 9 12.88.55.70.58.81.91.52.58
+ 8 88.55.70.58.81.91.52.58 7 55.70.58.81.91.52.58 6 70.58.81.91.52.58
+ 5 58.81.91.52.58 4 81.91.52.58 3 91.52.58 2 52.58 1 58 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 17 23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 16 61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 15 3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 14 1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 13 76.63.73.65.20.8.77.19.9.23.15.50.38
+ 12 63.73.65.20.8.77.19.9.23.15.50.38 11 73.65.20.8.77.19.9.23.15.50.38
+ 10 65.20.8.77.19.9.23.15.50.38 9 20.8.77.19.9.23.15.50.38
+ 8 8.77.19.9.23.15.50.38 7 77.19.9.23.15.50.38 6 19.9.23.15.50.38
+ 5 9.23.15.50.38 4 23.15.50.38 3 15.50.38 2 50.38 1 38 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 17 16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 16 85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 15 22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 14 40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 13 4.87.65.5.31.49.2.26.72.13.36.10.83
+ 12 87.65.5.31.49.2.26.72.13.36.10.83 11 65.5.31.49.2.26.72.13.36.10.83
+ 10 5.31.49.2.26.72.13.36.10.83 9 31.49.2.26.72.13.36.10.83
+ 8 49.2.26.72.13.36.10.83 7 2.26.72.13.36.10.83 6 26.72.13.36.10.83
+ 5 72.13.36.10.83 4 13.36.10.83 3 36.10.83 2 10.83 1 83 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 17 65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 16 85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 15 55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 14 56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 13 42.80.58.11.95.90.85.47.33.14.3.33.82
+ 12 80.58.11.95.90.85.47.33.14.3.33.82 11 58.11.95.90.85.47.33.14.3.33.82
+ 10 11.95.90.85.47.33.14.3.33.82 9 95.90.85.47.33.14.3.33.82
+ 8 90.85.47.33.14.3.33.82 7 85.47.33.14.3.33.82 6 47.33.14.3.33.82
+ 5 33.14.3.33.82 4 14.3.33.82 3 3.33.82 2 33.82 1 82 19 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}}
+
+do_execsql_test 1.5.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 89 89 96 96 96 96 96 96 96 96 96
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.5.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 89 81 81 59 38 38 38 38 38 38 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 3 3 3 3 3 3
+ 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1}
+
+do_execsql_test 1.5.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.5.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.5.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.5.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.5.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.5.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.5.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.5.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.5.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.5.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.5.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.5.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.5.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.5.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.5.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.5.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.5.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.5.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.5.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 99 92 108 72 52 83 55 79 109 65 26
+ 120 119 50 70 103 80 124 36 96 59 124 116 110 57
+ 51 52 130 103 74 87 48 128 117 105 136 131 71 133
+ 92 109 63 84 109 57 146 78 147 113 74 88 150 87
+ 110 65 121 106 110 124 85 145 107 161 171 150 156
+ 80 171 120 109 158 114 111 136 147 87 173 124 168
+ 173 162 132 101 154 167 190 161 110 156 195 198 102
+ 123 177 169 140 111 180 119 160 197 152 124 121 134
+ 146 147 132 213 141 193 200 210 157 132 136 175 161
+ 218 188 226 191 187 208 211 179 138 144 223 196 214
+ 170 212 202 163 184 172 173 195 229 240 187 210 200
+ 163 227 228 223 191 252 235 225 243 172 187 202 179
+ 179 182 231 261 207 263 206 189 209 212 276 181 274
+ 249 239 234 213 234 269 196 271 221 210 229 235 250
+ 223 232 229 279}
+
+do_execsql_test 1.5.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 147 106 109 168 134 218 191 212 229
+ 240 {} {} {} {} 92 109 105 136 146 65 156 132 154
+ 102 123 119 160 152 146 147 136 {} {} {} {} 79 63
+ 84 78 120 87 162 124 141 138 227 228 {} {} {} {}
+ 124 57 130 92 57 110 114 136 147 167 110 180 193
+ 191 252 187 179 {} {} {} {} 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 {} {} {} {}
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 {} {} {} {} 108 65 26 70 51 52
+ 128 109 121 124 85 107 150 195 226 172 173 {} {}
+ {} {} 119 50 124 96 110 87 48 110 173 124 197 211
+ 144 196 195 200 {} {} {} {} 52 83 103 36 88 171
+ 158 156 198 121 210 132 {} {} {} {} 99 72 55 120
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163}
+
+do_execsql_test 1.5.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 65 102 87 138 57 181 80 111 26 48
+ 144 207 36 121 132 101 163 172 196 119 136 63 124
+ 179 110 179 182 74 132 189 51 52 85 216 163 134
+ 123 210 78 141 57 187 71 87 172 173 50 224 88 59
+ 111 170 109 213 223 146 147 84 114 191 206 221 157
+ 161 209 229 74 140 107 187 207 212 124 202 52 232
+ 55 184 229 106 132 152 120 92 110 179 235 65 70
+ 87 110 195 200 175 234 160 234 136 80 113 187 109
+ 121 124 196 156 210 239 250 72 109 188 202 191 105
+ 154 79 231 147 225 103 161 169 223 96 83 249 212
+ 162 227 228 167 180 193 117 177 214 145 208 235 150
+ 110 211 103 158 200 168 229 92 156 243 280 279 116
+ 173 269 271 131 133 223 128 173 197 210 99 150 161
+ 147 218 240 109 136 146 261 263 124 130 252 171 190
+ 213 274 108 195 226 119 124}
+
+do_execsql_test 1.5.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 196 134 109 213 223 106 234 191 212
+ 168 {} {} {} {} 65 102 119 136 123 210 146 147
+ 132 152 160 105 154 92 156 243 109 {} {} {} {} 87
+ 138 63 124 179 78 141 84 120 234 79 231 {} {} {}
+ {} 57 181 110 179 57 187 114 191 206 221 92 110
+ 136 147 167 180 193 {} {} {} {} 80 182 71 157 161
+ 209 229 179 235 80 225 117 177 214 116 {} {} {}
+ {} 111 74 132 189 87 74 140 113 187 103 161 169
+ 145 208 235 131 133 {} {} {} {} 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 {}
+ {} {} {} 48 144 207 216 50 224 124 202 87 110 195
+ 200 196 96 110 211 {} {} {} {} 36 121 132 88 52
+ 232 156 210 239 250 83 103 {} {} {} {} 101 163
+ 172 163 59 111 170 55 184 229 175 72 109 188 202
+ 249 200 99}
+
+do_execsql_test 1.5.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 147 106 109 168 134 218 191 212 229
+ 240 213 234 196 223 92 109 105 136 146 65 156 132
+ 154 102 123 119 160 152 146 147 136 243 261 263 210
+ 79 63 84 78 120 87 162 124 141 138 227 228 179
+ 231 234 280 124 57 130 92 57 110 114 136 147 167
+ 110 180 193 191 252 187 179 206 181 221 279 80 116
+ 117 71 80 171 173 177 157 161 179 214 225 182 209
+ 269 271 235 229 103 74 131 133 113 74 87 145 190
+ 161 169 140 111 132 213 187 208 223 235 189 274 108
+ 65 26 70 51 52 128 109 121 124 85 107 150 195 226
+ 172 173 187 223 207 212 119 50 124 96 110 87 48
+ 110 173 124 197 211 144 196 195 200 202 224 216 207
+ 52 83 103 36 88 171 158 156 198 121 210 132 210
+ 239 250 232 99 72 55 120 59 109 150 161 111 101
+ 200 175 188 170 202 163 184 163}
+
+do_execsql_test 1.5.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 39 {} {} {} {}
+ {} {} {} 91 {} {} {} {} {} {} 54 54 {} {} {}
+ {} 62 {} {} {} {} {} 23 {} {} {} 97 86 {} 59
+ {} 84 {} {} 78 65 {} 16 90 81 {} 59 56 {} 54
+ {} 85 {} {} {} {} 38 {} 32 47 {} 74 35 47 98
+ 96 {} 24 {} {} 29 12 46 36 53 {} 81 27 56 {}
+ {} 81 93 63 81 91 68 53 99 89 13 12 97 91 29
+ 7 7 78 35 84 53 84 58 61 91 99 15 61 98 16 5
+ 75 56 2 37 3 96 62 95 43 63 35 78 16 67 43 16
+ 16 90 72 98 85 56 90 46 29 29 4 74 74 2 76 41
+ 46 77 24 27 97 46 89 1 85 1 74 78 61 85 51 59
+ 35 30 56 25 47 28 73 6 73 74 93 43 3 56 47 85
+ 61 61 93 9 97 62}
+
+do_execsql_test 1.5.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 91 {} {} {} 91 {} {} {} {} {} {}
+ 11 {} {} {} {} {} {} {} {} {} {} {} {} {} 32
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 43 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} {} 47 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 9 9 {} {} {}}
+
+do_execsql_test 1.5.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} 5 6 6 6 7
+ 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 11
+ 11 12 12 12 12 12 12 13 13 14 14 15 15 15 15
+ 15 15 16 16 16 16 16 16 17 17 17 17 19 19 19
+ 19 20 20 21 21 21 21 21 21 22 22 22 22 22 23
+ 23 23 24 25 25 26 26 27 27 27 27 27 27 29 29
+ 29 30 30 30 31 31 31 31 31 32 33 33 33 33 33
+ 33 33 33 33 33 33 34 34 34 34 34 34 34 35 35
+ 36 36 36 37 37 37 37 37 37 38 38 38 38 38 38
+ 39 39 39 39 39 40 41 41 41 41 41 42 43 43 43
+ 43 43 44 44 44 44 46 46 46 47 47 47 47 47 47
+ 47 47 47 47 47 49 49 49 50 51 51 51 52 52 52
+ 53 53 54 54 55 55}
+
+do_execsql_test 1.5.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 40 {} {} {} 40 {} 50 {} {} {} {}
+ 50 {} {} {} 41 {} 10 91 61 {} 30 {} 10 61 30
+ {} {} 10 {} {} {} {} 1 {} 22 80 22 91 93 {}
+ {} 30 {} {} 91 {} 1 30 91 80 91 {} 43 {} {}
+ 21 20 {} {} 74 21 21 2 74 33 81 21 {} 64 2 21
+ 93 62 14 14 3 91 11 24 55 93 93 62 90 91 55 3
+ 24 14 24 91 55 15 72 60 72 61 61 34 43 43 43
+ 61 12 4 15 15 51 51 12 23 12 12 25 41 25 13
+ 94 12 70 12 84 32 84 94 70 33 12 12 32 41 91
+ 70 22 33 84 80 31 75 84 53 75 80 84 80 53 53
+ 53 22 44 63 42 95 31 63 44 44 31 90 74 52 63
+ 31 63 1 42 90 90 95 3 42}
+
+do_execsql_test 1.5.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.5.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} 90 90 90 90 90 90 90 90 90 90 {}
+ {} {} {} 81 81 81 81 81 81 81 81 81 81 81 81
+ 81 81 81 81 81 {} {} {} {} 62 62 62 62 62 62
+ 62 62 62 62 62 62 {} {} {} {} 93 93 93 93 93
+ 93 93 93 93 93 93 93 93 93 93 93 93 {} {} {}
+ {} 54 54 54 54 54 54 54 54 54 54 54 54 54 54
+ 54 {} {} {} {} 65 65 65 65 65 65 65 65 65 65
+ 65 65 65 65 65 65 65 {} {} {} {} 96 96 96 96
+ 96 96 96 96 96 96 96 96 96 96 96 96 96 {} {}
+ {} {} 97 97 97 97 97 97 97 97 97 97 97 97 97
+ 97 97 97 {} {} {} {} 38 38 38 38 38 38 38 38
+ 38 38 38 38 {} {} {} {} 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.5.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1}
+
+do_execsql_test 1.5.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 10 10 10 10 10 10 10 10 10 10 {}
+ {} {} {} 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 {} {} {} {} 2 2 2 2 2 2 2 2 2 2 2 2
+ {} {} {} {} 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 {} {} {} {} 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 {} {} {} {} 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 {} {} {} {} 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 {} {} {} {} 7 7 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 {} {} {} {} 8 8
+ 8 8 8 8 8 8 8 8 8 8 {} {} {} {} 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9 9 9}
+
+do_execsql_test 1.5.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90}
+
+do_execsql_test 1.5.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.5.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.5.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.5.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.5.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.5.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} 89 89.81 89.81.96 89.81.96.59 89.81.96.59.38
+ 89.81.96.59.38.68 89.81.96.59.38.68.39 89.81.96.59.38.68.39.62
+ 89.81.96.59.38.68.39.62.91 89.81.96.59.38.68.39.62.91.46
+ 89.81.96.59.38.68.39.62.91.46.6 89.81.96.59.38.68.39.62.91.46.6.99
+ 89.81.96.59.38.68.39.62.91.46.6.99.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83}
+
+do_execsql_test 1.5.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} 90 90.40 90.40.30 90.40.30.80 90.40.30.80.20
+ 90.40.30.80.20.90 90.40.30.80.20.90.60 90.40.30.80.20.90.60.70
+ 90.40.30.80.20.90.60.70.80 90.40.30.80.20.90.60.70.80.90 {} {} {}
+ {} 81 81.91 81.91.61 81.91.61.91 81.91.61.91.91
+ 81.91.61.91.91.1 81.91.61.91.91.1.81 81.91.61.91.91.1.81.41
+ 81.91.61.91.91.1.81.41.61 81.91.61.91.91.1.81.41.61.1
+ 81.91.61.91.91.1.81.41.61.1.21 81.91.61.91.91.1.81.41.61.1.21.11
+ 81.91.61.91.91.1.81.41.61.1.21.11.51
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11 {} {} {} {} 62
+ 62.12 62.12.32 62.12.32.22 62.12.32.22.42 62.12.32.22.42.2
+ 62.12.32.22.42.2.72 62.12.32.22.42.2.72.12 62.12.32.22.42.2.72.12.22
+ 62.12.32.22.42.2.72.12.22.2 62.12.32.22.42.2.72.12.22.2.72
+ 62.12.32.22.42.2.72.12.22.2.72.72 {} {} {} {} 93 93.23
+ 93.23.93 93.23.93.43 93.23.93.43.3 93.23.93.43.3.43
+ 93.23.93.43.3.43.33 93.23.93.43.3.43.33.53 93.23.93.43.3.43.33.53.63
+ 93.23.93.43.3.43.33.53.63.73 93.23.93.43.3.43.33.53.63.73.13
+ 93.23.93.43.3.43.33.53.63.73.13.73 93.23.93.43.3.43.33.53.63.73.13.73.73
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13 {} {} {} {} 54
+ 54.84 54.84.74 54.84.74.24 54.84.74.24.4 54.84.74.24.4.94
+ 54.84.74.24.4.94.84 54.84.74.24.4.94.84.74 54.84.74.24.4.94.84.74.34
+ 54.84.74.24.4.94.84.74.34.34 54.84.74.24.4.94.84.74.34.34.44
+ 54.84.74.24.4.94.84.74.34.34.44.74 54.84.74.24.4.94.84.74.34.34.44.74.64
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34 {} {} {} {} 65
+ 65.35 65.35.85 65.35.85.85 65.35.85.85.55 65.35.85.85.55.15
+ 65.35.85.85.55.15.25 65.35.85.85.55.15.25.75 65.35.85.85.55.15.25.75.95
+ 65.35.85.85.55.15.25.75.95.65 65.35.85.85.55.15.25.75.95.65.65
+ 65.35.85.85.55.15.25.75.95.65.65.35 65.35.85.85.55.15.25.75.95.65.65.35.5
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75 {} {} {} {} 96
+ 96.46 96.46.6 96.46.6.46 96.46.6.46.16 96.46.6.46.16.16
+ 96.46.6.46.16.16.86 96.46.6.46.16.16.86.56 96.46.6.46.16.16.86.56.56
+ 96.46.6.46.16.16.86.56.56.56 96.46.6.46.16.16.86.56.56.56.16
+ 96.46.6.46.16.16.86.56.56.56.16.36 96.46.6.46.16.16.86.56.56.56.16.36.76
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26 {} {} {} {} 97
+ 97.27 97.27.97 97.27.97.67 97.27.97.67.77 97.27.97.67.77.47
+ 97.27.97.67.77.47.7 97.27.97.67.77.47.7.47 97.27.97.67.77.47.7.47.87
+ 97.27.97.67.77.47.7.47.87.37 97.27.97.67.77.47.7.47.87.37.87
+ 97.27.97.67.77.47.7.47.87.37.87.77 97.27.97.67.77.47.7.47.87.37.87.77.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47 {} {} {} {} 38
+ 38.68 38.68.78 38.68.78.8 38.68.78.8.28 38.68.78.8.28.98
+ 38.68.78.8.28.98.78 38.68.78.8.28.98.78.58 38.68.78.8.28.98.78.58.98
+ 38.68.78.8.28.98.78.58.98.8 38.68.78.8.28.98.78.58.98.8.88
+ 38.68.78.8.28.98.78.58.98.8.88.8 {} {} {} {} 89 89.59
+ 89.59.39 89.59.39.99 89.59.39.99.29 89.59.39.99.29.59
+ 89.59.39.99.29.59.89 89.59.39.99.29.59.89.89 89.59.39.99.29.59.89.89.29
+ 89.59.39.99.29.59.89.89.29.9 89.59.39.99.29.59.89.89.29.9.79
+ 89.59.39.99.29.59.89.89.29.9.79.49 89.59.39.99.29.59.89.89.29.9.79.49.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9}
+
+do_execsql_test 1.5.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 1 1.1 1.1.2 1.1.2.2 1.1.2.2.3 1.1.2.2.3.3
+ 1.1.2.2.3.3.4 1.1.2.2.3.3.4.5 1.1.2.2.3.3.4.5.6 1.1.2.2.3.3.4.5.6.7
+ 1.1.2.2.3.3.4.5.6.7.7 1.1.2.2.3.3.4.5.6.7.7.7 1.1.2.2.3.3.4.5.6.7.7.7.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97}
+
+do_execsql_test 1.5.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 10 10.20 10.20.30 10.20.30.30 10.20.30.30.30
+ 10.20.30.30.30.40 10.20.30.30.30.40.50 10.20.30.30.30.40.50.60
+ 10.20.30.30.30.40.50.60.70 10.20.30.30.30.40.50.60.70.80 {} {} {}
+ {} 1 1.1 1.1.11 1.1.11.11 1.1.11.11.21 1.1.11.11.21.21
+ 1.1.11.11.21.21.31 1.1.11.11.21.21.31.31 1.1.11.11.21.21.31.31.41
+ 1.1.11.11.21.21.31.31.41.41 1.1.11.11.21.21.31.31.41.41.51
+ 1.1.11.11.21.21.31.31.41.41.51.61 1.1.11.11.21.21.31.31.41.41.51.61.61
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91 {} {} {} {} 2
+ 2.2 2.2.12 2.2.12.12 2.2.12.12.12 2.2.12.12.12.22
+ 2.2.12.12.12.22.22 2.2.12.12.12.22.22.32 2.2.12.12.12.22.22.32.42
+ 2.2.12.12.12.22.22.32.42.52 2.2.12.12.12.22.22.32.42.52.62
+ 2.2.12.12.12.22.22.32.42.52.62.62 {} {} {} {} 3 3.3 3.3.13
+ 3.3.13.13 3.3.13.13.23 3.3.13.13.23.23 3.3.13.13.23.23.33
+ 3.3.13.13.23.23.33.33 3.3.13.13.23.23.33.33.33
+ 3.3.13.13.23.23.33.33.33.33 3.3.13.13.23.23.33.33.33.33.43
+ 3.3.13.13.23.23.33.33.33.33.43.43 3.3.13.13.23.23.33.33.33.33.43.43.53
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73 {} {} {} {} 4
+ 4.14 4.14.24 4.14.24.34 4.14.24.34.34 4.14.24.34.34.34
+ 4.14.24.34.34.34.34 4.14.24.34.34.34.34.44 4.14.24.34.34.34.34.44.44
+ 4.14.24.34.34.34.34.44.44.54 4.14.24.34.34.34.34.44.44.54.64
+ 4.14.24.34.34.34.34.44.44.54.64.74 4.14.24.34.34.34.34.44.44.54.64.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84 {} {} {} {} 5 5.15
+ 5.15.15 5.15.15.15 5.15.15.15.25 5.15.15.15.25.35
+ 5.15.15.15.25.35.35 5.15.15.15.25.35.35.55 5.15.15.15.25.35.35.55.55
+ 5.15.15.15.25.35.35.55.55.65 5.15.15.15.25.35.35.55.55.65.65
+ 5.15.15.15.25.35.35.55.55.65.65.65 5.15.15.15.25.35.35.55.55.65.65.65.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85 {} {} {} {} 6
+ 6.16 6.16.16 6.16.16.16 6.16.16.16.26 6.16.16.16.26.26
+ 6.16.16.16.26.26.36 6.16.16.16.26.26.36.36 6.16.16.16.26.26.36.36.36
+ 6.16.16.16.26.26.36.36.36.36 6.16.16.16.26.26.36.36.36.36.46
+ 6.16.16.16.26.26.36.36.36.36.46.46 6.16.16.16.26.26.36.36.36.36.46.46.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76 {} {} {} {} 7
+ 7.7 7.7.7 7.7.7.17 7.7.7.17.27 7.7.7.17.27.27 7.7.7.17.27.27.37
+ 7.7.7.17.27.27.37.37 7.7.7.17.27.27.37.37.47 7.7.7.17.27.27.37.37.47.47
+ 7.7.7.17.27.27.37.37.47.47.47 7.7.7.17.27.27.37.37.47.47.47.47
+ 7.7.7.17.27.27.37.37.47.47.47.47.57
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77 {} {} {} {} 8 8.8
+ 8.8.8 8.8.8.28 8.8.8.28.38 8.8.8.28.38.38 8.8.8.28.38.38.58
+ 8.8.8.28.38.38.58.58 8.8.8.28.38.38.58.58.58 8.8.8.28.38.38.58.58.58.58
+ 8.8.8.28.38.38.58.58.58.58.68 8.8.8.28.38.38.58.58.58.58.68.78 {} {}
+ {} {} 9 9.9 9.9.9 9.9.9.19 9.9.9.19.29 9.9.9.19.29.29
+ 9.9.9.19.29.29.29 9.9.9.19.29.29.29.39 9.9.9.19.29.29.29.39.39
+ 9.9.9.19.29.29.29.39.39.39 9.9.9.19.29.29.29.39.39.39.49
+ 9.9.9.19.29.29.29.39.39.39.49.59 9.9.9.19.29.29.29.39.39.39.49.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89}
+
+do_execsql_test 1.5.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2
+} {{} {} {} {} 90 90.40 90.40.30 90.40.30.80 90.40.30.80.20
+ 90.40.30.80.20.90 90.40.30.80.20.90.60 90.40.30.80.20.90.60.70
+ 90.40.30.80.20.90.60.70.80 90.40.30.80.20.90.60.70.80.90
+ 90.40.30.80.20.90.60.70.80.90.30 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9}
+
+do_execsql_test 1.5.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.5.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+} {0 {} 0 {} 0 {} 0 {} 1 89 2 89 3 89.96 4 89.96 5 89.96.38
+ 6 89.96.38 7 89.96.38.39 8 89.96.38.39 9 89.96.38.39.91
+ 10 89.96.38.39.91 11 89.96.38.39.91.6 12 89.96.38.39.91.6
+ 13 89.96.38.39.91.6.97 14 89.96.38.39.91.6.97 15 89.96.38.39.91.6.97.46
+ 16 89.96.38.39.91.6.97.46 17 89.96.38.39.91.6.97.46.54
+ 18 89.96.38.39.91.6.97.46.54 19 89.96.38.39.91.6.97.46.54.8
+ 20 89.96.38.39.91.6.97.46.54.8 21 89.96.38.39.91.6.97.46.54.8.29
+ 22 89.96.38.39.91.6.97.46.54.8.29 23 89.96.38.39.91.6.97.46.54.8.29.84
+ 24 89.96.38.39.91.6.97.46.54.8.29.84
+ 25 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 26 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 27 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 28 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 29 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 30 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 31 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 32 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 33 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 34 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 35 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 36 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 37 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 38 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 39 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 40 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 41 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 42 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 43 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 44 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 45 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 46 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 47 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 48 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 49 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 50 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 51 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 52 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 53 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 54 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 55 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 56 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 57 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 58 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 59 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 60 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 61 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 62 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 63 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 64 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 65 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 66 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 67 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 68 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 69 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 70 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 71 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 72 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 73 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 74 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 75 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 76 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 77 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 78 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 79 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 80 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 81 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 82 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 83 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 84 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 85 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 86 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 87 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 88 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 89 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 90 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 91 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 92 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 93 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 94 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 95 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 96 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 97 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 98 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 99 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 100 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 101 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 102 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 103 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 104 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 105 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 106 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 107 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 108 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 109 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 110 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 111 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 112 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 113 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 114 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 115 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 116 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 117 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 118 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 119 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 120 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 121 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 122 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 123 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 124 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 125 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 126 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 127 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 128 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 129 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 130 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 131 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 132 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 133 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 134 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 135 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 136 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 137 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 138 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 139 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 140 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 141 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 142 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 143 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 144 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 145 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 146 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 147 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 148 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 149 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 150 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 151 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 152 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 153 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 154 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 155 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 156 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 157 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 158 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 159 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 160 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 161 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 162 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 163 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 164 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 165 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 166 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 167 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 168 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 169 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 170 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 171 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 172 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 173 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 174 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 175 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 176 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 177 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 178 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 179 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 180 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 181 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 182 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 183 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 184 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 185 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 186 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 187 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83}
+
+do_execsql_test 1.5.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+} {0 {} 0 {} 0 {} 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {}
+ 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {}
+ 18 {} 19 {} 20 {} 21 {} 22 {} 23 {} 24 {} 25 {} 26 {}
+ 27 {} 28 {} 29 {} 30 {} 31 {} 32 {} 33 {} 34 {} 35 {}
+ 36 {} 37 {} 38 {} 39 {} 40 {} 41 {} 42 {} 43 {} 44 {}
+ 45 {} 46 {} 47 {} 48 {} 49 {} 50 {} 51 {} 52 {} 53 {}
+ 54 {} 55 {} 56 {} 57 {} 58 {} 59 {} 60 {} 61 {} 62 {}
+ 63 {} 64 {} 65 {} 66 {} 67 {} 68 {} 69 {} 70 {} 71 {}
+ 72 {} 73 {} 74 {} 75 {} 76 {} 77 {} 78 {} 79 {} 80 {}
+ 81 {} 82 {} 83 {} 84 {} 85 {} 86 {} 87 {} 88 {} 89 {}
+ 90 {} 91 {} 92 {} 93 {} 94 {} 95 {} 96 {} 97 {} 98 {}
+ 99 {} 100 {} 101 {} 102 {} 103 {} 104 {} 105 {} 106 {}
+ 107 {} 108 {} 109 {} 110 {} 111 {} 112 {} 113 {} 114 {}
+ 115 {} 116 {} 117 {} 118 {} 119 {} 120 {} 121 {} 122 {}
+ 123 {} 124 {} 125 {} 126 {} 127 {} 128 {} 129 {} 130 {}
+ 131 {} 132 {} 133 {} 134 {} 135 {} 136 {} 137 {} 138 {}
+ 139 {} 140 {} 141 {} 142 {} 143 {} 144 {} 145 {} 146 {}
+ 147 {} 148 {} 149 {} 150 {} 151 {} 152 {} 153 {} 154 {}
+ 155 {} 156 {} 157 {} 158 {} 159 {} 160 {} 161 {} 162 {}
+ 163 {} 164 {} 165 {} 166 {} 167 {} 168 {} 169 {} 170 {}
+ 171 {} 172 {} 173 {} 174 {} 175 {} 176 {} 177 {} 178 {}
+ 179 {} 180 {} 181 {} 182 {} 183 {} 184 {} 185 {} 186 {}
+ 187 {}}
+
+do_execsql_test 1.5.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+} {0 {} 0 {} 0 {} 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {}
+ 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 0 {}
+ 0 {} 0 {} 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {}
+ 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {}
+ 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 {}
+ 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {}
+ 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 {} 2 {} 3 {}
+ 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 {} 2 {} 3 {} 4 {}
+ 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {}
+ 15 {} 0 {} 0 {} 0 {} 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {}
+ 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 0 {}
+ 0 {} 0 {} 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {}
+ 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {}
+ 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {}}
+
+do_execsql_test 1.5.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING)
+} {0 {} 0 {} 0 {} 0 {} 1 89 2 89.6 3 89.6.29 4 89.6.29.47
+ 5 89.6.29.47.59 6 89.6.29.47.59.28 7 89.6.29.47.59.28.75
+ 8 89.6.29.47.59.28.75.78 9 89.6.29.47.59.28.75.78.72
+ 10 89.6.29.47.59.28.75.78.72.98 11 89.6.29.47.59.28.75.78.72.98.87
+ 12 89.6.29.47.59.28.75.78.72.98.87.73
+ 13 89.6.29.47.59.28.75.78.72.98.87.73.96
+ 14 89.6.29.47.59.28.75.78.72.98.87.73.96.74
+ 15 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90
+ 16 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75 0 {} 0 {} 0 {}
+ 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 96
+ 2 96.97 3 96.97.84 4 96.97.84.86 5 96.97.84.86.32
+ 6 96.97.84.86.32.25 7 96.97.84.86.32.25.89 8 96.97.84.86.32.25.89.29
+ 9 96.97.84.86.32.25.89.29.9 10 96.97.84.86.32.25.89.29.9.21
+ 11 96.97.84.86.32.25.89.29.9.21.12 12 96.97.84.86.32.25.89.29.9.21.12.88
+ 13 96.97.84.86.32.25.89.29.9.21.12.88.55
+ 14 96.97.84.86.32.25.89.29.9.21.12.88.55.70
+ 15 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58 0 {} 0 {} 0 {} 0 {}
+ 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 38
+ 2 38.46 3 38.46.23 4 38.46.23.61 5 38.46.23.61.3 6 38.46.23.61.3.1
+ 7 38.46.23.61.3.1.76 8 38.46.23.61.3.1.76.63 9 38.46.23.61.3.1.76.63.73
+ 10 38.46.23.61.3.1.76.63.73.65 11 38.46.23.61.3.1.76.63.73.65.20
+ 12 38.46.23.61.3.1.76.63.73.65.20.8
+ 13 38.46.23.61.3.1.76.63.73.65.20.8.77
+ 14 38.46.23.61.3.1.76.63.73.65.20.8.77.19
+ 15 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9 0 {} 0 {} 0 {} 0 {}
+ 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 39
+ 2 39.54 3 39.54.16 4 39.54.16.85 5 39.54.16.85.22
+ 6 39.54.16.85.22.40 7 39.54.16.85.22.40.4 8 39.54.16.85.22.40.4.87
+ 9 39.54.16.85.22.40.4.87.65 10 39.54.16.85.22.40.4.87.65.5
+ 11 39.54.16.85.22.40.4.87.65.5.31 12 39.54.16.85.22.40.4.87.65.5.31.49
+ 13 39.54.16.85.22.40.4.87.65.5.31.49.2
+ 14 39.54.16.85.22.40.4.87.65.5.31.49.2.26
+ 15 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72 0 {} 0 {} 0 {} 0 {}
+ 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 0 {} 0 {} 0 {} 0 {} 1 91
+ 2 91.8 3 91.8.65 4 91.8.65.85 5 91.8.65.85.55 6 91.8.65.85.55.56
+ 7 91.8.65.85.55.56.42 8 91.8.65.85.55.56.42.80
+ 9 91.8.65.85.55.56.42.80.58 10 91.8.65.85.55.56.42.80.58.11
+ 11 91.8.65.85.55.56.42.80.58.11.95 12 91.8.65.85.55.56.42.80.58.11.95.90
+ 13 91.8.65.85.55.56.42.80.58.11.95.90.85
+ 14 91.8.65.85.55.56.42.80.58.11.95.90.85.47
+ 15 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33 0 {} 0 {} 0 {} 0 {}
+ 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {}}
+
+do_execsql_test 1.6.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 89 89 96 96 96 68 68 68 91 91 91 99 99
+ 99 97 78 78 97 97 97 67 93 93 93 84 77 23 93
+ 93 93 65 47 86 86 86 91 91 91 85 85 85 59 59
+ 56 56 91 91 91 90 90 55 89 89 89 47 56 56 56
+ 56 56 75 75 89 98 98 98 81 94 94 94 78 78 78
+ 53 63 63 87 87 87 84 84 84 72 61 73 95 95 95
+ 65 96 98 98 98 74 74 74 65 73 73 73 87 87 87
+ 41 20 31 31 31 95 95 95 79 88 88 88 34 49 49
+ 90 90 96 96 96 75 77 77 77 44 85 85 85 74 74
+ 70 70 59 39 39 47 80 90 90 90 58 58 72 72 72
+ 72 93 93 93 81 81 81 37 37 37 14 62 91 91 91
+ 91 91 34 36 99 99 99 95 95 69 58 52 84 84 84
+ 84 84 39 44 58 58 58 38 83 83 83}
+
+do_execsql_test 1.6.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 89 81 81 59 38 38 38 39 39 46 6 6 6 27
+ 27 27 46 54 8 8 8 29 29 77 23 16 16 16 16 35
+ 35 7 7 7 61 61 61 24 24 24 43 12 12 12 3 3
+ 3 22 22 15 15 15 25 25 1 1 1 40 40 16 16 16
+ 36 36 76 76 4 4 4 30 30 30 29 29 29 2 2 2
+ 37 37 72 41 9 9 9 61 65 13 13 13 58 1 1 1
+ 21 35 5 5 5 11 11 41 12 8 8 8 20 15 15 15
+ 22 22 73 34 8 8 8 11 34 34 59 59 55 55 55 44
+ 2 2 2 7 57 29 29 29 19 19 19 26 26 26 47 36
+ 36 36 9 9 9 66 33 33 33 64 64 9 9 9 13 12
+ 12 12 14 36 36 33 15 15 15 34 3 3 3 58 52 30
+ 30 30 10 10 10 21 21 21 39 30 30 30 34 27 27}
+
+do_execsql_test 1.6.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.6.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.6.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.6.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.6.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.6.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.6.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.6.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.6.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.6.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.6.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.6.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.6.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.6.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.6.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.6.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.6.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.6.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.6.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 99 92 108 72 52 83 55 79 109 65 26 120
+ 119 50 70 103 80 124 36 96 59 124 116 110 57 51
+ 52 130 103 74 87 48 128 117 105 136 131 71 133 92
+ 109 63 84 109 57 146 78 147 113 74 88 150 87 110
+ 65 121 106 110 124 85 145 107 161 171 150 156 80
+ 171 120 109 158 114 111 136 147 87 173 124 168 173
+ 162 132 101 154 167 190 161 110 156 195 198 102 123
+ 177 169 140 111 180 119 160 197 152 124 121 134 146
+ 147 132 213 141 193 200 210 157 132 136 175 161 218
+ 188 226 191 187 208 211 179 138 144 223 196 214 170
+ 212 202 163 184 172 173 195 229 240 187 210 200 163
+ 227 228 223 191 252 235 225 243 172 187 202 179 179
+ 182 231 261 207 263 206 189 209 212 276 181 274 249
+ 239 234 213 234 269 196 271 221 210 229 235 250 223
+ 232 229 279 224 280}
+
+do_execsql_test 1.6.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 147 106 109 168 134 218 191 212 229 240 213
+ 234 {} {} 92 109 105 136 146 65 156 132 154 102
+ 123 119 160 152 146 147 136 243 261 {} {} 79 63
+ 84 78 120 87 162 124 141 138 227 228 179 231 {}
+ {} 124 57 130 92 57 110 114 136 147 167 110 180
+ 193 191 252 187 179 206 181 {} {} 80 116 117 71
+ 80 171 173 177 157 161 179 214 225 182 209 269 271
+ {} {} 103 74 131 133 113 74 87 145 190 161 169
+ 140 111 132 213 187 208 223 235 {} {} 108 65 26
+ 70 51 52 128 109 121 124 85 107 150 195 226 172
+ 173 187 223 {} {} 119 50 124 96 110 87 48 110 173
+ 124 197 211 144 196 195 200 202 224 {} {} 52 83
+ 103 36 88 171 158 156 198 121 210 132 210 239 {}
+ {} 99 72 55 120 59 109 150 161 111 101 200 175
+ 188 170 202 163 184 163 172 276}
+
+do_execsql_test 1.6.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 65 102 87 138 57 181 80 111 26 48 144 207
+ 36 121 132 101 163 172 196 119 136 63 124 179 110
+ 179 182 74 132 189 51 52 85 216 163 134 123 210
+ 78 141 57 187 71 87 172 173 50 224 88 59 111 170
+ 109 213 223 146 147 84 114 191 206 221 157 161 209
+ 229 74 140 107 187 207 212 124 202 52 232 55 184
+ 229 106 132 152 120 92 110 179 235 65 70 87 110
+ 195 200 175 234 160 234 136 80 113 187 109 121 124
+ 196 156 210 239 250 72 109 188 202 191 105 154 79
+ 231 147 225 103 161 169 223 96 83 249 212 162 227
+ 228 167 180 193 117 177 214 145 208 235 150 110 211
+ 103 158 200 168 229 92 156 243 280 279 116 173 269
+ 271 131 133 223 128 173 197 210 99 150 161 147 218
+ 240 109 136 146 261 263 124 130 252 171 190 213 274
+ 108 195 226 119 124 171 198}
+
+do_execsql_test 1.6.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 196 134 109 213 223 106 234 191 212 168 229
+ 147 {} {} 65 102 119 136 123 210 146 147 132 152
+ 160 105 154 92 156 243 109 136 146 {} {} 87 138
+ 63 124 179 78 141 84 120 234 79 231 162 227 {} {}
+ 57 181 110 179 57 187 114 191 206 221 92 110 136
+ 147 167 180 193 279 124 {} {} 80 182 71 157 161
+ 209 229 179 235 80 225 117 177 214 116 173 269 {}
+ {} 111 74 132 189 87 74 140 113 187 103 161 169
+ 145 208 235 131 133 223 190 {} {} 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 128
+ 108 {} {} 48 144 207 216 50 224 124 202 87 110
+ 195 200 196 96 110 211 173 197 {} {} 36 121 132
+ 88 52 232 156 210 239 250 83 103 158 210 {} {}
+ 101 163 172 163 59 111 170 55 184 229 175 72 109
+ 188 202 249 200 99 150 161}
+
+do_execsql_test 1.6.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 147 106 109 168 134 218 191 212 229 240 213
+ 234 196 223 92 109 105 136 146 65 156 132 154 102
+ 123 119 160 152 146 147 136 243 261 263 210 79 63
+ 84 78 120 87 162 124 141 138 227 228 179 231 234
+ 280 124 57 130 92 57 110 114 136 147 167 110 180
+ 193 191 252 187 179 206 181 221 279 80 116 117 71
+ 80 171 173 177 157 161 179 214 225 182 209 269 271
+ 235 229 103 74 131 133 113 74 87 145 190 161 169
+ 140 111 132 213 187 208 223 235 189 274 108 65 26
+ 70 51 52 128 109 121 124 85 107 150 195 226 172
+ 173 187 223 207 212 119 50 124 96 110 87 48 110
+ 173 124 197 211 144 196 195 200 202 224 216 207 52
+ 83 103 36 88 171 158 156 198 121 210 132 210 239
+ 250 232 99 72 55 120 59 109 150 161 111 101 200
+ 175 188 170 202 163 184 163 172 276}
+
+do_execsql_test 1.6.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 89 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 53 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 58 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 77 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.6.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} 90 90 90 40 30 80 20 90 60 70 80 90 {}
+ {} 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 {} {} 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 {} {} 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 {} {} 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 {}
+ {} 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 {} {} 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 {} {} 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 {}
+ {} 38 38 38 68 78 8 28 98 78 58 98 8 88 8 {}
+ {} 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.6.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.6.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 10 10 10 20 30 30 30 40 50 60 70 80 {}
+ {} 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61
+ 81 81 81 91 {} {} 2 2 2 2 12 12 12 22 22 32
+ 42 52 62 62 {} {} 3 3 3 3 13 13 23 23 33 33
+ 33 33 43 43 53 63 73 73 73 {} {} 4 4 4 14 24
+ 34 34 34 34 44 44 54 64 74 74 74 84 {} {} 5 5
+ 5 15 15 15 25 35 35 55 55 65 65 65 75 75 75
+ 85 85 {} {} 6 6 6 16 16 16 26 26 36 36 36 36
+ 46 46 56 56 56 66 76 {} {} 7 7 7 7 7 17 27
+ 27 37 37 47 47 47 47 57 67 77 77 {} {} 8 8 8
+ 8 8 28 38 38 58 58 58 58 68 78 {} {} 9 9 9
+ 9 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89}
+
+do_execsql_test 1.6.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.6.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.6.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.6.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.6.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.6.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.6.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} 89 89.81 89.81.96 81.96.59 96.59.38 59.38.68 38.68.39
+ 68.39.62 39.62.91 62.91.46 91.46.6 46.6.99 6.99.97 99.97.27
+ 97.27.46 27.46.78 46.78.54 78.54.97 54.97.8 97.8.67 8.67.29
+ 67.29.93 29.93.84 93.84.77 84.77.23 77.23.16 23.16.16 16.16.93
+ 16.93.65 93.65.35 65.35.47 35.47.7 47.7.86 7.86.74 86.74.61
+ 74.61.91 61.91.85 91.85.24 85.24.85 24.85.43 85.43.59 43.59.12
+ 59.12.32 12.32.56 32.56.3 56.3.91 3.91.22 91.22.90 22.90.55
+ 90.55.15 55.15.28 15.28.89 28.89.25 89.25.47 25.47.1 47.1.56
+ 1.56.40 56.40.43 40.43.56 43.56.16 56.16.75 16.75.36 75.36.89
+ 36.89.98 89.98.76 98.76.81 76.81.4 81.4.94 4.94.42 94.42.30
+ 42.30.78 30.78.33 78.33.29 33.29.53 29.53.63 53.63.2 63.2.87
+ 2.87.37 87.37.80 37.80.84 80.84.72 84.72.41 72.41.9 41.9.61
+ 9.61.73 61.73.95 73.95.65 95.65.13 65.13.58 13.58.96 58.96.98
+ 96.98.1 98.1.21 1.21.74 21.74.65 74.65.35 65.35.5 35.5.73
+ 5.73.11 73.11.51 11.51.87 51.87.41 87.41.12 41.12.8 12.8.20
+ 8.20.31 20.31.31 31.31.15 31.15.95 15.95.22 95.22.73 22.73.79
+ 73.79.88 79.88.34 88.34.8 34.8.11 8.11.49 11.49.34 49.34.90
+ 34.90.59 90.59.96 59.96.60 96.60.55 60.55.75 55.75.77 75.77.44
+ 77.44.2 44.2.7 2.7.85 7.85.57 85.57.74 57.74.29 74.29.70
+ 29.70.59 70.59.19 59.19.39 19.39.26 39.26.26 26.26.47 26.47.80
+ 47.80.90 80.90.36 90.36.58 36.58.47 58.47.9 47.9.72 9.72.72
+ 72.72.66 72.66.33 66.33.93 33.93.75 93.75.64 75.64.81 64.81.9
+ 81.9.23 9.23.37 23.37.13 37.13.12 13.12.14 12.14.62 14.62.91
+ 62.91.36 91.36.91 36.91.33 91.33.15 33.15.34 15.34.36 34.36.99
+ 36.99.3 99.3.95 3.95.69 95.69.58 69.58.52 58.52.30 52.30.50
+ 30.50.84 50.84.10 84.10.84 10.84.33 84.33.21 33.21.39 21.39.44
+ 39.44.58 44.58.30 58.30.38 30.38.34 38.34.83 34.83.27 83.27.82}
+
+do_execsql_test 1.6.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} 90 90.40 90.40.30 40.30.80 30.80.20 80.20.90 20.90.60
+ 90.60.70 60.70.80 70.80.90 80.90.30 90.30.50 {} {} 81 81.91
+ 81.91.61 91.61.91 61.91.91 91.91.1 91.1.81 1.81.41 81.41.61
+ 41.61.1 61.1.21 1.21.11 21.11.51 11.51.41 51.41.31 41.31.31
+ 31.31.11 31.11.81 11.81.91 {} {} 62 62.12 62.12.32 12.32.22
+ 32.22.42 22.42.2 42.2.72 2.72.12 72.12.22 12.22.2 22.2.72
+ 2.72.72 72.72.12 72.12.62 {} {} 93 93.23 93.23.93 23.93.43
+ 93.43.3 43.3.43 3.43.33 43.33.53 33.53.63 53.63.73 63.73.13
+ 73.13.73 13.73.73 73.73.33 73.33.93 33.93.23 93.23.13 23.13.33
+ 13.33.3 {} {} 54 54.84 54.84.74 84.74.24 74.24.4 24.4.94
+ 4.94.84 94.84.74 84.74.34 74.34.34 34.34.44 34.44.74 44.74.64
+ 74.64.14 64.14.34 14.34.84 34.84.84 {} {} 65 65.35 65.35.85
+ 35.85.85 85.85.55 85.55.15 55.15.25 15.25.75 25.75.95 75.95.65
+ 95.65.65 65.65.35 65.35.5 35.5.15 5.15.95 15.95.55 95.55.75
+ 55.75.85 75.85.75 {} {} 96 96.46 96.46.6 46.6.46 6.46.16
+ 46.16.16 16.16.86 16.86.56 86.56.56 56.56.56 56.56.16 56.16.36
+ 16.36.76 36.76.96 76.96.96 96.96.26 96.26.26 26.26.36 26.36.66
+ {} {} 97 97.27 97.27.97 27.97.67 97.67.77 67.77.47 77.47.7
+ 47.7.47 7.47.87 47.87.37 87.37.87 37.87.77 87.77.7 77.7.57
+ 7.57.47 57.47.47 47.47.37 47.37.27 {} {} 38 38.68 38.68.78
+ 68.78.8 78.8.28 8.28.98 28.98.78 98.78.58 78.58.98 58.98.8
+ 98.8.88 8.88.8 88.8.58 8.58.58 {} {} 89 89.59 89.59.39
+ 59.39.99 39.99.29 99.29.59 29.59.89 59.89.89 89.89.29 89.29.9
+ 29.9.79 9.79.49 79.49.59 49.59.29 59.29.59 29.59.19 59.19.39
+ 19.39.9 39.9.9 9.9.99}
+
+do_execsql_test 1.6.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 1 1.1 1.1.2 1.2.2 2.2.3 2.3.3 3.3.4 3.4.5 4.5.6
+ 5.6.7 6.7.7 7.7.7 7.7.8 7.8.8 8.8.8 8.8.9 8.9.9 9.9.9
+ 9.9.10 9.10.11 10.11.11 11.11.12 11.12.12 12.12.12 12.12.13
+ 12.13.13 13.13.14 13.14.15 14.15.15 15.15.15 15.15.16 15.16.16
+ 16.16.16 16.16.17 16.17.19 17.19.20 19.20.21 20.21.21 21.21.22
+ 21.22.22 22.22.23 22.23.23 23.23.24 23.24.25 24.25.26 25.26.26
+ 26.26.27 26.27.27 27.27.28 27.28.29 28.29.29 29.29.29 29.29.30
+ 29.30.30 30.30.30 30.30.31 30.31.31 31.31.32 31.32.33 32.33.33
+ 33.33.33 33.33.33 33.33.34 33.34.34 34.34.34 34.34.34 34.34.35
+ 34.35.35 35.35.36 35.36.36 36.36.36 36.36.36 36.36.37 36.37.37
+ 37.37.38 37.38.38 38.38.39 38.39.39 39.39.39 39.39.40 39.40.41
+ 40.41.41 41.41.42 41.42.43 42.43.43 43.43.44 43.44.44 44.44.46
+ 44.46.46 46.46.47 46.47.47 47.47.47 47.47.47 47.47.49 47.49.50
+ 49.50.51 50.51.52 51.52.53 52.53.54 53.54.55 54.55.55 55.55.56
+ 55.56.56 56.56.56 56.56.57 56.57.58 57.58.58 58.58.58 58.58.58
+ 58.58.59 58.59.59 59.59.59 59.59.59 59.59.60 59.60.61 60.61.61
+ 61.61.62 61.62.62 62.62.63 62.63.64 63.64.65 64.65.65 65.65.65
+ 65.65.66 65.66.67 66.67.68 67.68.69 68.69.70 69.70.72 70.72.72
+ 72.72.72 72.72.73 72.73.73 73.73.73 73.73.74 73.74.74 74.74.74
+ 74.74.75 74.75.75 75.75.75 75.75.76 75.76.77 76.77.77 77.77.78
+ 77.78.78 78.78.79 78.79.80 79.80.80 80.80.81 80.81.81 81.81.81
+ 81.81.82 81.82.83 82.83.84 83.84.84 84.84.84 84.84.84 84.84.85
+ 84.85.85 85.85.85 85.85.86 85.86.87 86.87.87 87.87.88 87.88.89
+ 88.89.89 89.89.89 89.89.90 89.90.90 90.90.90 90.90.91 90.91.91
+ 91.91.91 91.91.91 91.91.91 91.91.93 91.93.93 93.93.93 93.93.94
+ 93.94.95 94.95.95 95.95.95 95.95.96 95.96.96 96.96.96 96.96.97
+ 96.97.97 97.97.98 97.98.98}
+
+do_execsql_test 1.6.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 10 10.20 10.20.30 20.30.30 30.30.30 30.30.40 30.40.50
+ 40.50.60 50.60.70 60.70.80 70.80.80 80.80.90 {} {} 1 1.1
+ 1.1.11 1.11.11 11.11.21 11.21.21 21.21.31 21.31.31 31.31.41
+ 31.41.41 41.41.51 41.51.61 51.61.61 61.61.81 61.81.81 81.81.81
+ 81.81.91 81.91.91 91.91.91 {} {} 2 2.2 2.2.12 2.12.12
+ 12.12.12 12.12.22 12.22.22 22.22.32 22.32.42 32.42.52 42.52.62
+ 52.62.62 62.62.72 62.72.72 {} {} 3 3.3 3.3.13 3.13.13
+ 13.13.23 13.23.23 23.23.33 23.33.33 33.33.33 33.33.33 33.33.43
+ 33.43.43 43.43.53 43.53.63 53.63.73 63.73.73 73.73.73 73.73.83
+ 73.83.93 {} {} 4 4.14 4.14.24 14.24.34 24.34.34 34.34.34
+ 34.34.34 34.34.44 34.44.44 44.44.54 44.54.64 54.64.74 64.74.74
+ 74.74.74 74.74.84 74.84.84 84.84.84 {} {} 5 5.15 5.15.15
+ 15.15.15 15.15.25 15.25.35 25.35.35 35.35.55 35.55.55 55.55.65
+ 55.65.65 65.65.65 65.65.75 65.75.75 75.75.75 75.75.85 75.85.85
+ 85.85.85 85.85.95 {} {} 6 6.16 6.16.16 16.16.16 16.16.26
+ 16.26.26 26.26.36 26.36.36 36.36.36 36.36.36 36.36.46 36.46.46
+ 46.46.56 46.56.56 56.56.56 56.56.66 56.66.76 66.76.86 76.86.96
+ {} {} 7 7.7 7.7.7 7.7.17 7.17.27 17.27.27 27.27.37
+ 27.37.37 37.37.47 37.47.47 47.47.47 47.47.47 47.47.57 47.57.67
+ 57.67.77 67.77.77 77.77.87 77.87.87 {} {} 8 8.8 8.8.8
+ 8.8.28 8.28.38 28.38.38 38.38.58 38.58.58 58.58.58 58.58.58
+ 58.58.68 58.68.78 68.78.78 78.78.88 {} {} 9 9.9 9.9.9
+ 9.9.19 9.19.29 19.29.29 29.29.29 29.29.39 29.39.39 39.39.39
+ 39.39.49 39.49.59 49.59.59 59.59.59 59.59.59 59.59.69 59.69.79
+ 69.79.89 79.89.89 89.89.89}
+
+do_execsql_test 1.6.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING ) FROM t2
+} {{} {} 90 90.40 90.40.30 40.30.80 30.80.20 80.20.90 20.90.60
+ 90.60.70 60.70.80 70.80.90 80.90.30 90.30.50 30.50.10 50.10.30
+ 10.30.81 30.81.91 81.91.61 91.61.91 61.91.91 91.91.1 91.1.81
+ 1.81.41 81.41.61 41.61.1 61.1.21 1.21.11 21.11.51 11.51.41
+ 51.41.31 41.31.31 31.31.11 31.11.81 11.81.91 81.91.91 91.91.21
+ 91.21.62 21.62.12 62.12.32 12.32.22 32.22.42 22.42.2 42.2.72
+ 2.72.12 72.12.22 12.22.2 22.2.72 2.72.72 72.72.12 72.12.62
+ 12.62.52 62.52.82 52.82.93 82.93.23 93.23.93 23.93.43 93.43.3
+ 43.3.43 3.43.33 43.33.53 33.53.63 53.63.73 63.73.13 73.13.73
+ 13.73.73 73.73.33 73.33.93 33.93.23 93.23.13 23.13.33 13.33.3
+ 33.3.33 3.33.83 33.83.54 83.54.84 54.84.74 84.74.24 74.24.4
+ 24.4.94 4.94.84 94.84.74 84.74.34 74.34.34 34.34.44 34.44.74
+ 44.74.64 74.64.14 64.14.34 14.34.84 34.84.84 84.84.44 84.44.34
+ 44.34.65 34.65.35 65.35.85 35.85.85 85.85.55 85.55.15 55.15.25
+ 15.25.75 25.75.95 75.95.65 95.65.65 65.65.35 65.35.5 35.5.15
+ 5.15.95 15.95.55 95.55.75 55.75.85 75.85.75 85.75.15 75.15.95
+ 15.95.96 95.96.46 96.46.6 46.6.46 6.46.16 46.16.16 16.16.86
+ 16.86.56 86.56.56 56.56.56 56.56.16 56.16.36 16.36.76 36.76.96
+ 76.96.96 96.96.26 96.26.26 26.26.36 26.36.66 36.66.36 66.36.36
+ 36.36.97 36.97.27 97.27.97 27.97.67 97.67.77 67.77.47 77.47.7
+ 47.7.47 7.47.87 47.87.37 87.37.87 37.87.77 87.77.7 77.7.57
+ 7.57.47 57.47.47 47.47.37 47.37.27 37.27.17 27.17.7 17.7.38
+ 7.38.68 38.68.78 68.78.8 78.8.28 8.28.98 28.98.78 98.78.58
+ 78.58.98 58.98.8 98.8.88 8.88.8 88.8.58 8.58.58 58.58.58
+ 58.58.38 58.38.89 38.89.59 89.59.39 59.39.99 39.99.29 99.29.59
+ 29.59.89 59.89.89 89.89.29 89.29.9 29.9.79 9.79.49 79.49.59
+ 49.59.29 59.29.59 29.59.19 59.19.39 19.39.9 39.9.9 9.9.99}
+
+do_execsql_test 1.6.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.6.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+} {0 {} 0 {} 1 89 2 89 3 89.96 3 96 3 96.38 3 38 3 38.39
+ 3 39 3 39.91 3 91 3 91.6 3 6 3 6.97 3 97 3 97.46 3 46
+ 3 46.54 3 54 3 54.8 3 8 3 8.29 3 29 3 29.84 3 84 3 84.23
+ 3 23 3 23.16 3 16 3 16.65 3 65 3 65.47 3 47 3 47.86 3 86
+ 3 86.61 3 61 3 61.85 3 85 3 85.85 3 85 3 85.59 3 59 3 59.32
+ 3 32 3 32.3 3 3 3 3.22 3 22 3 22.55 3 55 3 55.28 3 28
+ 3 28.25 3 25 3 25.1 3 1 3 1.40 3 40 3 40.56 3 56 3 56.75
+ 3 75 3 75.89 3 89 3 89.76 3 76 3 76.4 3 4 3 4.42 3 42
+ 3 42.78 3 78 3 78.29 3 29 3 29.63 3 63 3 63.87 3 87 3 87.80
+ 3 80 3 80.72 3 72 3 72.9 3 9 3 9.73 3 73 3 73.65 3 65
+ 3 65.58 3 58 3 58.98 3 98 3 98.21 3 21 3 21.65 3 65 3 65.5
+ 3 5 3 5.11 3 11 3 11.87 3 87 3 87.12 3 12 3 12.20 3 20
+ 3 20.31 3 31 3 31.95 3 95 3 95.73 3 73 3 73.88 3 88 3 88.8
+ 3 8 3 8.49 3 49 3 49.90 3 90 3 90.96 3 96 3 96.55 3 55
+ 3 55.77 3 77 3 77.2 3 2 3 2.85 3 85 3 85.74 3 74 3 74.70
+ 3 70 3 70.19 3 19 3 19.26 3 26 3 26.47 3 47 3 47.90 3 90
+ 3 90.58 3 58 3 58.9 3 9 3 9.72 3 72 3 72.33 3 33 3 33.75
+ 3 75 3 75.81 3 81 3 81.23 3 23 3 23.13 3 13 3 13.14 3 14
+ 3 14.91 3 91 3 91.91 3 91 3 91.15 3 15 3 15.36 3 36 3 36.3
+ 3 3 3 3.69 3 69 3 69.52 3 52 3 52.50 3 50 3 50.10 3 10
+ 3 10.33 3 33 3 33.39 3 39 3 39.58 3 58 3 58.38 3 38 3 38.83
+ 3 83 3 83.82}
+
+do_execsql_test 1.6.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+} {0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {}}
+
+do_execsql_test 1.6.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+} {0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {} 0 {}
+ 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {} 0 {} 1 {} 2 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {} 0 {} 1 {}
+ 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 0 {} 0 {} 1 {} 2 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {}
+ 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {} 0 {} 1 {} 2 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {}}
+
+do_execsql_test 1.6.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 PRECEDING)
+} {0 {} 0 {} 1 89 2 89.6 3 89.6.29 3 6.29.47 3 29.47.59
+ 3 47.59.28 3 59.28.75 3 28.75.78 3 75.78.72 3 78.72.98 3 72.98.87
+ 3 98.87.73 3 87.73.96 3 73.96.74 3 96.74.90 3 74.90.75 3 90.75.91
+ 3 75.91.69 0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {}
+ 0 {} 1 96 2 96.97 3 96.97.84 3 97.84.86 3 84.86.32 3 86.32.25
+ 3 32.25.89 3 25.89.29 3 89.29.9 3 29.9.21 3 9.21.12 3 21.12.88
+ 3 12.88.55 3 88.55.70 3 55.70.58 3 70.58.81 3 58.81.91 0 {}
+ 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 0 {} 0 {} 1 38
+ 2 38.46 3 38.46.23 3 46.23.61 3 23.61.3 3 61.3.1 3 3.1.76
+ 3 1.76.63 3 76.63.73 3 63.73.65 3 73.65.20 3 65.20.8 3 20.8.77
+ 3 8.77.19 3 77.19.9 3 19.9.23 3 9.23.15 0 {} 0 {} 1 {} 2 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 0 {} 0 {} 1 39 2 39.54 3 39.54.16
+ 3 54.16.85 3 16.85.22 3 85.22.40 3 22.40.4 3 40.4.87 3 4.87.65
+ 3 87.65.5 3 65.5.31 3 5.31.49 3 31.49.2 3 49.2.26 3 2.26.72
+ 3 26.72.13 3 72.13.36 0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 0 {} 0 {} 1 91 2 91.8 3 91.8.65 3 8.65.85 3 65.85.55
+ 3 85.55.56 3 55.56.42 3 56.42.80 3 42.80.58 3 80.58.11 3 58.11.95
+ 3 11.95.90 3 95.90.85 3 90.85.47 3 85.47.33 3 47.33.14 3 33.14.3
+ 0 {} 0 {} 1 {} 2 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}}
+
+do_execsql_test 1.7.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {89 89 96 96 96 96 96 96 96 96 96 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.7.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {89 81 81 59 38 38 38 38 38 38 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 3 3 3 3 3 3 3 3 3 3 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1}
+
+do_execsql_test 1.7.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.7.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.7.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.7.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.7.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.7.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.7.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.7.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.7.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.7.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.7.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.7.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.7.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.7.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.7.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.7.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.7.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.7.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.7.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {99 92 108 72 52 83 55 79 109 65 26 120 119 50
+ 70 103 80 124 36 96 59 124 116 110 57 51 52 130
+ 103 74 87 48 128 117 105 136 131 71 133 92 109 63
+ 84 109 57 146 78 147 113 74 88 150 87 110 65 121
+ 106 110 124 85 145 107 161 171 150 156 80 171 120
+ 109 158 114 111 136 147 87 173 124 168 173 162 132
+ 101 154 167 190 161 110 156 195 198 102 123 177 169
+ 140 111 180 119 160 197 152 124 121 134 146 147 132
+ 213 141 193 200 210 157 132 136 175 161 218 188 226
+ 191 187 208 211 179 138 144 223 196 214 170 212 202
+ 163 184 172 173 195 229 240 187 210 200 163 227 228
+ 223 191 252 235 225 243 172 187 202 179 179 182 231
+ 261 207 263 206 189 209 212 276 181 274 249 239 234
+ 213 234 269 196 271 221 210 229 235 250 223 232 229
+ 279 224 280 216 207}
+
+do_execsql_test 1.7.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.7.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {65 102 87 138 57 181 80 111 26 48 144 207 36 121
+ 132 101 163 172 196 119 136 63 124 179 110 179 182
+ 74 132 189 51 52 85 216 163 134 123 210 78 141 57
+ 187 71 87 172 173 50 224 88 59 111 170 109 213
+ 223 146 147 84 114 191 206 221 157 161 209 229 74
+ 140 107 187 207 212 124 202 52 232 55 184 229 106
+ 132 152 120 92 110 179 235 65 70 87 110 195 200
+ 175 234 160 234 136 80 113 187 109 121 124 196 156
+ 210 239 250 72 109 188 202 191 105 154 79 231 147
+ 225 103 161 169 223 96 83 249 212 162 227 228 167
+ 180 193 117 177 214 145 208 235 150 110 211 103 158
+ 200 168 229 92 156 243 280 279 116 173 269 271 131
+ 133 223 128 173 197 210 99 150 161 147 218 240 109
+ 136 146 261 263 124 130 252 171 190 213 274 108 195
+ 226 119 124 171 198 120 276}
+
+do_execsql_test 1.7.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {196 134 109 213 223 106 234 191 212 168 229 147 218
+ 240 65 102 119 136 123 210 146 147 132 152 160 105
+ 154 92 156 243 109 136 146 261 263 87 138 63 124
+ 179 78 141 84 120 234 79 231 162 227 228 280 57
+ 181 110 179 57 187 114 191 206 221 92 110 136 147
+ 167 180 193 279 124 130 252 80 182 71 157 161 209
+ 229 179 235 80 225 117 177 214 116 173 269 271 171
+ 111 74 132 189 87 74 140 113 187 103 161 169 145
+ 208 235 131 133 223 190 213 274 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 128
+ 108 195 226 48 144 207 216 50 224 124 202 87 110
+ 195 200 196 96 110 211 173 197 119 124 36 121 132
+ 88 52 232 156 210 239 250 83 103 158 210 171 198
+ 101 163 172 163 59 111 170 55 184 229 175 72 109
+ 188 202 249 200 99 150 161 120 276}
+
+do_execsql_test 1.7.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.7.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.7.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 39 {} {} {} {}
+ {} {} {} 91 {} {} {} {} {} 77 54 54 {} {} {}
+ {} 62 {} {} {} {} {} 23 {} {} {} 97 86 {} 59
+ {} 84 {} {} 78 65 {} 16 90 81 {} 59 56 40 54
+ {} 85 {} {} {} {} 38 {} 32 47 {} 74 35 47 98
+ 96 {} 24 {} {} 29 12 46 36 53 {} 81 27 56 {}
+ {} 81 93 63 81 91 68 53 99 89 13 12 97 91 29
+ 7 7 78 35 84 53 84 58 61 91 99 15 61 98 16 5
+ 75 56 2 37 3 96 62 95 43 63 35 78 16 67 43 16
+ 16 90 72 98 85 56 90 46 29 29 4 74 74 2 76 41
+ 46 77 24 27 97 46 89 1 85 1 74 78 61 85 51 59
+ 35 30 56 25 47 28 73 6 73 74 93 43 3 56 47 85
+ 61 61 93 9 97 62}
+
+do_execsql_test 1.7.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 91 {} 11 {} {} {} {}
+ 11 {} {} {} {} {} {} {} {} {} 32 {} {} {} 32
+ {} {} 12 {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} {} {} {} {} {} {} 33 {} 43 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 47 {} {} {} {} {} {} {} {} {} 98 {} 98
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} 9 9 {} {} {}}
+
+do_execsql_test 1.7.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} 1 2 2 2 2 3 3 4 5 5 5 6 6 6 7 7 7 7
+ 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 12
+ 12 12 12 12 12 13 13 14 14 15 15 15 15 15 15
+ 16 16 16 16 16 16 17 17 17 17 19 19 19 19 20
+ 20 21 21 21 21 21 21 22 22 22 22 22 23 23 23
+ 24 25 25 26 26 27 27 27 27 27 27 29 29 29 30
+ 30 30 31 31 31 31 31 32 33 33 33 33 33 33 33
+ 33 33 33 33 34 34 34 34 34 34 34 35 35 36 36
+ 36 37 37 37 37 37 37 38 38 38 38 38 38 39 39
+ 39 39 39 40 41 41 41 41 41 42 43 43 43 43 43
+ 44 44 44 44 46 46 46 47 47 47 47 47 47 47 47
+ 47 47 47 49 49 49 50 51 51 51 52 52 52 53 53
+ 54 54 55 55}
+
+do_execsql_test 1.7.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 40 {} {} {} 40 41 50 {} {} {} {}
+ 50 {} {} {} 41 {} 10 91 61 {} 30 {} 10 61 30
+ {} {} 10 {} {} {} {} 1 {} 22 80 22 91 93 {}
+ {} 30 {} {} 91 {} 1 30 91 80 91 {} 43 {} 74
+ 21 20 {} {} 74 21 21 2 74 33 81 21 64 64 2 21
+ 93 62 14 14 3 91 11 24 55 93 93 62 90 91 55 3
+ 24 14 24 91 55 15 72 60 72 61 61 34 43 43 43
+ 61 12 4 15 15 51 51 12 23 12 12 25 41 25 13
+ 94 12 70 12 84 32 84 94 70 33 12 12 32 41 91
+ 70 22 33 84 80 31 75 84 53 75 80 84 80 53 53
+ 53 22 44 63 42 95 31 63 44 44 31 90 74 52 63
+ 31 63 1 42 90 90 95 3 42}
+
+do_execsql_test 1.7.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.7.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 81
+ 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
+ 81 81 81 81 81 62 62 62 62 62 62 62 62 62 62
+ 62 62 62 62 62 62 93 93 93 93 93 93 93 93 93
+ 93 93 93 93 93 93 93 93 93 93 93 93 54 54 54
+ 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54
+ 54 65 65 65 65 65 65 65 65 65 65 65 65 65 65
+ 65 65 65 65 65 65 65 96 96 96 96 96 96 96 96
+ 96 96 96 96 96 96 96 96 96 96 96 96 96 97 97
+ 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
+ 97 97 97 38 38 38 38 38 38 38 38 38 38 38 38
+ 38 38 38 38 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.7.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.7.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9}
+
+do_execsql_test 1.7.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90}
+
+do_execsql_test 1.7.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.7.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.7.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.7.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.7.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.7.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.7.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.7.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {89 89.81 89.81.96 89.81.96.59 89.81.96.59.38 89.81.96.59.38.68
+ 89.81.96.59.38.68.39 89.81.96.59.38.68.39.62 89.81.96.59.38.68.39.62.91
+ 89.81.96.59.38.68.39.62.91.46 89.81.96.59.38.68.39.62.91.46.6
+ 89.81.96.59.38.68.39.62.91.46.6.99 89.81.96.59.38.68.39.62.91.46.6.99.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7}
+
+do_execsql_test 1.7.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {90 90.40 90.40.30 90.40.30.80 90.40.30.80.20 90.40.30.80.20.90
+ 90.40.30.80.20.90.60 90.40.30.80.20.90.60.70 90.40.30.80.20.90.60.70.80
+ 90.40.30.80.20.90.60.70.80.90 90.40.30.80.20.90.60.70.80.90.30
+ 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30 81 81.91 81.91.61
+ 81.91.61.91 81.91.61.91.91 81.91.61.91.91.1 81.91.61.91.91.1.81
+ 81.91.61.91.91.1.81.41 81.91.61.91.91.1.81.41.61
+ 81.91.61.91.91.1.81.41.61.1 81.91.61.91.91.1.81.41.61.1.21
+ 81.91.61.91.91.1.81.41.61.1.21.11 81.91.61.91.91.1.81.41.61.1.21.11.51
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21 62 62.12
+ 62.12.32 62.12.32.22 62.12.32.22.42 62.12.32.22.42.2
+ 62.12.32.22.42.2.72 62.12.32.22.42.2.72.12 62.12.32.22.42.2.72.12.22
+ 62.12.32.22.42.2.72.12.22.2 62.12.32.22.42.2.72.12.22.2.72
+ 62.12.32.22.42.2.72.12.22.2.72.72 62.12.32.22.42.2.72.12.22.2.72.72.12
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82 93 93.23 93.23.93
+ 93.23.93.43 93.23.93.43.3 93.23.93.43.3.43 93.23.93.43.3.43.33
+ 93.23.93.43.3.43.33.53 93.23.93.43.3.43.33.53.63
+ 93.23.93.43.3.43.33.53.63.73 93.23.93.43.3.43.33.53.63.73.13
+ 93.23.93.43.3.43.33.53.63.73.13.73 93.23.93.43.3.43.33.53.63.73.13.73.73
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83 54 54.84
+ 54.84.74 54.84.74.24 54.84.74.24.4 54.84.74.24.4.94
+ 54.84.74.24.4.94.84 54.84.74.24.4.94.84.74 54.84.74.24.4.94.84.74.34
+ 54.84.74.24.4.94.84.74.34.34 54.84.74.24.4.94.84.74.34.34.44
+ 54.84.74.24.4.94.84.74.34.34.44.74 54.84.74.24.4.94.84.74.34.34.44.74.64
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34 65 65.35
+ 65.35.85 65.35.85.85 65.35.85.85.55 65.35.85.85.55.15
+ 65.35.85.85.55.15.25 65.35.85.85.55.15.25.75 65.35.85.85.55.15.25.75.95
+ 65.35.85.85.55.15.25.75.95.65 65.35.85.85.55.15.25.75.95.65.65
+ 65.35.85.85.55.15.25.75.95.65.65.35 65.35.85.85.55.15.25.75.95.65.65.35.5
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95 96 96.46
+ 96.46.6 96.46.6.46 96.46.6.46.16 96.46.6.46.16.16
+ 96.46.6.46.16.16.86 96.46.6.46.16.16.86.56 96.46.6.46.16.16.86.56.56
+ 96.46.6.46.16.16.86.56.56.56 96.46.6.46.16.16.86.56.56.56.16
+ 96.46.6.46.16.16.86.56.56.56.16.36 96.46.6.46.16.16.86.56.56.56.16.36.76
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36 97 97.27
+ 97.27.97 97.27.97.67 97.27.97.67.77 97.27.97.67.77.47
+ 97.27.97.67.77.47.7 97.27.97.67.77.47.7.47 97.27.97.67.77.47.7.47.87
+ 97.27.97.67.77.47.7.47.87.37 97.27.97.67.77.47.7.47.87.37.87
+ 97.27.97.67.77.47.7.47.87.37.87.77 97.27.97.67.77.47.7.47.87.37.87.77.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7 38 38.68
+ 38.68.78 38.68.78.8 38.68.78.8.28 38.68.78.8.28.98
+ 38.68.78.8.28.98.78 38.68.78.8.28.98.78.58 38.68.78.8.28.98.78.58.98
+ 38.68.78.8.28.98.78.58.98.8 38.68.78.8.28.98.78.58.98.8.88
+ 38.68.78.8.28.98.78.58.98.8.88.8 38.68.78.8.28.98.78.58.98.8.88.8.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38 89 89.59 89.59.39
+ 89.59.39.99 89.59.39.99.29 89.59.39.99.29.59 89.59.39.99.29.59.89
+ 89.59.39.99.29.59.89.89 89.59.39.99.29.59.89.89.29
+ 89.59.39.99.29.59.89.89.29.9 89.59.39.99.29.59.89.89.29.9.79
+ 89.59.39.99.29.59.89.89.29.9.79.49 89.59.39.99.29.59.89.89.29.9.79.49.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.7.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1.1 1.1.2 1.1.2.2 1.1.2.2.3 1.1.2.2.3.3 1.1.2.2.3.3.4
+ 1.1.2.2.3.3.4.5 1.1.2.2.3.3.4.5.6 1.1.2.2.3.3.4.5.6.7
+ 1.1.2.2.3.3.4.5.6.7.7 1.1.2.2.3.3.4.5.6.7.7.7 1.1.2.2.3.3.4.5.6.7.7.7.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99}
+
+do_execsql_test 1.7.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {10 10.20 10.20.30 10.20.30.30 10.20.30.30.30 10.20.30.30.30.40
+ 10.20.30.30.30.40.50 10.20.30.30.30.40.50.60 10.20.30.30.30.40.50.60.70
+ 10.20.30.30.30.40.50.60.70.80 10.20.30.30.30.40.50.60.70.80.80
+ 10.20.30.30.30.40.50.60.70.80.80.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90 1 1.1 1.1.11 1.1.11.11
+ 1.1.11.11.21 1.1.11.11.21.21 1.1.11.11.21.21.31 1.1.11.11.21.21.31.31
+ 1.1.11.11.21.21.31.31.41 1.1.11.11.21.21.31.31.41.41
+ 1.1.11.11.21.21.31.31.41.41.51 1.1.11.11.21.21.31.31.41.41.51.61
+ 1.1.11.11.21.21.31.31.41.41.51.61.61
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91 2 2.2
+ 2.2.12 2.2.12.12 2.2.12.12.12 2.2.12.12.12.22 2.2.12.12.12.22.22
+ 2.2.12.12.12.22.22.32 2.2.12.12.12.22.22.32.42
+ 2.2.12.12.12.22.22.32.42.52 2.2.12.12.12.22.22.32.42.52.62
+ 2.2.12.12.12.22.22.32.42.52.62.62 2.2.12.12.12.22.22.32.42.52.62.62.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82 3 3.3 3.3.13
+ 3.3.13.13 3.3.13.13.23 3.3.13.13.23.23 3.3.13.13.23.23.33
+ 3.3.13.13.23.23.33.33 3.3.13.13.23.23.33.33.33
+ 3.3.13.13.23.23.33.33.33.33 3.3.13.13.23.23.33.33.33.33.43
+ 3.3.13.13.23.23.33.33.33.33.43.43 3.3.13.13.23.23.33.33.33.33.43.43.53
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93 4 4.14
+ 4.14.24 4.14.24.34 4.14.24.34.34 4.14.24.34.34.34
+ 4.14.24.34.34.34.34 4.14.24.34.34.34.34.44 4.14.24.34.34.34.34.44.44
+ 4.14.24.34.34.34.34.44.44.54 4.14.24.34.34.34.34.44.44.54.64
+ 4.14.24.34.34.34.34.44.44.54.64.74 4.14.24.34.34.34.34.44.44.54.64.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94 5 5.15
+ 5.15.15 5.15.15.15 5.15.15.15.25 5.15.15.15.25.35
+ 5.15.15.15.25.35.35 5.15.15.15.25.35.35.55 5.15.15.15.25.35.35.55.55
+ 5.15.15.15.25.35.35.55.55.65 5.15.15.15.25.35.35.55.55.65.65
+ 5.15.15.15.25.35.35.55.55.65.65.65 5.15.15.15.25.35.35.55.55.65.65.65.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95 6 6.16
+ 6.16.16 6.16.16.16 6.16.16.16.26 6.16.16.16.26.26
+ 6.16.16.16.26.26.36 6.16.16.16.26.26.36.36 6.16.16.16.26.26.36.36.36
+ 6.16.16.16.26.26.36.36.36.36 6.16.16.16.26.26.36.36.36.36.46
+ 6.16.16.16.26.26.36.36.36.36.46.46 6.16.16.16.26.26.36.36.36.36.46.46.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96 7 7.7
+ 7.7.7 7.7.7.17 7.7.7.17.27 7.7.7.17.27.27 7.7.7.17.27.27.37
+ 7.7.7.17.27.27.37.37 7.7.7.17.27.27.37.37.47 7.7.7.17.27.27.37.37.47.47
+ 7.7.7.17.27.27.37.37.47.47.47 7.7.7.17.27.27.37.37.47.47.47.47
+ 7.7.7.17.27.27.37.37.47.47.47.47.57
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97 8 8.8 8.8.8
+ 8.8.8.28 8.8.8.28.38 8.8.8.28.38.38 8.8.8.28.38.38.58
+ 8.8.8.28.38.38.58.58 8.8.8.28.38.38.58.58.58 8.8.8.28.38.38.58.58.58.58
+ 8.8.8.28.38.38.58.58.58.58.68 8.8.8.28.38.38.58.58.58.58.68.78
+ 8.8.8.28.38.38.58.58.58.58.68.78.78
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98 9 9.9 9.9.9 9.9.9.19
+ 9.9.9.19.29 9.9.9.19.29.29 9.9.9.19.29.29.29 9.9.9.19.29.29.29.39
+ 9.9.9.19.29.29.29.39.39 9.9.9.19.29.29.29.39.39.39
+ 9.9.9.19.29.29.29.39.39.39.49 9.9.9.19.29.29.29.39.39.39.49.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99}
+
+do_execsql_test 1.7.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2
+} {90 90.40 90.40.30 90.40.30.80 90.40.30.80.20 90.40.30.80.20.90
+ 90.40.30.80.20.90.60 90.40.30.80.20.90.60.70 90.40.30.80.20.90.60.70.80
+ 90.40.30.80.20.90.60.70.80.90 90.40.30.80.20.90.60.70.80.90.30
+ 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.7.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.7.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.7.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.7.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.7.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 89 2 89 3 89.96 4 89.96 5 89.96.38 6 89.96.38 7 89.96.38.39
+ 8 89.96.38.39 9 89.96.38.39.91 10 89.96.38.39.91 11 89.96.38.39.91.6
+ 12 89.96.38.39.91.6 13 89.96.38.39.91.6.97 14 89.96.38.39.91.6.97
+ 15 89.96.38.39.91.6.97.46 16 89.96.38.39.91.6.97.46
+ 17 89.96.38.39.91.6.97.46.54 18 89.96.38.39.91.6.97.46.54
+ 19 89.96.38.39.91.6.97.46.54.8 20 89.96.38.39.91.6.97.46.54.8
+ 21 89.96.38.39.91.6.97.46.54.8.29 22 89.96.38.39.91.6.97.46.54.8.29
+ 23 89.96.38.39.91.6.97.46.54.8.29.84 24 89.96.38.39.91.6.97.46.54.8.29.84
+ 25 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 26 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 27 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 28 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 29 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 30 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 31 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 32 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 33 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 34 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 35 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 36 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 37 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 38 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 39 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 40 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 41 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 42 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 43 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 44 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 45 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 46 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 47 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 48 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 49 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 50 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 51 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 52 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 53 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 54 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 55 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 56 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 57 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 58 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 59 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 60 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 61 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 62 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 63 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 64 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 65 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 66 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 67 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 68 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 69 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 70 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 71 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 72 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 73 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 74 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 75 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 76 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 77 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 78 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 79 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 80 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 81 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 82 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 83 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 84 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 85 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 86 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 87 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 88 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 89 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 90 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 91 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 92 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 93 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 94 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 95 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 96 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 97 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 98 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 99 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 100 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 101 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 102 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 103 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 104 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 105 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 106 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 107 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 108 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 109 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 110 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 111 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 112 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 113 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 114 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 115 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 116 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 117 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 118 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 119 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 120 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 121 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 122 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 123 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 124 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 125 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 126 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 127 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 128 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 129 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 130 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 131 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 132 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 133 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 134 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 135 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 136 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 137 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 138 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 139 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 140 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 141 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 142 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 143 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 144 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 145 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 146 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 147 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 148 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 149 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 150 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 151 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 152 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 153 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 154 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 155 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 156 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 157 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 158 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 159 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 160 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 161 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 162 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 163 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 164 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 165 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 166 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 167 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 168 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 169 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 170 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 171 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 172 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 173 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 174 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 175 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 176 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 177 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 178 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 179 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 180 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 181 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 182 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 183 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 184 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 185 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 186 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 187 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83
+ 188 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83
+ 189 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7}
+
+do_execsql_test 1.7.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {}
+ 20 {} 21 {} 22 {} 23 {} 24 {} 25 {} 26 {} 27 {} 28 {}
+ 29 {} 30 {} 31 {} 32 {} 33 {} 34 {} 35 {} 36 {} 37 {}
+ 38 {} 39 {} 40 {} 41 {} 42 {} 43 {} 44 {} 45 {} 46 {}
+ 47 {} 48 {} 49 {} 50 {} 51 {} 52 {} 53 {} 54 {} 55 {}
+ 56 {} 57 {} 58 {} 59 {} 60 {} 61 {} 62 {} 63 {} 64 {}
+ 65 {} 66 {} 67 {} 68 {} 69 {} 70 {} 71 {} 72 {} 73 {}
+ 74 {} 75 {} 76 {} 77 {} 78 {} 79 {} 80 {} 81 {} 82 {}
+ 83 {} 84 {} 85 {} 86 {} 87 {} 88 {} 89 {} 90 {} 91 {}
+ 92 {} 93 {} 94 {} 95 {} 96 {} 97 {} 98 {} 99 {} 100 {}
+ 101 {} 102 {} 103 {} 104 {} 105 {} 106 {} 107 {} 108 {}
+ 109 {} 110 {} 111 {} 112 {} 113 {} 114 {} 115 {} 116 {}
+ 117 {} 118 {} 119 {} 120 {} 121 {} 122 {} 123 {} 124 {}
+ 125 {} 126 {} 127 {} 128 {} 129 {} 130 {} 131 {} 132 {}
+ 133 {} 134 {} 135 {} 136 {} 137 {} 138 {} 139 {} 140 {}
+ 141 {} 142 {} 143 {} 144 {} 145 {} 146 {} 147 {} 148 {}
+ 149 {} 150 {} 151 {} 152 {} 153 {} 154 {} 155 {} 156 {}
+ 157 {} 158 {} 159 {} 160 {} 161 {} 162 {} 163 {} 164 {}
+ 165 {} 166 {} 167 {} 168 {} 169 {} 170 {} 171 {} 172 {}
+ 173 {} 174 {} 175 {} 176 {} 177 {} 178 {} 179 {} 180 {}
+ 181 {} 182 {} 183 {} 184 {} 185 {} 186 {} 187 {} 188 {}
+ 189 {} 190 {} 191 {}}
+
+do_execsql_test 1.7.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {}
+ 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {}
+ 20 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {} 17 {} 18 {}
+ 19 {}}
+
+do_execsql_test 1.7.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
+} {1 89 2 89.6 3 89.6.29 4 89.6.29.47 5 89.6.29.47.59
+ 6 89.6.29.47.59.28 7 89.6.29.47.59.28.75 8 89.6.29.47.59.28.75.78
+ 9 89.6.29.47.59.28.75.78.72 10 89.6.29.47.59.28.75.78.72.98
+ 11 89.6.29.47.59.28.75.78.72.98.87 12 89.6.29.47.59.28.75.78.72.98.87.73
+ 13 89.6.29.47.59.28.75.78.72.98.87.73.96
+ 14 89.6.29.47.59.28.75.78.72.98.87.73.96.74
+ 15 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90
+ 16 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75
+ 17 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91
+ 18 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69
+ 19 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 96 2 96.97
+ 3 96.97.84 4 96.97.84.86 5 96.97.84.86.32 6 96.97.84.86.32.25
+ 7 96.97.84.86.32.25.89 8 96.97.84.86.32.25.89.29
+ 9 96.97.84.86.32.25.89.29.9 10 96.97.84.86.32.25.89.29.9.21
+ 11 96.97.84.86.32.25.89.29.9.21.12 12 96.97.84.86.32.25.89.29.9.21.12.88
+ 13 96.97.84.86.32.25.89.29.9.21.12.88.55
+ 14 96.97.84.86.32.25.89.29.9.21.12.88.55.70
+ 15 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58
+ 16 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81
+ 17 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91
+ 18 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 38 2 38.46
+ 3 38.46.23 4 38.46.23.61 5 38.46.23.61.3 6 38.46.23.61.3.1
+ 7 38.46.23.61.3.1.76 8 38.46.23.61.3.1.76.63 9 38.46.23.61.3.1.76.63.73
+ 10 38.46.23.61.3.1.76.63.73.65 11 38.46.23.61.3.1.76.63.73.65.20
+ 12 38.46.23.61.3.1.76.63.73.65.20.8
+ 13 38.46.23.61.3.1.76.63.73.65.20.8.77
+ 14 38.46.23.61.3.1.76.63.73.65.20.8.77.19
+ 15 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9
+ 16 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23
+ 17 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15
+ 18 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 39 2 39.54
+ 3 39.54.16 4 39.54.16.85 5 39.54.16.85.22 6 39.54.16.85.22.40
+ 7 39.54.16.85.22.40.4 8 39.54.16.85.22.40.4.87
+ 9 39.54.16.85.22.40.4.87.65 10 39.54.16.85.22.40.4.87.65.5
+ 11 39.54.16.85.22.40.4.87.65.5.31 12 39.54.16.85.22.40.4.87.65.5.31.49
+ 13 39.54.16.85.22.40.4.87.65.5.31.49.2
+ 14 39.54.16.85.22.40.4.87.65.5.31.49.2.26
+ 15 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72
+ 16 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13
+ 17 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36
+ 18 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 1 91 2 91.8
+ 3 91.8.65 4 91.8.65.85 5 91.8.65.85.55 6 91.8.65.85.55.56
+ 7 91.8.65.85.55.56.42 8 91.8.65.85.55.56.42.80
+ 9 91.8.65.85.55.56.42.80.58 10 91.8.65.85.55.56.42.80.58.11
+ 11 91.8.65.85.55.56.42.80.58.11.95 12 91.8.65.85.55.56.42.80.58.11.95.90
+ 13 91.8.65.85.55.56.42.80.58.11.95.90.85
+ 14 91.8.65.85.55.56.42.80.58.11.95.90.85.47
+ 15 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33
+ 16 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14
+ 17 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3
+ 18 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82 1 {} 2 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {}
+ 13 {} 14 {} 15 {} 16 {} 17 {} 18 {} 19 {}}
+
+do_execsql_test 1.8.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {89 89 96 96 96 96 96 68 91 91 91 99 99 99 99
+ 99 97 97 97 97 97 97 93 93 93 93 84 93 93 93
+ 93 93 86 86 86 91 91 91 91 91 85 85 85 59 59
+ 91 91 91 91 91 90 90 89 89 89 89 56 56 56 56
+ 75 75 89 98 98 98 98 98 94 94 94 94 78 78 78
+ 63 87 87 87 87 87 84 84 84 73 95 95 95 95 96
+ 98 98 98 98 98 74 74 74 73 73 87 87 87 87 87
+ 41 31 31 95 95 95 95 95 88 88 88 88 49 90 90
+ 96 96 96 96 96 77 77 77 85 85 85 85 85 74 74
+ 70 70 59 47 80 90 90 90 90 90 72 72 72 72 93
+ 93 93 93 93 81 81 81 37 37 62 91 91 91 91 91
+ 91 91 99 99 99 99 99 95 95 69 84 84 84 84 84
+ 84 84 58 58 58 58 83 83 83 83 83}
+
+do_execsql_test 1.8.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {89 81 81 59 38 38 38 38 38 39 6 6 6 6 6 27
+ 27 27 8 8 8 8 8 29 23 16 16 16 16 16 16 7 7
+ 7 7 7 61 24 24 24 24 12 12 12 3 3 3 3 3 15
+ 15 15 15 15 1 1 1 1 1 16 16 16 16 16 36 36
+ 4 4 4 4 4 30 29 29 29 2 2 2 2 2 37 37 9 9
+ 9 9 9 13 13 13 13 1 1 1 1 1 5 5 5 5 5 11
+ 11 8 8 8 8 8 15 15 15 15 22 22 8 8 8 8 8
+ 11 34 34 55 55 55 44 2 2 2 2 2 7 29 29 19
+ 19 19 19 19 26 26 26 36 36 9 9 9 9 9 33 33
+ 33 33 9 9 9 9 9 12 12 12 12 14 33 15 15 15
+ 15 3 3 3 3 3 30 30 30 10 10 10 10 10 21 21
+ 21 30 30 30 27 27 17 7}
+
+do_execsql_test 1.8.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.8.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.8.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.8.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.8.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.8.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.8.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.8.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.8.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.8.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.8.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.8.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.8.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.8.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.8.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.8.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.8.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.8.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.8.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {99 92 108 72 52 83 55 79 109 65 26 120 119 50
+ 70 103 80 124 36 96 59 124 116 110 57 51 52 130
+ 103 74 87 48 128 117 105 136 131 71 133 92 109 63
+ 84 109 57 146 78 147 113 74 88 150 87 110 65 121
+ 106 110 124 85 145 107 161 171 150 156 80 171 120
+ 109 158 114 111 136 147 87 173 124 168 173 162 132
+ 101 154 167 190 161 110 156 195 198 102 123 177 169
+ 140 111 180 119 160 197 152 124 121 134 146 147 132
+ 213 141 193 200 210 157 132 136 175 161 218 188 226
+ 191 187 208 211 179 138 144 223 196 214 170 212 202
+ 163 184 172 173 195 229 240 187 210 200 163 227 228
+ 223 191 252 235 225 243 172 187 202 179 179 182 231
+ 261 207 263 206 189 209 212 276 181 274 249 239 234
+ 213 234 269 196 271 221 210 229 235 250 223 232 229
+ 279 224 280 216 207}
+
+do_execsql_test 1.8.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.8.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {65 102 87 138 57 181 80 111 26 48 144 207 36 121
+ 132 101 163 172 196 119 136 63 124 179 110 179 182
+ 74 132 189 51 52 85 216 163 134 123 210 78 141 57
+ 187 71 87 172 173 50 224 88 59 111 170 109 213
+ 223 146 147 84 114 191 206 221 157 161 209 229 74
+ 140 107 187 207 212 124 202 52 232 55 184 229 106
+ 132 152 120 92 110 179 235 65 70 87 110 195 200
+ 175 234 160 234 136 80 113 187 109 121 124 196 156
+ 210 239 250 72 109 188 202 191 105 154 79 231 147
+ 225 103 161 169 223 96 83 249 212 162 227 228 167
+ 180 193 117 177 214 145 208 235 150 110 211 103 158
+ 200 168 229 92 156 243 280 279 116 173 269 271 131
+ 133 223 128 173 197 210 99 150 161 147 218 240 109
+ 136 146 261 263 124 130 252 171 190 213 274 108 195
+ 226 119 124 171 198 120 276}
+
+do_execsql_test 1.8.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {196 134 109 213 223 106 234 191 212 168 229 147 218
+ 240 65 102 119 136 123 210 146 147 132 152 160 105
+ 154 92 156 243 109 136 146 261 263 87 138 63 124
+ 179 78 141 84 120 234 79 231 162 227 228 280 57
+ 181 110 179 57 187 114 191 206 221 92 110 136 147
+ 167 180 193 279 124 130 252 80 182 71 157 161 209
+ 229 179 235 80 225 117 177 214 116 173 269 271 171
+ 111 74 132 189 87 74 140 113 187 103 161 169 145
+ 208 235 131 133 223 190 213 274 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 128
+ 108 195 226 48 144 207 216 50 224 124 202 87 110
+ 195 200 196 96 110 211 173 197 119 124 36 121 132
+ 88 52 232 156 210 239 250 83 103 158 210 171 198
+ 101 163 172 163 59 111 170 55 184 229 175 72 109
+ 188 202 249 200 99 150 161 120 276}
+
+do_execsql_test 1.8.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.8.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.8.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} 56
+ {} {} {} {} {} {} {} {} {} 89 {} {} {} {} {}
+ {} {} {} {} {} {} 4 {} {} {} {} {} {} {} {}
+ 53 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 58 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 77 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 99 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {{} 1 2 2 2 3 4 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {89 89 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.8.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 81
+ 81 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 62 62 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 93 93 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 54 54 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 65
+ 65 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 96 96 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 97 97 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 38
+ 38 38 38 38 68 78 8 28 98 78 58 98 8 88 8 89
+ 89 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.8.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.8.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {10 10 10 10 10 20 30 30 30 40 50 60 70 80 1 1
+ 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61 81
+ 81 81 91 2 2 2 2 2 2 12 12 12 22 22 32 42
+ 52 62 62 3 3 3 3 3 3 13 13 23 23 33 33 33
+ 33 43 43 53 63 73 73 73 4 4 4 4 4 14 24 34
+ 34 34 34 44 44 54 64 74 74 74 84 5 5 5 5 5
+ 15 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 6 6 6 6 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 7 7 7 7 7 7 7 17 27 27 37
+ 37 47 47 47 47 57 67 77 77 8 8 8 8 8 8 8 28
+ 38 38 58 58 58 58 68 78 9 9 9 9 9 9 9 19 29
+ 29 29 39 39 39 49 59 59 59 59 69 79 89}
+
+do_execsql_test 1.8.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.8.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.8.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.8.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.8.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.8.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.8.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.8.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.8.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {89 89.81 89.81.96 89.81.96.59 89.81.96.59.38 81.96.59.38.68
+ 96.59.38.68.39 59.38.68.39.62 38.68.39.62.91 68.39.62.91.46
+ 39.62.91.46.6 62.91.46.6.99 91.46.6.99.97 46.6.99.97.27
+ 6.99.97.27.46 99.97.27.46.78 97.27.46.78.54 27.46.78.54.97
+ 46.78.54.97.8 78.54.97.8.67 54.97.8.67.29 97.8.67.29.93
+ 8.67.29.93.84 67.29.93.84.77 29.93.84.77.23 93.84.77.23.16
+ 84.77.23.16.16 77.23.16.16.93 23.16.16.93.65 16.16.93.65.35
+ 16.93.65.35.47 93.65.35.47.7 65.35.47.7.86 35.47.7.86.74
+ 47.7.86.74.61 7.86.74.61.91 86.74.61.91.85 74.61.91.85.24
+ 61.91.85.24.85 91.85.24.85.43 85.24.85.43.59 24.85.43.59.12
+ 85.43.59.12.32 43.59.12.32.56 59.12.32.56.3 12.32.56.3.91
+ 32.56.3.91.22 56.3.91.22.90 3.91.22.90.55 91.22.90.55.15
+ 22.90.55.15.28 90.55.15.28.89 55.15.28.89.25 15.28.89.25.47
+ 28.89.25.47.1 89.25.47.1.56 25.47.1.56.40 47.1.56.40.43
+ 1.56.40.43.56 56.40.43.56.16 40.43.56.16.75 43.56.16.75.36
+ 56.16.75.36.89 16.75.36.89.98 75.36.89.98.76 36.89.98.76.81
+ 89.98.76.81.4 98.76.81.4.94 76.81.4.94.42 81.4.94.42.30
+ 4.94.42.30.78 94.42.30.78.33 42.30.78.33.29 30.78.33.29.53
+ 78.33.29.53.63 33.29.53.63.2 29.53.63.2.87 53.63.2.87.37
+ 63.2.87.37.80 2.87.37.80.84 87.37.80.84.72 37.80.84.72.41
+ 80.84.72.41.9 84.72.41.9.61 72.41.9.61.73 41.9.61.73.95
+ 9.61.73.95.65 61.73.95.65.13 73.95.65.13.58 95.65.13.58.96
+ 65.13.58.96.98 13.58.96.98.1 58.96.98.1.21 96.98.1.21.74
+ 98.1.21.74.65 1.21.74.65.35 21.74.65.35.5 74.65.35.5.73
+ 65.35.5.73.11 35.5.73.11.51 5.73.11.51.87 73.11.51.87.41
+ 11.51.87.41.12 51.87.41.12.8 87.41.12.8.20 41.12.8.20.31
+ 12.8.20.31.31 8.20.31.31.15 20.31.31.15.95 31.31.15.95.22
+ 31.15.95.22.73 15.95.22.73.79 95.22.73.79.88 22.73.79.88.34
+ 73.79.88.34.8 79.88.34.8.11 88.34.8.11.49 34.8.11.49.34
+ 8.11.49.34.90 11.49.34.90.59 49.34.90.59.96 34.90.59.96.60
+ 90.59.96.60.55 59.96.60.55.75 96.60.55.75.77 60.55.75.77.44
+ 55.75.77.44.2 75.77.44.2.7 77.44.2.7.85 44.2.7.85.57 2.7.85.57.74
+ 7.85.57.74.29 85.57.74.29.70 57.74.29.70.59 74.29.70.59.19
+ 29.70.59.19.39 70.59.19.39.26 59.19.39.26.26 19.39.26.26.47
+ 39.26.26.47.80 26.26.47.80.90 26.47.80.90.36 47.80.90.36.58
+ 80.90.36.58.47 90.36.58.47.9 36.58.47.9.72 58.47.9.72.72
+ 47.9.72.72.66 9.72.72.66.33 72.72.66.33.93 72.66.33.93.75
+ 66.33.93.75.64 33.93.75.64.81 93.75.64.81.9 75.64.81.9.23
+ 64.81.9.23.37 81.9.23.37.13 9.23.37.13.12 23.37.13.12.14
+ 37.13.12.14.62 13.12.14.62.91 12.14.62.91.36 14.62.91.36.91
+ 62.91.36.91.33 91.36.91.33.15 36.91.33.15.34 91.33.15.34.36
+ 33.15.34.36.99 15.34.36.99.3 34.36.99.3.95 36.99.3.95.69
+ 99.3.95.69.58 3.95.69.58.52 95.69.58.52.30 69.58.52.30.50
+ 58.52.30.50.84 52.30.50.84.10 30.50.84.10.84 50.84.10.84.33
+ 84.10.84.33.21 10.84.33.21.39 84.33.21.39.44 33.21.39.44.58
+ 21.39.44.58.30 39.44.58.30.38 44.58.30.38.34 58.30.38.34.83
+ 30.38.34.83.27 38.34.83.27.82 34.83.27.82.17 83.27.82.17.7}
+
+do_execsql_test 1.8.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {90 90.40 90.40.30 90.40.30.80 90.40.30.80.20 40.30.80.20.90
+ 30.80.20.90.60 80.20.90.60.70 20.90.60.70.80 90.60.70.80.90
+ 60.70.80.90.30 70.80.90.30.50 80.90.30.50.10 90.30.50.10.30 81
+ 81.91 81.91.61 81.91.61.91 81.91.61.91.91 91.61.91.91.1
+ 61.91.91.1.81 91.91.1.81.41 91.1.81.41.61 1.81.41.61.1
+ 81.41.61.1.21 41.61.1.21.11 61.1.21.11.51 1.21.11.51.41
+ 21.11.51.41.31 11.51.41.31.31 51.41.31.31.11 41.31.31.11.81
+ 31.31.11.81.91 31.11.81.91.91 11.81.91.91.21 62 62.12 62.12.32
+ 62.12.32.22 62.12.32.22.42 12.32.22.42.2 32.22.42.2.72
+ 22.42.2.72.12 42.2.72.12.22 2.72.12.22.2 72.12.22.2.72
+ 12.22.2.72.72 22.2.72.72.12 2.72.72.12.62 72.72.12.62.52
+ 72.12.62.52.82 93 93.23 93.23.93 93.23.93.43 93.23.93.43.3
+ 23.93.43.3.43 93.43.3.43.33 43.3.43.33.53 3.43.33.53.63
+ 43.33.53.63.73 33.53.63.73.13 53.63.73.13.73 63.73.13.73.73
+ 73.13.73.73.33 13.73.73.33.93 73.73.33.93.23 73.33.93.23.13
+ 33.93.23.13.33 93.23.13.33.3 23.13.33.3.33 13.33.3.33.83 54 54.84
+ 54.84.74 54.84.74.24 54.84.74.24.4 84.74.24.4.94 74.24.4.94.84
+ 24.4.94.84.74 4.94.84.74.34 94.84.74.34.34 84.74.34.34.44
+ 74.34.34.44.74 34.34.44.74.64 34.44.74.64.14 44.74.64.14.34
+ 74.64.14.34.84 64.14.34.84.84 14.34.84.84.44 34.84.84.44.34 65
+ 65.35 65.35.85 65.35.85.85 65.35.85.85.55 35.85.85.55.15
+ 85.85.55.15.25 85.55.15.25.75 55.15.25.75.95 15.25.75.95.65
+ 25.75.95.65.65 75.95.65.65.35 95.65.65.35.5 65.65.35.5.15
+ 65.35.5.15.95 35.5.15.95.55 5.15.95.55.75 15.95.55.75.85
+ 95.55.75.85.75 55.75.85.75.15 75.85.75.15.95 96 96.46 96.46.6
+ 96.46.6.46 96.46.6.46.16 46.6.46.16.16 6.46.16.16.86 46.16.16.86.56
+ 16.16.86.56.56 16.86.56.56.56 86.56.56.56.16 56.56.56.16.36
+ 56.56.16.36.76 56.16.36.76.96 16.36.76.96.96 36.76.96.96.26
+ 76.96.96.26.26 96.96.26.26.36 96.26.26.36.66 26.26.36.66.36
+ 26.36.66.36.36 97 97.27 97.27.97 97.27.97.67 97.27.97.67.77
+ 27.97.67.77.47 97.67.77.47.7 67.77.47.7.47 77.47.7.47.87
+ 47.7.47.87.37 7.47.87.37.87 47.87.37.87.77 87.37.87.77.7
+ 37.87.77.7.57 87.77.7.57.47 77.7.57.47.47 7.57.47.47.37
+ 57.47.47.37.27 47.47.37.27.17 47.37.27.17.7 38 38.68 38.68.78
+ 38.68.78.8 38.68.78.8.28 68.78.8.28.98 78.8.28.98.78 8.28.98.78.58
+ 28.98.78.58.98 98.78.58.98.8 78.58.98.8.88 58.98.8.88.8
+ 98.8.88.8.58 8.88.8.58.58 88.8.58.58.58 8.58.58.58.38 89 89.59
+ 89.59.39 89.59.39.99 89.59.39.99.29 59.39.99.29.59 39.99.29.59.89
+ 99.29.59.89.89 29.59.89.89.29 59.89.89.29.9 89.89.29.9.79
+ 89.29.9.79.49 29.9.79.49.59 9.79.49.59.29 79.49.59.29.59
+ 49.59.29.59.19 59.29.59.19.39 29.59.19.39.9 59.19.39.9.9
+ 19.39.9.9.99 39.9.9.99.69 9.9.99.69.39}
+
+do_execsql_test 1.8.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {1 1.1 1.1.2 1.1.2.2 1.1.2.2.3 1.2.2.3.3 2.2.3.3.4 2.3.3.4.5
+ 3.3.4.5.6 3.4.5.6.7 4.5.6.7.7 5.6.7.7.7 6.7.7.7.8 7.7.7.8.8
+ 7.7.8.8.8 7.8.8.8.9 8.8.8.9.9 8.8.9.9.9 8.9.9.9.10 9.9.9.10.11
+ 9.9.10.11.11 9.10.11.11.12 10.11.11.12.12 11.11.12.12.12
+ 11.12.12.12.13 12.12.12.13.13 12.12.13.13.14 12.13.13.14.15
+ 13.13.14.15.15 13.14.15.15.15 14.15.15.15.16 15.15.15.16.16
+ 15.15.16.16.16 15.16.16.16.17 16.16.16.17.19 16.16.17.19.20
+ 16.17.19.20.21 17.19.20.21.21 19.20.21.21.22 20.21.21.22.22
+ 21.21.22.22.23 21.22.22.23.23 22.22.23.23.24 22.23.23.24.25
+ 23.23.24.25.26 23.24.25.26.26 24.25.26.26.27 25.26.26.27.27
+ 26.26.27.27.28 26.27.27.28.29 27.27.28.29.29 27.28.29.29.29
+ 28.29.29.29.30 29.29.29.30.30 29.29.30.30.30 29.30.30.30.31
+ 30.30.30.31.31 30.30.31.31.32 30.31.31.32.33 31.31.32.33.33
+ 31.32.33.33.33 32.33.33.33.33 33.33.33.33.34 33.33.33.34.34
+ 33.33.34.34.34 33.34.34.34.34 34.34.34.34.35 34.34.34.35.35
+ 34.34.35.35.36 34.35.35.36.36 35.35.36.36.36 35.36.36.36.36
+ 36.36.36.36.37 36.36.36.37.37 36.36.37.37.38 36.37.37.38.38
+ 37.37.38.38.39 37.38.38.39.39 38.38.39.39.39 38.39.39.39.40
+ 39.39.39.40.41 39.39.40.41.41 39.40.41.41.42 40.41.41.42.43
+ 41.41.42.43.43 41.42.43.43.44 42.43.43.44.44 43.43.44.44.46
+ 43.44.44.46.46 44.44.46.46.47 44.46.46.47.47 46.46.47.47.47
+ 46.47.47.47.47 47.47.47.47.49 47.47.47.49.50 47.47.49.50.51
+ 47.49.50.51.52 49.50.51.52.53 50.51.52.53.54 51.52.53.54.55
+ 52.53.54.55.55 53.54.55.55.56 54.55.55.56.56 55.55.56.56.56
+ 55.56.56.56.57 56.56.56.57.58 56.56.57.58.58 56.57.58.58.58
+ 57.58.58.58.58 58.58.58.58.59 58.58.58.59.59 58.58.59.59.59
+ 58.59.59.59.59 59.59.59.59.60 59.59.59.60.61 59.59.60.61.61
+ 59.60.61.61.62 60.61.61.62.62 61.61.62.62.63 61.62.62.63.64
+ 62.62.63.64.65 62.63.64.65.65 63.64.65.65.65 64.65.65.65.66
+ 65.65.65.66.67 65.65.66.67.68 65.66.67.68.69 66.67.68.69.70
+ 67.68.69.70.72 68.69.70.72.72 69.70.72.72.72 70.72.72.72.73
+ 72.72.72.73.73 72.72.73.73.73 72.73.73.73.74 73.73.73.74.74
+ 73.73.74.74.74 73.74.74.74.75 74.74.74.75.75 74.74.75.75.75
+ 74.75.75.75.76 75.75.75.76.77 75.75.76.77.77 75.76.77.77.78
+ 76.77.77.78.78 77.77.78.78.79 77.78.78.79.80 78.78.79.80.80
+ 78.79.80.80.81 79.80.80.81.81 80.80.81.81.81 80.81.81.81.82
+ 81.81.81.82.83 81.81.82.83.84 81.82.83.84.84 82.83.84.84.84
+ 83.84.84.84.84 84.84.84.84.85 84.84.84.85.85 84.84.85.85.85
+ 84.85.85.85.86 85.85.85.86.87 85.85.86.87.87 85.86.87.87.88
+ 86.87.87.88.89 87.87.88.89.89 87.88.89.89.89 88.89.89.89.90
+ 89.89.89.90.90 89.89.90.90.90 89.90.90.90.91 90.90.90.91.91
+ 90.90.91.91.91 90.91.91.91.91 91.91.91.91.91 91.91.91.91.93
+ 91.91.91.93.93 91.91.93.93.93 91.93.93.93.94 93.93.93.94.95
+ 93.93.94.95.95 93.94.95.95.95 94.95.95.95.96 95.95.95.96.96
+ 95.95.96.96.96 95.96.96.96.97 96.96.96.97.97 96.96.97.97.98
+ 96.97.97.98.98 97.97.98.98.99 97.98.98.99.99}
+
+do_execsql_test 1.8.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {10 10.20 10.20.30 10.20.30.30 10.20.30.30.30 20.30.30.30.40
+ 30.30.30.40.50 30.30.40.50.60 30.40.50.60.70 40.50.60.70.80
+ 50.60.70.80.80 60.70.80.80.90 70.80.80.90.90 80.80.90.90.90 1 1.1
+ 1.1.11 1.1.11.11 1.1.11.11.21 1.11.11.21.21 11.11.21.21.31
+ 11.21.21.31.31 21.21.31.31.41 21.31.31.41.41 31.31.41.41.51
+ 31.41.41.51.61 41.41.51.61.61 41.51.61.61.81 51.61.61.81.81
+ 61.61.81.81.81 61.81.81.81.91 81.81.81.91.91 81.81.91.91.91
+ 81.91.91.91.91 91.91.91.91.91 2 2.2 2.2.12 2.2.12.12
+ 2.2.12.12.12 2.12.12.12.22 12.12.12.22.22 12.12.22.22.32
+ 12.22.22.32.42 22.22.32.42.52 22.32.42.52.62 32.42.52.62.62
+ 42.52.62.62.72 52.62.62.72.72 62.62.72.72.72 62.72.72.72.82 3 3.3
+ 3.3.13 3.3.13.13 3.3.13.13.23 3.13.13.23.23 13.13.23.23.33
+ 13.23.23.33.33 23.23.33.33.33 23.33.33.33.33 33.33.33.33.43
+ 33.33.33.43.43 33.33.43.43.53 33.43.43.53.63 43.43.53.63.73
+ 43.53.63.73.73 53.63.73.73.73 63.73.73.73.83 73.73.73.83.93
+ 73.73.83.93.93 73.83.93.93.93 4 4.14 4.14.24 4.14.24.34
+ 4.14.24.34.34 14.24.34.34.34 24.34.34.34.34 34.34.34.34.44
+ 34.34.34.44.44 34.34.44.44.54 34.44.44.54.64 44.44.54.64.74
+ 44.54.64.74.74 54.64.74.74.74 64.74.74.74.84 74.74.74.84.84
+ 74.74.84.84.84 74.84.84.84.84 84.84.84.84.94 5 5.15 5.15.15
+ 5.15.15.15 5.15.15.15.25 15.15.15.25.35 15.15.25.35.35
+ 15.25.35.35.55 25.35.35.55.55 35.35.55.55.65 35.55.55.65.65
+ 55.55.65.65.65 55.65.65.65.75 65.65.65.75.75 65.65.75.75.75
+ 65.75.75.75.85 75.75.75.85.85 75.75.85.85.85 75.85.85.85.95
+ 85.85.85.95.95 85.85.95.95.95 6 6.16 6.16.16 6.16.16.16
+ 6.16.16.16.26 16.16.16.26.26 16.16.26.26.36 16.26.26.36.36
+ 26.26.36.36.36 26.36.36.36.36 36.36.36.36.46 36.36.36.46.46
+ 36.36.46.46.56 36.46.46.56.56 46.46.56.56.56 46.56.56.56.66
+ 56.56.56.66.76 56.56.66.76.86 56.66.76.86.96 66.76.86.96.96
+ 76.86.96.96.96 7 7.7 7.7.7 7.7.7.17 7.7.7.17.27 7.7.17.27.27
+ 7.17.27.27.37 17.27.27.37.37 27.27.37.37.47 27.37.37.47.47
+ 37.37.47.47.47 37.47.47.47.47 47.47.47.47.57 47.47.47.57.67
+ 47.47.57.67.77 47.57.67.77.77 57.67.77.77.87 67.77.77.87.87
+ 77.77.87.87.97 77.87.87.97.97 8 8.8 8.8.8 8.8.8.28 8.8.8.28.38
+ 8.8.28.38.38 8.28.38.38.58 28.38.38.58.58 38.38.58.58.58
+ 38.58.58.58.58 58.58.58.58.68 58.58.58.68.78 58.58.68.78.78
+ 58.68.78.78.88 68.78.78.88.98 78.78.88.98.98 9 9.9 9.9.9
+ 9.9.9.19 9.9.9.19.29 9.9.19.29.29 9.19.29.29.29 19.29.29.29.39
+ 29.29.29.39.39 29.29.39.39.39 29.39.39.39.49 39.39.39.49.59
+ 39.39.49.59.59 39.49.59.59.59 49.59.59.59.59 59.59.59.59.69
+ 59.59.59.69.79 59.59.69.79.89 59.69.79.89.89 69.79.89.89.89
+ 79.89.89.89.99 89.89.89.99.99}
+
+do_execsql_test 1.8.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW ) FROM t2
+} {90 90.40 90.40.30 90.40.30.80 90.40.30.80.20 40.30.80.20.90
+ 30.80.20.90.60 80.20.90.60.70 20.90.60.70.80 90.60.70.80.90
+ 60.70.80.90.30 70.80.90.30.50 80.90.30.50.10 90.30.50.10.30
+ 30.50.10.30.81 50.10.30.81.91 10.30.81.91.61 30.81.91.61.91
+ 81.91.61.91.91 91.61.91.91.1 61.91.91.1.81 91.91.1.81.41
+ 91.1.81.41.61 1.81.41.61.1 81.41.61.1.21 41.61.1.21.11
+ 61.1.21.11.51 1.21.11.51.41 21.11.51.41.31 11.51.41.31.31
+ 51.41.31.31.11 41.31.31.11.81 31.31.11.81.91 31.11.81.91.91
+ 11.81.91.91.21 81.91.91.21.62 91.91.21.62.12 91.21.62.12.32
+ 21.62.12.32.22 62.12.32.22.42 12.32.22.42.2 32.22.42.2.72
+ 22.42.2.72.12 42.2.72.12.22 2.72.12.22.2 72.12.22.2.72
+ 12.22.2.72.72 22.2.72.72.12 2.72.72.12.62 72.72.12.62.52
+ 72.12.62.52.82 12.62.52.82.93 62.52.82.93.23 52.82.93.23.93
+ 82.93.23.93.43 93.23.93.43.3 23.93.43.3.43 93.43.3.43.33
+ 43.3.43.33.53 3.43.33.53.63 43.33.53.63.73 33.53.63.73.13
+ 53.63.73.13.73 63.73.13.73.73 73.13.73.73.33 13.73.73.33.93
+ 73.73.33.93.23 73.33.93.23.13 33.93.23.13.33 93.23.13.33.3
+ 23.13.33.3.33 13.33.3.33.83 33.3.33.83.54 3.33.83.54.84
+ 33.83.54.84.74 83.54.84.74.24 54.84.74.24.4 84.74.24.4.94
+ 74.24.4.94.84 24.4.94.84.74 4.94.84.74.34 94.84.74.34.34
+ 84.74.34.34.44 74.34.34.44.74 34.34.44.74.64 34.44.74.64.14
+ 44.74.64.14.34 74.64.14.34.84 64.14.34.84.84 14.34.84.84.44
+ 34.84.84.44.34 84.84.44.34.65 84.44.34.65.35 44.34.65.35.85
+ 34.65.35.85.85 65.35.85.85.55 35.85.85.55.15 85.85.55.15.25
+ 85.55.15.25.75 55.15.25.75.95 15.25.75.95.65 25.75.95.65.65
+ 75.95.65.65.35 95.65.65.35.5 65.65.35.5.15 65.35.5.15.95
+ 35.5.15.95.55 5.15.95.55.75 15.95.55.75.85 95.55.75.85.75
+ 55.75.85.75.15 75.85.75.15.95 85.75.15.95.96 75.15.95.96.46
+ 15.95.96.46.6 95.96.46.6.46 96.46.6.46.16 46.6.46.16.16
+ 6.46.16.16.86 46.16.16.86.56 16.16.86.56.56 16.86.56.56.56
+ 86.56.56.56.16 56.56.56.16.36 56.56.16.36.76 56.16.36.76.96
+ 16.36.76.96.96 36.76.96.96.26 76.96.96.26.26 96.96.26.26.36
+ 96.26.26.36.66 26.26.36.66.36 26.36.66.36.36 36.66.36.36.97
+ 66.36.36.97.27 36.36.97.27.97 36.97.27.97.67 97.27.97.67.77
+ 27.97.67.77.47 97.67.77.47.7 67.77.47.7.47 77.47.7.47.87
+ 47.7.47.87.37 7.47.87.37.87 47.87.37.87.77 87.37.87.77.7
+ 37.87.77.7.57 87.77.7.57.47 77.7.57.47.47 7.57.47.47.37
+ 57.47.47.37.27 47.47.37.27.17 47.37.27.17.7 37.27.17.7.38
+ 27.17.7.38.68 17.7.38.68.78 7.38.68.78.8 38.68.78.8.28
+ 68.78.8.28.98 78.8.28.98.78 8.28.98.78.58 28.98.78.58.98
+ 98.78.58.98.8 78.58.98.8.88 58.98.8.88.8 98.8.88.8.58 8.88.8.58.58
+ 88.8.58.58.58 8.58.58.58.38 58.58.58.38.89 58.58.38.89.59
+ 58.38.89.59.39 38.89.59.39.99 89.59.39.99.29 59.39.99.29.59
+ 39.99.29.59.89 99.29.59.89.89 29.59.89.89.29 59.89.89.29.9
+ 89.89.29.9.79 89.29.9.79.49 29.9.79.49.59 9.79.49.59.29
+ 79.49.59.29.59 49.59.29.59.19 59.29.59.19.39 29.59.19.39.9
+ 59.19.39.9.9 19.39.9.9.99 39.9.9.99.69 9.9.99.69.39}
+
+do_execsql_test 1.8.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.8.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.8.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.8.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.8.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+} {1 89 2 89 3 89.96 4 89.96 5 89.96.38 5 96.38 5 96.38.39
+ 5 38.39 5 38.39.91 5 39.91 5 39.91.6 5 91.6 5 91.6.97 5 6.97
+ 5 6.97.46 5 97.46 5 97.46.54 5 46.54 5 46.54.8 5 54.8 5 54.8.29
+ 5 8.29 5 8.29.84 5 29.84 5 29.84.23 5 84.23 5 84.23.16 5 23.16
+ 5 23.16.65 5 16.65 5 16.65.47 5 65.47 5 65.47.86 5 47.86
+ 5 47.86.61 5 86.61 5 86.61.85 5 61.85 5 61.85.85 5 85.85
+ 5 85.85.59 5 85.59 5 85.59.32 5 59.32 5 59.32.3 5 32.3
+ 5 32.3.22 5 3.22 5 3.22.55 5 22.55 5 22.55.28 5 55.28
+ 5 55.28.25 5 28.25 5 28.25.1 5 25.1 5 25.1.40 5 1.40 5 1.40.56
+ 5 40.56 5 40.56.75 5 56.75 5 56.75.89 5 75.89 5 75.89.76
+ 5 89.76 5 89.76.4 5 76.4 5 76.4.42 5 4.42 5 4.42.78 5 42.78
+ 5 42.78.29 5 78.29 5 78.29.63 5 29.63 5 29.63.87 5 63.87
+ 5 63.87.80 5 87.80 5 87.80.72 5 80.72 5 80.72.9 5 72.9
+ 5 72.9.73 5 9.73 5 9.73.65 5 73.65 5 73.65.58 5 65.58
+ 5 65.58.98 5 58.98 5 58.98.21 5 98.21 5 98.21.65 5 21.65
+ 5 21.65.5 5 65.5 5 65.5.11 5 5.11 5 5.11.87 5 11.87 5 11.87.12
+ 5 87.12 5 87.12.20 5 12.20 5 12.20.31 5 20.31 5 20.31.95
+ 5 31.95 5 31.95.73 5 95.73 5 95.73.88 5 73.88 5 73.88.8 5 88.8
+ 5 88.8.49 5 8.49 5 8.49.90 5 49.90 5 49.90.96 5 90.96
+ 5 90.96.55 5 96.55 5 96.55.77 5 55.77 5 55.77.2 5 77.2
+ 5 77.2.85 5 2.85 5 2.85.74 5 85.74 5 85.74.70 5 74.70
+ 5 74.70.19 5 70.19 5 70.19.26 5 19.26 5 19.26.47 5 26.47
+ 5 26.47.90 5 47.90 5 47.90.58 5 90.58 5 90.58.9 5 58.9
+ 5 58.9.72 5 9.72 5 9.72.33 5 72.33 5 72.33.75 5 33.75
+ 5 33.75.81 5 75.81 5 75.81.23 5 81.23 5 81.23.13 5 23.13
+ 5 23.13.14 5 13.14 5 13.14.91 5 14.91 5 14.91.91 5 91.91
+ 5 91.91.15 5 91.15 5 91.15.36 5 15.36 5 15.36.3 5 36.3
+ 5 36.3.69 5 3.69 5 3.69.52 5 69.52 5 69.52.50 5 52.50
+ 5 52.50.10 5 50.10 5 50.10.33 5 10.33 5 10.33.39 5 33.39
+ 5 33.39.58 5 39.58 5 39.58.38 5 58.38 5 58.38.83 5 38.83
+ 5 38.83.82 5 83.82 5 83.82.7}
+
+do_execsql_test 1.8.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+} {1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {}}
+
+do_execsql_test 1.8.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+} {1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 1 {} 2 {}
+ 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 1 {} 2 {} 3 {} 4 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 1 {} 2 {} 3 {}
+ 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 1 {} 2 {} 3 {} 4 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 1 {}
+ 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 1 {} 2 {} 3 {} 4 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {}}
+
+do_execsql_test 1.8.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND CURRENT ROW)
+} {1 89 2 89.6 3 89.6.29 4 89.6.29.47 5 89.6.29.47.59
+ 5 6.29.47.59.28 5 29.47.59.28.75 5 47.59.28.75.78 5 59.28.75.78.72
+ 5 28.75.78.72.98 5 75.78.72.98.87 5 78.72.98.87.73 5 72.98.87.73.96
+ 5 98.87.73.96.74 5 87.73.96.74.90 5 73.96.74.90.75 5 96.74.90.75.91
+ 5 74.90.75.91.69 5 90.75.91.69.39 5 75.91.69.39.7 1 {} 2 {} 3 {}
+ 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 1 96 2 96.97 3 96.97.84
+ 4 96.97.84.86 5 96.97.84.86.32 5 97.84.86.32.25 5 84.86.32.25.89
+ 5 86.32.25.89.29 5 32.25.89.29.9 5 25.89.29.9.21 5 89.29.9.21.12
+ 5 29.9.21.12.88 5 9.21.12.88.55 5 21.12.88.55.70 5 12.88.55.70.58
+ 5 88.55.70.58.81 5 55.70.58.81.91 5 70.58.81.91.52 5 58.81.91.52.58
+ 1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 1 38 2 38.46
+ 3 38.46.23 4 38.46.23.61 5 38.46.23.61.3 5 46.23.61.3.1
+ 5 23.61.3.1.76 5 61.3.1.76.63 5 3.1.76.63.73 5 1.76.63.73.65
+ 5 76.63.73.65.20 5 63.73.65.20.8 5 73.65.20.8.77 5 65.20.8.77.19
+ 5 20.8.77.19.9 5 8.77.19.9.23 5 77.19.9.23.15 5 19.9.23.15.50
+ 5 9.23.15.50.38 1 {} 2 {} 3 {} 4 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 1 39 2 39.54 3 39.54.16 4 39.54.16.85 5 39.54.16.85.22
+ 5 54.16.85.22.40 5 16.85.22.40.4 5 85.22.40.4.87 5 22.40.4.87.65
+ 5 40.4.87.65.5 5 4.87.65.5.31 5 87.65.5.31.49 5 65.5.31.49.2
+ 5 5.31.49.2.26 5 31.49.2.26.72 5 49.2.26.72.13 5 2.26.72.13.36
+ 5 26.72.13.36.10 5 72.13.36.10.83 1 {} 2 {} 3 {} 4 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 1 91 2 91.8 3 91.8.65 4 91.8.65.85
+ 5 91.8.65.85.55 5 8.65.85.55.56 5 65.85.55.56.42 5 85.55.56.42.80
+ 5 55.56.42.80.58 5 56.42.80.58.11 5 42.80.58.11.95 5 80.58.11.95.90
+ 5 58.11.95.90.85 5 11.95.90.85.47 5 95.90.85.47.33 5 90.85.47.33.14
+ 5 85.47.33.14.3 5 47.33.14.3.33 5 33.14.3.33.82 1 {} 2 {} 3 {}
+ 4 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {}}
+
+do_execsql_test 1.9.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.9.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.9.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.9.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.9.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.9.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.9.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.9.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.9.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.9.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.9.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.9.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.9.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.9.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.9.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.9.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.9.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.9.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.9.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.9.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.9.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {99 92 108 72 52 83 55 79 109 65 26 120 119 50
+ 70 103 80 124 36 96 59 124 116 110 57 51 52 130
+ 103 74 87 48 128 117 105 136 131 71 133 92 109 63
+ 84 109 57 146 78 147 113 74 88 150 87 110 65 121
+ 106 110 124 85 145 107 161 171 150 156 80 171 120
+ 109 158 114 111 136 147 87 173 124 168 173 162 132
+ 101 154 167 190 161 110 156 195 198 102 123 177 169
+ 140 111 180 119 160 197 152 124 121 134 146 147 132
+ 213 141 193 200 210 157 132 136 175 161 218 188 226
+ 191 187 208 211 179 138 144 223 196 214 170 212 202
+ 163 184 172 173 195 229 240 187 210 200 163 227 228
+ 223 191 252 235 225 243 172 187 202 179 179 182 231
+ 261 207 263 206 189 209 212 276 181 274 249 239 234
+ 213 234 269 196 271 221 210 229 235 250 223 232 229
+ 279 224 280 216 207}
+
+do_execsql_test 1.9.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.9.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {65 102 87 138 57 181 80 111 26 48 144 207 36 121
+ 132 101 163 172 196 119 136 63 124 179 110 179 182
+ 74 132 189 51 52 85 216 163 134 123 210 78 141 57
+ 187 71 87 172 173 50 224 88 59 111 170 109 213
+ 223 146 147 84 114 191 206 221 157 161 209 229 74
+ 140 107 187 207 212 124 202 52 232 55 184 229 106
+ 132 152 120 92 110 179 235 65 70 87 110 195 200
+ 175 234 160 234 136 80 113 187 109 121 124 196 156
+ 210 239 250 72 109 188 202 191 105 154 79 231 147
+ 225 103 161 169 223 96 83 249 212 162 227 228 167
+ 180 193 117 177 214 145 208 235 150 110 211 103 158
+ 200 168 229 92 156 243 280 279 116 173 269 271 131
+ 133 223 128 173 197 210 99 150 161 147 218 240 109
+ 136 146 261 263 124 130 252 171 190 213 274 108 195
+ 226 119 124 171 198 120 276}
+
+do_execsql_test 1.9.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {196 134 109 213 223 106 234 191 212 168 229 147 218
+ 240 65 102 119 136 123 210 146 147 132 152 160 105
+ 154 92 156 243 109 136 146 261 263 87 138 63 124
+ 179 78 141 84 120 234 79 231 162 227 228 280 57
+ 181 110 179 57 187 114 191 206 221 92 110 136 147
+ 167 180 193 279 124 130 252 80 182 71 157 161 209
+ 229 179 235 80 225 117 177 214 116 173 269 271 171
+ 111 74 132 189 87 74 140 113 187 103 161 169 145
+ 208 235 131 133 223 190 213 274 26 51 52 85 172
+ 173 107 187 207 212 65 70 109 121 124 223 150 128
+ 108 195 226 48 144 207 216 50 224 124 202 87 110
+ 195 200 196 96 110 211 173 197 119 124 36 121 132
+ 88 52 232 156 210 239 250 83 103 158 210 171 198
+ 101 163 172 163 59 111 170 55 184 229 175 72 109
+ 188 202 249 200 99 150 161 120 276}
+
+do_execsql_test 1.9.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {147 106 109 168 134 218 191 212 229 240 213 234 196
+ 223 92 109 105 136 146 65 156 132 154 102 123 119
+ 160 152 146 147 136 243 261 263 210 79 63 84 78
+ 120 87 162 124 141 138 227 228 179 231 234 280 124
+ 57 130 92 57 110 114 136 147 167 110 180 193 191
+ 252 187 179 206 181 221 279 80 116 117 71 80 171
+ 173 177 157 161 179 214 225 182 209 269 271 235 229
+ 103 74 131 133 113 74 87 145 190 161 169 140 111
+ 132 213 187 208 223 235 189 274 108 65 26 70 51
+ 52 128 109 121 124 85 107 150 195 226 172 173 187
+ 223 207 212 119 50 124 96 110 87 48 110 173 124
+ 197 211 144 196 195 200 202 224 216 207 52 83 103
+ 36 88 171 158 156 198 121 210 132 210 239 250 232
+ 99 72 55 120 59 109 150 161 111 101 200 175 188
+ 170 202 163 184 163 172 276 249 229}
+
+do_execsql_test 1.9.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.9.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.9.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.9.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.9.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.9.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.9.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.9.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.9.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.9.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.9.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.9.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.9.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.9.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.9.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.9.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.9.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.9.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND CURRENT ROW ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.9.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.9.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.9.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.9.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.9.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 89 1 {} 1 96 1 {} 1 38 1 {} 1 39 1 {} 1 91 1 {} 1 6
+ 1 {} 1 97 1 {} 1 46 1 {} 1 54 1 {} 1 8 1 {} 1 29 1 {}
+ 1 84 1 {} 1 23 1 {} 1 16 1 {} 1 65 1 {} 1 47 1 {} 1 86
+ 1 {} 1 61 1 {} 1 85 1 {} 1 85 1 {} 1 59 1 {} 1 32 1 {}
+ 1 3 1 {} 1 22 1 {} 1 55 1 {} 1 28 1 {} 1 25 1 {} 1 1
+ 1 {} 1 40 1 {} 1 56 1 {} 1 75 1 {} 1 89 1 {} 1 76 1 {}
+ 1 4 1 {} 1 42 1 {} 1 78 1 {} 1 29 1 {} 1 63 1 {} 1 87
+ 1 {} 1 80 1 {} 1 72 1 {} 1 9 1 {} 1 73 1 {} 1 65 1 {}
+ 1 58 1 {} 1 98 1 {} 1 21 1 {} 1 65 1 {} 1 5 1 {} 1 11
+ 1 {} 1 87 1 {} 1 12 1 {} 1 20 1 {} 1 31 1 {} 1 95 1 {}
+ 1 73 1 {} 1 88 1 {} 1 8 1 {} 1 49 1 {} 1 90 1 {} 1 96
+ 1 {} 1 55 1 {} 1 77 1 {} 1 2 1 {} 1 85 1 {} 1 74 1 {}
+ 1 70 1 {} 1 19 1 {} 1 26 1 {} 1 47 1 {} 1 90 1 {} 1 58
+ 1 {} 1 9 1 {} 1 72 1 {} 1 33 1 {} 1 75 1 {} 1 81 1 {}
+ 1 23 1 {} 1 13 1 {} 1 14 1 {} 1 91 1 {} 1 91 1 {} 1 15
+ 1 {} 1 36 1 {} 1 3 1 {} 1 69 1 {} 1 52 1 {} 1 50 1 {}
+ 1 10 1 {} 1 33 1 {} 1 39 1 {} 1 58 1 {} 1 38 1 {} 1 83
+ 1 {} 1 82 1 {} 1 7}
+
+do_execsql_test 1.9.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {}}
+
+do_execsql_test 1.9.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {}}
+
+do_execsql_test 1.9.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW AND CURRENT ROW)
+} {1 89 1 6 1 29 1 47 1 59 1 28 1 75 1 78 1 72 1 98 1 87
+ 1 73 1 96 1 74 1 90 1 75 1 91 1 69 1 39 1 7 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 96 1 97 1 84 1 86 1 32
+ 1 25 1 89 1 29 1 9 1 21 1 12 1 88 1 55 1 70 1 58 1 81
+ 1 91 1 52 1 58 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 38 1 46 1 23 1 61 1 3 1 1 1 76 1 63 1 73 1 65 1 20
+ 1 8 1 77 1 19 1 9 1 23 1 15 1 50 1 38 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 39 1 54 1 16 1 85 1 22 1 40
+ 1 4 1 87 1 65 1 5 1 31 1 49 1 2 1 26 1 72 1 13 1 36
+ 1 10 1 83 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 91
+ 1 8 1 65 1 85 1 55 1 56 1 42 1 80 1 58 1 11 1 95 1 90
+ 1 85 1 47 1 33 1 14 1 3 1 33 1 82 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {} 1 {}
+ 1 {} 1 {} 1 {} 1 {}}
+
+do_execsql_test 1.10.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {96 96 96 96 96 96 96 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.10.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {38 38 38 38 38 38 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1}
+
+do_execsql_test 1.10.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.10.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.10.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.10.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.10.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.10.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.10.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.10.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.10.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.10.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.10.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.10.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.10.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.10.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.10.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.10.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.10.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.10.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.10.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {52 83 55 79 109 65 26 120 119 50 70 103 80 124
+ 36 96 59 124 116 110 57 51 52 130 103 74 87 48
+ 128 117 105 136 131 71 133 92 109 63 84 109 57
+ 146 78 147 113 74 88 150 87 110 65 121 106 110
+ 124 85 145 107 161 171 150 156 80 171 120 109 158
+ 114 111 136 147 87 173 124 168 173 162 132 101 154
+ 167 190 161 110 156 195 198 102 123 177 169 140 111
+ 180 119 160 197 152 124 121 134 146 147 132 213 141
+ 193 200 210 157 132 136 175 161 218 188 226 191 187
+ 208 211 179 138 144 223 196 214 170 212 202 163 184
+ 172 173 195 229 240 187 210 200 163 227 228 223 191
+ 252 235 225 243 172 187 202 179 179 182 231 261 207
+ 263 206 189 209 212 276 181 274 249 239 234 213 234
+ 269 196 271 221 210 229 235 250 223 232 229 279 224
+ 280 216 207 207 207 207 207}
+
+do_execsql_test 1.10.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {134 218 191 212 229 240 213 234 196 223 223 223 223
+ 223 146 65 156 132 154 102 123 119 160 152 146 147
+ 136 243 261 263 210 210 210 210 210 120 87 162 124
+ 141 138 227 228 179 231 234 280 280 280 280 280 57
+ 110 114 136 147 167 110 180 193 191 252 187 179 206
+ 181 221 279 279 279 279 279 80 171 173 177 157 161
+ 179 214 225 182 209 269 271 235 229 229 229 229 229
+ 113 74 87 145 190 161 169 140 111 132 213 187 208
+ 223 235 189 274 274 274 274 274 51 52 128 109 121
+ 124 85 107 150 195 226 172 173 187 223 207 212 212
+ 212 212 212 110 87 48 110 173 124 197 211 144 196
+ 195 200 202 224 216 207 207 207 207 207 88 171 158
+ 156 198 121 210 132 210 239 250 232 232 232 232 232
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163 172 276 249 229 229 229 229 229}
+
+do_execsql_test 1.10.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {57 181 80 111 26 48 144 207 36 121 132 101 163
+ 172 196 119 136 63 124 179 110 179 182 74 132 189
+ 51 52 85 216 163 134 123 210 78 141 57 187 71 87
+ 172 173 50 224 88 59 111 170 109 213 223 146 147
+ 84 114 191 206 221 157 161 209 229 74 140 107 187
+ 207 212 124 202 52 232 55 184 229 106 132 152 120
+ 92 110 179 235 65 70 87 110 195 200 175 234 160
+ 234 136 80 113 187 109 121 124 196 156 210 239 250
+ 72 109 188 202 191 105 154 79 231 147 225 103 161
+ 169 223 96 83 249 212 162 227 228 167 180 193 117
+ 177 214 145 208 235 150 110 211 103 158 200 168 229
+ 92 156 243 280 279 116 173 269 271 131 133 223 128
+ 173 197 210 99 150 161 147 218 240 109 136 146 261
+ 263 124 130 252 171 190 213 274 108 195 226 119 124
+ 171 198 120 276 276 276 276 276}
+
+do_execsql_test 1.10.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {223 106 234 191 212 168 229 147 218 240 240 240 240
+ 240 123 210 146 147 132 152 160 105 154 92 156 243
+ 109 136 146 261 263 263 263 263 263 179 78 141 84
+ 120 234 79 231 162 227 228 280 280 280 280 280 57
+ 187 114 191 206 221 92 110 136 147 167 180 193 279
+ 124 130 252 252 252 252 252 161 209 229 179 235 80
+ 225 117 177 214 116 173 269 271 171 171 171 171 171
+ 87 74 140 113 187 103 161 169 145 208 235 131 133
+ 223 190 213 274 274 274 274 274 172 173 107 187 207
+ 212 65 70 109 121 124 223 150 128 108 195 226 226
+ 226 226 226 50 224 124 202 87 110 195 200 196 96
+ 110 211 173 197 119 124 124 124 124 124 52 232 156
+ 210 239 250 83 103 158 210 171 198 198 198 198 198
+ 59 111 170 55 184 229 175 72 109 188 202 249 200
+ 99 150 161 120 276 276 276 276 276}
+
+do_execsql_test 1.10.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {134 218 191 212 229 240 213 234 196 223 92 109 105
+ 136 146 65 156 132 154 102 123 119 160 152 146 147
+ 136 243 261 263 210 79 63 84 78 120 87 162 124
+ 141 138 227 228 179 231 234 280 124 57 130 92 57
+ 110 114 136 147 167 110 180 193 191 252 187 179 206
+ 181 221 279 80 116 117 71 80 171 173 177 157 161
+ 179 214 225 182 209 269 271 235 229 103 74 131 133
+ 113 74 87 145 190 161 169 140 111 132 213 187 208
+ 223 235 189 274 108 65 26 70 51 52 128 109 121
+ 124 85 107 150 195 226 172 173 187 223 207 212 119
+ 50 124 96 110 87 48 110 173 124 197 211 144 196
+ 195 200 202 224 216 207 52 83 103 36 88 171 158
+ 156 198 121 210 132 210 239 250 232 99 72 55 120
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163 172 276 249 229 229 229 229 229}
+
+do_execsql_test 1.10.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.10.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 39 {} {} {} {}
+ {} {} {} 91 {} {} {} {} {} 77 54 54 {} {} {}
+ {} 62 {} {} {} {} {} 23 {} 56 {} 97 86 {} 59
+ {} 84 {} {} 78 65 {} 16 90 81 40 59 56 40 54
+ {} 85 {} {} {} {} 38 {} 32 47 {} 74 35 47 98
+ 96 {} 24 72 {} 29 12 46 36 53 {} 81 27 56 {}
+ {} 81 93 63 81 91 68 53 99 89 13 12 97 91 29
+ 7 7 78 35 84 53 84 58 61 91 99 15 61 98 16 5
+ 75 56 2 37 3 96 62 95 43 63 35 78 16 67 43 16
+ 16 90 72 98 85 56 90 46 29 29 4 74 74 2 76 41
+ 46 77 24 27 97 46 89 1 85 1 74 78 61 85 51 59
+ 35 30 56 25 47 28 73 6 73 74 93 43 3 56 47 85
+ 61 61 93 9 97 62}
+
+do_execsql_test 1.10.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 91 {} 11 {} {} {} {}
+ 11 {} {} {} {} {} {} {} {} {} 32 {} {} {} 32
+ {} {} 12 {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 33 {} {} {} {} {} 33 {} 43 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} 34 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 15 55
+ {} {} {} {} {} 55 {} {} {} 86 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 47 {} {} {} {} {} 47 {} {} {} {}
+ {} 27 47 {} {} {} {} {} {} {} {} {} 98 {} 98
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} 99 {} 9 9 {} {} {}}
+
+do_execsql_test 1.10.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 2 2 2 2 3 3 4 5 5 5 6 6 6 7 7 7 7
+ 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 12
+ 12 12 12 12 12 13 13 14 14 15 15 15 15 15 15
+ 16 16 16 16 16 16 17 17 17 17 19 19 19 19 20
+ 20 21 21 21 21 21 21 22 22 22 22 22 23 23 23
+ 24 25 25 26 26 27 27 27 27 27 27 29 29 29 30
+ 30 30 31 31 31 31 31 32 33 33 33 33 33 33 33
+ 33 33 33 33 34 34 34 34 34 34 34 35 35 36 36
+ 36 37 37 37 37 37 37 38 38 38 38 38 38 39 39
+ 39 39 39 40 41 41 41 41 41 42 43 43 43 43 43
+ 44 44 44 44 46 46 46 47 47 47 47 47 47 47 47
+ 47 47 47 49 49 49 50 51 51 51 52 52 52 53 53
+ 54 54 55 55}
+
+do_execsql_test 1.10.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} 1 1
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 12 12 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 13 13 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 34 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 40 {} {} {} 40 41 50 {} {} 81 81
+ 50 {} {} {} 41 {} 10 91 61 12 30 {} 10 61 30
+ {} {} 10 {} 23 {} {} 1 {} 22 80 22 91 93 73
+ {} 30 {} {} 91 {} 1 30 91 80 91 {} 43 {} 74
+ 21 20 {} {} 74 21 21 2 74 33 81 21 64 64 2 21
+ 93 62 14 14 3 91 11 24 55 93 93 62 90 91 55 3
+ 24 14 24 91 55 15 72 60 72 61 61 34 43 43 43
+ 61 12 4 15 15 51 51 12 23 12 12 25 41 25 13
+ 94 12 70 12 84 32 84 94 70 33 12 12 32 41 91
+ 70 22 33 84 80 31 75 84 53 75 80 84 80 53 53
+ 53 22 44 63 42 95 31 63 44 44 31 90 74 52 63
+ 31 63 1 42 90 90 95 3 42}
+
+do_execsql_test 1.10.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.10.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 81
+ 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
+ 81 81 81 81 81 62 62 62 62 62 62 62 62 62 62
+ 62 62 62 62 62 62 93 93 93 93 93 93 93 93 93
+ 93 93 93 93 93 93 93 93 93 93 93 93 54 54 54
+ 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54
+ 54 65 65 65 65 65 65 65 65 65 65 65 65 65 65
+ 65 65 65 65 65 65 65 96 96 96 96 96 96 96 96
+ 96 96 96 96 96 96 96 96 96 96 96 96 96 97 97
+ 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
+ 97 97 97 38 38 38 38 38 38 38 38 38 38 38 38
+ 38 38 38 38 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.10.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.10.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9}
+
+do_execsql_test 1.10.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90}
+
+do_execsql_test 1.10.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.10.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.10.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.10.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.10.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.10.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.10.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.10.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {89.81.96.59.38 89.81.96.59.38.68 89.81.96.59.38.68.39
+ 89.81.96.59.38.68.39.62 89.81.96.59.38.68.39.62.91
+ 89.81.96.59.38.68.39.62.91.46 89.81.96.59.38.68.39.62.91.46.6
+ 89.81.96.59.38.68.39.62.91.46.6.99 89.81.96.59.38.68.39.62.91.46.6.99.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7}
+
+do_execsql_test 1.10.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {90.40.30.80.20 90.40.30.80.20.90 90.40.30.80.20.90.60
+ 90.40.30.80.20.90.60.70 90.40.30.80.20.90.60.70.80
+ 90.40.30.80.20.90.60.70.80.90 90.40.30.80.20.90.60.70.80.90.30
+ 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30 81.91.61.91.91
+ 81.91.61.91.91.1 81.91.61.91.91.1.81 81.91.61.91.91.1.81.41
+ 81.91.61.91.91.1.81.41.61 81.91.61.91.91.1.81.41.61.1
+ 81.91.61.91.91.1.81.41.61.1.21 81.91.61.91.91.1.81.41.61.1.21.11
+ 81.91.61.91.91.1.81.41.61.1.21.11.51
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 62.12.32.22.42 62.12.32.22.42.2 62.12.32.22.42.2.72
+ 62.12.32.22.42.2.72.12 62.12.32.22.42.2.72.12.22
+ 62.12.32.22.42.2.72.12.22.2 62.12.32.22.42.2.72.12.22.2.72
+ 62.12.32.22.42.2.72.12.22.2.72.72 62.12.32.22.42.2.72.12.22.2.72.72.12
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82 93.23.93.43.3
+ 93.23.93.43.3.43 93.23.93.43.3.43.33 93.23.93.43.3.43.33.53
+ 93.23.93.43.3.43.33.53.63 93.23.93.43.3.43.33.53.63.73
+ 93.23.93.43.3.43.33.53.63.73.13 93.23.93.43.3.43.33.53.63.73.13.73
+ 93.23.93.43.3.43.33.53.63.73.13.73.73
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 54.84.74.24.4 54.84.74.24.4.94 54.84.74.24.4.94.84
+ 54.84.74.24.4.94.84.74 54.84.74.24.4.94.84.74.34
+ 54.84.74.24.4.94.84.74.34.34 54.84.74.24.4.94.84.74.34.34.44
+ 54.84.74.24.4.94.84.74.34.34.44.74 54.84.74.24.4.94.84.74.34.34.44.74.64
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34 65.35.85.85.55
+ 65.35.85.85.55.15 65.35.85.85.55.15.25 65.35.85.85.55.15.25.75
+ 65.35.85.85.55.15.25.75.95 65.35.85.85.55.15.25.75.95.65
+ 65.35.85.85.55.15.25.75.95.65.65 65.35.85.85.55.15.25.75.95.65.65.35
+ 65.35.85.85.55.15.25.75.95.65.65.35.5
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 96.46.6.46.16 96.46.6.46.16.16 96.46.6.46.16.16.86
+ 96.46.6.46.16.16.86.56 96.46.6.46.16.16.86.56.56
+ 96.46.6.46.16.16.86.56.56.56 96.46.6.46.16.16.86.56.56.56.16
+ 96.46.6.46.16.16.86.56.56.56.16.36 96.46.6.46.16.16.86.56.56.56.16.36.76
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 97.27.97.67.77 97.27.97.67.77.47 97.27.97.67.77.47.7
+ 97.27.97.67.77.47.7.47 97.27.97.67.77.47.7.47.87
+ 97.27.97.67.77.47.7.47.87.37 97.27.97.67.77.47.7.47.87.37.87
+ 97.27.97.67.77.47.7.47.87.37.87.77 97.27.97.67.77.47.7.47.87.37.87.77.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7 38.68.78.8.28
+ 38.68.78.8.28.98 38.68.78.8.28.98.78 38.68.78.8.28.98.78.58
+ 38.68.78.8.28.98.78.58.98 38.68.78.8.28.98.78.58.98.8
+ 38.68.78.8.28.98.78.58.98.8.88 38.68.78.8.28.98.78.58.98.8.88.8
+ 38.68.78.8.28.98.78.58.98.8.88.8.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38 89.59.39.99.29
+ 89.59.39.99.29.59 89.59.39.99.29.59.89 89.59.39.99.29.59.89.89
+ 89.59.39.99.29.59.89.89.29 89.59.39.99.29.59.89.89.29.9
+ 89.59.39.99.29.59.89.89.29.9.79 89.59.39.99.29.59.89.89.29.9.79.49
+ 89.59.39.99.29.59.89.89.29.9.79.49.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.10.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {1.1.2.2.3 1.1.2.2.3.3 1.1.2.2.3.3.4 1.1.2.2.3.3.4.5
+ 1.1.2.2.3.3.4.5.6 1.1.2.2.3.3.4.5.6.7 1.1.2.2.3.3.4.5.6.7.7
+ 1.1.2.2.3.3.4.5.6.7.7.7 1.1.2.2.3.3.4.5.6.7.7.7.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99}
+
+do_execsql_test 1.10.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {10.20.30.30.30 10.20.30.30.30.40 10.20.30.30.30.40.50
+ 10.20.30.30.30.40.50.60 10.20.30.30.30.40.50.60.70
+ 10.20.30.30.30.40.50.60.70.80 10.20.30.30.30.40.50.60.70.80.80
+ 10.20.30.30.30.40.50.60.70.80.80.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90 1.1.11.11.21 1.1.11.11.21.21
+ 1.1.11.11.21.21.31 1.1.11.11.21.21.31.31 1.1.11.11.21.21.31.31.41
+ 1.1.11.11.21.21.31.31.41.41 1.1.11.11.21.21.31.31.41.41.51
+ 1.1.11.11.21.21.31.31.41.41.51.61 1.1.11.11.21.21.31.31.41.41.51.61.61
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91 2.2.12.12.12
+ 2.2.12.12.12.22 2.2.12.12.12.22.22 2.2.12.12.12.22.22.32
+ 2.2.12.12.12.22.22.32.42 2.2.12.12.12.22.22.32.42.52
+ 2.2.12.12.12.22.22.32.42.52.62 2.2.12.12.12.22.22.32.42.52.62.62
+ 2.2.12.12.12.22.22.32.42.52.62.62.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82 3.3.13.13.23
+ 3.3.13.13.23.23 3.3.13.13.23.23.33 3.3.13.13.23.23.33.33
+ 3.3.13.13.23.23.33.33.33 3.3.13.13.23.23.33.33.33.33
+ 3.3.13.13.23.23.33.33.33.33.43 3.3.13.13.23.23.33.33.33.33.43.43
+ 3.3.13.13.23.23.33.33.33.33.43.43.53
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 4.14.24.34.34 4.14.24.34.34.34 4.14.24.34.34.34.34
+ 4.14.24.34.34.34.34.44 4.14.24.34.34.34.34.44.44
+ 4.14.24.34.34.34.34.44.44.54 4.14.24.34.34.34.34.44.44.54.64
+ 4.14.24.34.34.34.34.44.44.54.64.74 4.14.24.34.34.34.34.44.44.54.64.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94 5.15.15.15.25
+ 5.15.15.15.25.35 5.15.15.15.25.35.35 5.15.15.15.25.35.35.55
+ 5.15.15.15.25.35.35.55.55 5.15.15.15.25.35.35.55.55.65
+ 5.15.15.15.25.35.35.55.55.65.65 5.15.15.15.25.35.35.55.55.65.65.65
+ 5.15.15.15.25.35.35.55.55.65.65.65.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 6.16.16.16.26 6.16.16.16.26.26 6.16.16.16.26.26.36
+ 6.16.16.16.26.26.36.36 6.16.16.16.26.26.36.36.36
+ 6.16.16.16.26.26.36.36.36.36 6.16.16.16.26.26.36.36.36.36.46
+ 6.16.16.16.26.26.36.36.36.36.46.46 6.16.16.16.26.26.36.36.36.36.46.46.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96 7.7.7.17.27
+ 7.7.7.17.27.27 7.7.7.17.27.27.37 7.7.7.17.27.27.37.37
+ 7.7.7.17.27.27.37.37.47 7.7.7.17.27.27.37.37.47.47
+ 7.7.7.17.27.27.37.37.47.47.47 7.7.7.17.27.27.37.37.47.47.47.47
+ 7.7.7.17.27.27.37.37.47.47.47.47.57
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97 8.8.8.28.38
+ 8.8.8.28.38.38 8.8.8.28.38.38.58 8.8.8.28.38.38.58.58
+ 8.8.8.28.38.38.58.58.58 8.8.8.28.38.38.58.58.58.58
+ 8.8.8.28.38.38.58.58.58.58.68 8.8.8.28.38.38.58.58.58.58.68.78
+ 8.8.8.28.38.38.58.58.58.58.68.78.78
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98 9.9.9.19.29 9.9.9.19.29.29
+ 9.9.9.19.29.29.29 9.9.9.19.29.29.29.39 9.9.9.19.29.29.29.39.39
+ 9.9.9.19.29.29.29.39.39.39 9.9.9.19.29.29.29.39.39.39.49
+ 9.9.9.19.29.29.29.39.39.39.49.59 9.9.9.19.29.29.29.39.39.39.49.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99}
+
+do_execsql_test 1.10.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2
+} {90.40.30.80.20 90.40.30.80.20.90 90.40.30.80.20.90.60
+ 90.40.30.80.20.90.60.70 90.40.30.80.20.90.60.70.80
+ 90.40.30.80.20.90.60.70.80.90 90.40.30.80.20.90.60.70.80.90.30
+ 90.40.30.80.20.90.60.70.80.90.30.50
+ 90.40.30.80.20.90.60.70.80.90.30.50.10
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.10.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.10.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.10.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.10.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.10.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+} {5 89.96.38 6 89.96.38 7 89.96.38.39 8 89.96.38.39 9 89.96.38.39.91
+ 10 89.96.38.39.91 11 89.96.38.39.91.6 12 89.96.38.39.91.6
+ 13 89.96.38.39.91.6.97 14 89.96.38.39.91.6.97 15 89.96.38.39.91.6.97.46
+ 16 89.96.38.39.91.6.97.46 17 89.96.38.39.91.6.97.46.54
+ 18 89.96.38.39.91.6.97.46.54 19 89.96.38.39.91.6.97.46.54.8
+ 20 89.96.38.39.91.6.97.46.54.8 21 89.96.38.39.91.6.97.46.54.8.29
+ 22 89.96.38.39.91.6.97.46.54.8.29 23 89.96.38.39.91.6.97.46.54.8.29.84
+ 24 89.96.38.39.91.6.97.46.54.8.29.84
+ 25 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 26 89.96.38.39.91.6.97.46.54.8.29.84.23
+ 27 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 28 89.96.38.39.91.6.97.46.54.8.29.84.23.16
+ 29 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 30 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65
+ 31 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 32 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47
+ 33 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 34 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86
+ 35 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 36 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61
+ 37 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 38 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85
+ 39 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 40 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85
+ 41 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 42 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59
+ 43 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 44 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32
+ 45 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 46 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3
+ 47 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 48 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22
+ 49 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 50 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55
+ 51 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 52 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28
+ 53 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 54 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25
+ 55 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 56 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1
+ 57 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 58 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40
+ 59 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 60 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56
+ 61 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 62 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75
+ 63 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 64 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89
+ 65 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 66 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76
+ 67 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 68 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4
+ 69 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 70 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42
+ 71 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 72 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78
+ 73 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 74 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29
+ 75 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 76 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63
+ 77 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 78 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87
+ 79 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 80 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80
+ 81 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 82 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72
+ 83 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 84 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9
+ 85 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 86 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73
+ 87 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 88 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65
+ 89 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 90 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58
+ 91 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 92 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98
+ 93 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 94 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21
+ 95 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 96 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65
+ 97 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 98 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5
+ 99 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 100 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11
+ 101 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 102 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87
+ 103 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 104 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12
+ 105 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 106 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20
+ 107 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 108 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31
+ 109 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 110 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95
+ 111 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 112 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73
+ 113 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 114 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88
+ 115 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 116 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8
+ 117 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 118 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49
+ 119 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 120 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90
+ 121 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 122 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96
+ 123 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 124 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55
+ 125 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 126 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77
+ 127 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 128 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2
+ 129 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 130 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85
+ 131 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 132 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74
+ 133 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 134 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70
+ 135 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 136 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19
+ 137 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 138 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26
+ 139 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 140 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47
+ 141 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 142 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90
+ 143 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 144 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58
+ 145 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 146 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9
+ 147 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 148 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72
+ 149 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 150 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33
+ 151 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 152 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75
+ 153 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 154 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81
+ 155 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 156 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23
+ 157 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 158 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13
+ 159 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 160 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14
+ 161 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 162 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91
+ 163 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 164 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91
+ 165 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 166 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15
+ 167 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 168 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36
+ 169 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 170 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3
+ 171 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 172 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69
+ 173 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 174 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52
+ 175 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 176 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50
+ 177 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 178 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10
+ 179 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 180 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33
+ 181 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 182 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39
+ 183 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 184 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58
+ 185 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 186 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38
+ 187 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83
+ 188 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83
+ 189 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7}
+
+do_execsql_test 1.10.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+} {5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {}
+ 15 {} 16 {} 17 {} 18 {} 19 {} 20 {} 21 {} 22 {} 23 {}
+ 24 {} 25 {} 26 {} 27 {} 28 {} 29 {} 30 {} 31 {} 32 {}
+ 33 {} 34 {} 35 {} 36 {} 37 {} 38 {} 39 {} 40 {} 41 {}
+ 42 {} 43 {} 44 {} 45 {} 46 {} 47 {} 48 {} 49 {} 50 {}
+ 51 {} 52 {} 53 {} 54 {} 55 {} 56 {} 57 {} 58 {} 59 {}
+ 60 {} 61 {} 62 {} 63 {} 64 {} 65 {} 66 {} 67 {} 68 {}
+ 69 {} 70 {} 71 {} 72 {} 73 {} 74 {} 75 {} 76 {} 77 {}
+ 78 {} 79 {} 80 {} 81 {} 82 {} 83 {} 84 {} 85 {} 86 {}
+ 87 {} 88 {} 89 {} 90 {} 91 {} 92 {} 93 {} 94 {} 95 {}
+ 96 {} 97 {} 98 {} 99 {} 100 {} 101 {} 102 {} 103 {} 104 {}
+ 105 {} 106 {} 107 {} 108 {} 109 {} 110 {} 111 {} 112 {}
+ 113 {} 114 {} 115 {} 116 {} 117 {} 118 {} 119 {} 120 {}
+ 121 {} 122 {} 123 {} 124 {} 125 {} 126 {} 127 {} 128 {}
+ 129 {} 130 {} 131 {} 132 {} 133 {} 134 {} 135 {} 136 {}
+ 137 {} 138 {} 139 {} 140 {} 141 {} 142 {} 143 {} 144 {}
+ 145 {} 146 {} 147 {} 148 {} 149 {} 150 {} 151 {} 152 {}
+ 153 {} 154 {} 155 {} 156 {} 157 {} 158 {} 159 {} 160 {}
+ 161 {} 162 {} 163 {} 164 {} 165 {} 166 {} 167 {} 168 {}
+ 169 {} 170 {} 171 {} 172 {} 173 {} 174 {} 175 {} 176 {}
+ 177 {} 178 {} 179 {} 180 {} 181 {} 182 {} 183 {} 184 {}
+ 185 {} 186 {} 187 {} 188 {} 189 {} 190 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {}}
+
+do_execsql_test 1.10.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+} {5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {}
+ 15 {} 16 {} 17 {} 18 {} 19 {} 20 {} 20 {} 20 {} 20 {}
+ 20 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 5 {} 6 {} 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {}
+ 14 {} 15 {} 16 {} 17 {} 18 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {}}
+
+do_execsql_test 1.10.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING)
+} {5 89.6.29.47.59 6 89.6.29.47.59.28 7 89.6.29.47.59.28.75
+ 8 89.6.29.47.59.28.75.78 9 89.6.29.47.59.28.75.78.72
+ 10 89.6.29.47.59.28.75.78.72.98 11 89.6.29.47.59.28.75.78.72.98.87
+ 12 89.6.29.47.59.28.75.78.72.98.87.73
+ 13 89.6.29.47.59.28.75.78.72.98.87.73.96
+ 14 89.6.29.47.59.28.75.78.72.98.87.73.96.74
+ 15 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90
+ 16 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75
+ 17 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91
+ 18 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69
+ 19 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7 5 {} 6 {}
+ 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {}
+ 17 {} 18 {} 19 {} 19 {} 19 {} 19 {} 19 {} 5 96.97.84.86.32
+ 6 96.97.84.86.32.25 7 96.97.84.86.32.25.89 8 96.97.84.86.32.25.89.29
+ 9 96.97.84.86.32.25.89.29.9 10 96.97.84.86.32.25.89.29.9.21
+ 11 96.97.84.86.32.25.89.29.9.21.12 12 96.97.84.86.32.25.89.29.9.21.12.88
+ 13 96.97.84.86.32.25.89.29.9.21.12.88.55
+ 14 96.97.84.86.32.25.89.29.9.21.12.88.55.70
+ 15 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58
+ 16 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81
+ 17 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91
+ 18 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58 5 {} 6 {}
+ 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {}
+ 17 {} 18 {} 19 {} 19 {} 19 {} 19 {} 19 {} 5 38.46.23.61.3
+ 6 38.46.23.61.3.1 7 38.46.23.61.3.1.76 8 38.46.23.61.3.1.76.63
+ 9 38.46.23.61.3.1.76.63.73 10 38.46.23.61.3.1.76.63.73.65
+ 11 38.46.23.61.3.1.76.63.73.65.20 12 38.46.23.61.3.1.76.63.73.65.20.8
+ 13 38.46.23.61.3.1.76.63.73.65.20.8.77
+ 14 38.46.23.61.3.1.76.63.73.65.20.8.77.19
+ 15 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9
+ 16 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23
+ 17 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15
+ 18 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38 5 {} 6 {}
+ 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {}
+ 17 {} 18 {} 19 {} 19 {} 19 {} 19 {} 19 {} 5 39.54.16.85.22
+ 6 39.54.16.85.22.40 7 39.54.16.85.22.40.4 8 39.54.16.85.22.40.4.87
+ 9 39.54.16.85.22.40.4.87.65 10 39.54.16.85.22.40.4.87.65.5
+ 11 39.54.16.85.22.40.4.87.65.5.31 12 39.54.16.85.22.40.4.87.65.5.31.49
+ 13 39.54.16.85.22.40.4.87.65.5.31.49.2
+ 14 39.54.16.85.22.40.4.87.65.5.31.49.2.26
+ 15 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72
+ 16 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13
+ 17 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36
+ 18 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83 5 {} 6 {}
+ 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {}
+ 17 {} 18 {} 19 {} 19 {} 19 {} 19 {} 19 {} 5 91.8.65.85.55
+ 6 91.8.65.85.55.56 7 91.8.65.85.55.56.42 8 91.8.65.85.55.56.42.80
+ 9 91.8.65.85.55.56.42.80.58 10 91.8.65.85.55.56.42.80.58.11
+ 11 91.8.65.85.55.56.42.80.58.11.95 12 91.8.65.85.55.56.42.80.58.11.95.90
+ 13 91.8.65.85.55.56.42.80.58.11.95.90.85
+ 14 91.8.65.85.55.56.42.80.58.11.95.90.85.47
+ 15 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33
+ 16 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14
+ 17 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3
+ 18 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82 5 {} 6 {}
+ 7 {} 8 {} 9 {} 10 {} 11 {} 12 {} 13 {} 14 {} 15 {} 16 {}
+ 17 {} 18 {} 19 {} 19 {} 19 {} 19 {} 19 {}}
+
+do_execsql_test 1.11.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {96 96 96 96 96 96 96 91 91 99 99 99 99 99 99
+ 99 97 97 97 97 97 97 93 93 93 93 93 93 93 93
+ 93 93 86 91 91 91 91 91 91 91 85 85 85 91 91
+ 91 91 91 91 91 90 90 89 89 89 89 56 56 75 75
+ 89 98 98 98 98 98 98 98 94 94 94 94 78 78 87
+ 87 87 87 87 87 87 84 84 95 95 95 95 96 98 98
+ 98 98 98 98 98 74 74 74 87 87 87 87 87 87 87
+ 41 95 95 95 95 95 95 95 88 88 88 90 90 96 96
+ 96 96 96 96 96 77 85 85 85 85 85 85 85 74 74
+ 70 70 80 90 90 90 90 90 90 90 72 72 93 93 93
+ 93 93 93 93 81 81 81 62 91 91 91 91 91 91 91
+ 99 99 99 99 99 99 99 95 95 84 84 84 84 84 84
+ 84 84 58 58 83 83 83 83 83 83 83}
+
+do_execsql_test 1.11.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {81 59 38 38 38 38 38 38 6 6 6 6 6 6 6 27 8
+ 8 8 8 8 8 8 16 16 16 16 16 16 7 7 7 7 7 7
+ 7 24 24 24 12 12 12 3 3 3 3 3 3 3 15 15 15
+ 1 1 1 1 1 1 1 16 16 16 16 16 4 4 4 4 4 4
+ 4 29 29 2 2 2 2 2 2 2 9 9 9 9 9 9 9 13
+ 13 1 1 1 1 1 1 1 5 5 5 5 5 8 8 8 8 8 8
+ 8 15 15 15 15 8 8 8 8 8 8 8 11 34 34 55 44
+ 2 2 2 2 2 2 2 7 19 19 19 19 19 19 19 26 26
+ 26 9 9 9 9 9 9 9 33 33 9 9 9 9 9 9 9 12
+ 12 12 12 14 15 15 15 3 3 3 3 3 3 3 30 10 10
+ 10 10 10 10 10 21 21 21 30 27 27 17 7 7 7}
+
+do_execsql_test 1.11.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.11.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.11.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.11.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.11.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.11.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.11.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.11.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.11.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.11.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.11.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.11.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.11.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.11.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.11.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.11.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.11.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.11.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.11.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {108 72 52 83 55 79 109 65 26 120 119 50 70 103
+ 80 124 36 96 59 124 116 110 57 51 52 130 103 74
+ 87 48 128 117 105 136 131 71 133 92 109 63 84 109
+ 57 146 78 147 113 74 88 150 87 110 65 121 106 110
+ 124 85 145 107 161 171 150 156 80 171 120 109 158
+ 114 111 136 147 87 173 124 168 173 162 132 101 154
+ 167 190 161 110 156 195 198 102 123 177 169 140 111
+ 180 119 160 197 152 124 121 134 146 147 132 213 141
+ 193 200 210 157 132 136 175 161 218 188 226 191 187
+ 208 211 179 138 144 223 196 214 170 212 202 163 184
+ 172 173 195 229 240 187 210 200 163 227 228 223 191
+ 252 235 225 243 172 187 202 179 179 182 231 261 207
+ 263 206 189 209 212 276 181 274 249 239 234 213 234
+ 269 196 271 221 210 229 235 250 223 232 229 279 224
+ 280 216 207 207 207}
+
+do_execsql_test 1.11.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {109 168 134 218 191 212 229 240 213 234 196 223 223
+ 223 105 136 146 65 156 132 154 102 123 119 160 152
+ 146 147 136 243 261 263 210 210 210 84 78 120 87
+ 162 124 141 138 227 228 179 231 234 280 280 280 130
+ 92 57 110 114 136 147 167 110 180 193 191 252 187
+ 179 206 181 221 279 279 279 117 71 80 171 173 177
+ 157 161 179 214 225 182 209 269 271 235 229 229 229
+ 131 133 113 74 87 145 190 161 169 140 111 132 213
+ 187 208 223 235 189 274 274 274 26 70 51 52 128
+ 109 121 124 85 107 150 195 226 172 173 187 223 207
+ 212 212 212 124 96 110 87 48 110 173 124 197 211
+ 144 196 195 200 202 224 216 207 207 207 103 36 88
+ 171 158 156 198 121 210 132 210 239 250 232 232 232
+ 55 120 59 109 150 161 111 101 200 175 188 170 202
+ 163 184 163 172 276 249 229 229 229}
+
+do_execsql_test 1.11.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {87 138 57 181 80 111 26 48 144 207 36 121 132 101
+ 163 172 196 119 136 63 124 179 110 179 182 74 132
+ 189 51 52 85 216 163 134 123 210 78 141 57 187 71
+ 87 172 173 50 224 88 59 111 170 109 213 223 146
+ 147 84 114 191 206 221 157 161 209 229 74 140 107
+ 187 207 212 124 202 52 232 55 184 229 106 132 152
+ 120 92 110 179 235 65 70 87 110 195 200 175 234
+ 160 234 136 80 113 187 109 121 124 196 156 210 239
+ 250 72 109 188 202 191 105 154 79 231 147 225 103
+ 161 169 223 96 83 249 212 162 227 228 167 180 193
+ 117 177 214 145 208 235 150 110 211 103 158 200 168
+ 229 92 156 243 280 279 116 173 269 271 131 133 223
+ 128 173 197 210 99 150 161 147 218 240 109 136 146
+ 261 263 124 130 252 171 190 213 274 108 195 226 119
+ 124 171 198 120 276 276 276}
+
+do_execsql_test 1.11.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {109 213 223 106 234 191 212 168 229 147 218 240 240
+ 240 119 136 123 210 146 147 132 152 160 105 154 92
+ 156 243 109 136 146 261 263 263 263 63 124 179 78
+ 141 84 120 234 79 231 162 227 228 280 280 280 110
+ 179 57 187 114 191 206 221 92 110 136 147 167 180
+ 193 279 124 130 252 252 252 71 157 161 209 229 179
+ 235 80 225 117 177 214 116 173 269 271 171 171 171
+ 132 189 87 74 140 113 187 103 161 169 145 208 235
+ 131 133 223 190 213 274 274 274 52 85 172 173 107
+ 187 207 212 65 70 109 121 124 223 150 128 108 195
+ 226 226 226 207 216 50 224 124 202 87 110 195 200
+ 196 96 110 211 173 197 119 124 124 124 132 88 52
+ 232 156 210 239 250 83 103 158 210 171 198 198 198
+ 172 163 59 111 170 55 184 229 175 72 109 188 202
+ 249 200 99 150 161 120 276 276 276}
+
+do_execsql_test 1.11.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {109 168 134 218 191 212 229 240 213 234 196 223 92
+ 109 105 136 146 65 156 132 154 102 123 119 160 152
+ 146 147 136 243 261 263 210 79 63 84 78 120 87
+ 162 124 141 138 227 228 179 231 234 280 124 57 130
+ 92 57 110 114 136 147 167 110 180 193 191 252 187
+ 179 206 181 221 279 80 116 117 71 80 171 173 177
+ 157 161 179 214 225 182 209 269 271 235 229 103 74
+ 131 133 113 74 87 145 190 161 169 140 111 132 213
+ 187 208 223 235 189 274 108 65 26 70 51 52 128
+ 109 121 124 85 107 150 195 226 172 173 187 223 207
+ 212 119 50 124 96 110 87 48 110 173 124 197 211
+ 144 196 195 200 202 224 216 207 52 83 103 36 88
+ 171 158 156 198 121 210 132 210 239 250 232 99 72
+ 55 120 59 109 150 161 111 101 200 175 188 170 202
+ 163 184 163 172 276 249 229 229 229}
+
+do_execsql_test 1.11.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.11.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 97 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} 56
+ {} {} {} {} {} {} {} {} {} 89 {} {} {} {} {}
+ {} {} {} {} {} {} 4 {} {} {} {} {} {} {} {}
+ 53 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 58 {} {} {} {} 73 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 77 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 99 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 2 2 2 3 4 6 7 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} 1 1
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 12 12 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} {} {} {} {} 16 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {89 89 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.11.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 81
+ 81 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 62 62 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 93 93 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 54 54 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 65
+ 65 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 96 96 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 97 97 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 38
+ 38 38 38 38 68 78 8 28 98 78 58 98 8 88 8 89
+ 89 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.11.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.11.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {10 10 10 10 10 20 30 30 30 40 50 60 70 80 1 1
+ 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61 81
+ 81 81 91 2 2 2 2 2 2 12 12 12 22 22 32 42
+ 52 62 62 3 3 3 3 3 3 13 13 23 23 33 33 33
+ 33 43 43 53 63 73 73 73 4 4 4 4 4 14 24 34
+ 34 34 34 44 44 54 64 74 74 74 84 5 5 5 5 5
+ 15 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 6 6 6 6 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 7 7 7 7 7 7 7 17 27 27 37
+ 37 47 47 47 47 57 67 77 77 8 8 8 8 8 8 8 28
+ 38 38 58 58 58 58 68 78 9 9 9 9 9 9 9 19 29
+ 29 29 39 39 39 49 59 59 59 59 69 79 89}
+
+do_execsql_test 1.11.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.11.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.11.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.11.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.11.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.11.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.11.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.11.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.11.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {89.81.96 89.81.96.59 89.81.96.59.38 89.81.96.59.38.68
+ 89.81.96.59.38.68.39 81.96.59.38.68.39.62 96.59.38.68.39.62.91
+ 59.38.68.39.62.91.46 38.68.39.62.91.46.6 68.39.62.91.46.6.99
+ 39.62.91.46.6.99.97 62.91.46.6.99.97.27 91.46.6.99.97.27.46
+ 46.6.99.97.27.46.78 6.99.97.27.46.78.54 99.97.27.46.78.54.97
+ 97.27.46.78.54.97.8 27.46.78.54.97.8.67 46.78.54.97.8.67.29
+ 78.54.97.8.67.29.93 54.97.8.67.29.93.84 97.8.67.29.93.84.77
+ 8.67.29.93.84.77.23 67.29.93.84.77.23.16 29.93.84.77.23.16.16
+ 93.84.77.23.16.16.93 84.77.23.16.16.93.65 77.23.16.16.93.65.35
+ 23.16.16.93.65.35.47 16.16.93.65.35.47.7 16.93.65.35.47.7.86
+ 93.65.35.47.7.86.74 65.35.47.7.86.74.61 35.47.7.86.74.61.91
+ 47.7.86.74.61.91.85 7.86.74.61.91.85.24 86.74.61.91.85.24.85
+ 74.61.91.85.24.85.43 61.91.85.24.85.43.59 91.85.24.85.43.59.12
+ 85.24.85.43.59.12.32 24.85.43.59.12.32.56 85.43.59.12.32.56.3
+ 43.59.12.32.56.3.91 59.12.32.56.3.91.22 12.32.56.3.91.22.90
+ 32.56.3.91.22.90.55 56.3.91.22.90.55.15 3.91.22.90.55.15.28
+ 91.22.90.55.15.28.89 22.90.55.15.28.89.25 90.55.15.28.89.25.47
+ 55.15.28.89.25.47.1 15.28.89.25.47.1.56 28.89.25.47.1.56.40
+ 89.25.47.1.56.40.43 25.47.1.56.40.43.56 47.1.56.40.43.56.16
+ 1.56.40.43.56.16.75 56.40.43.56.16.75.36 40.43.56.16.75.36.89
+ 43.56.16.75.36.89.98 56.16.75.36.89.98.76 16.75.36.89.98.76.81
+ 75.36.89.98.76.81.4 36.89.98.76.81.4.94 89.98.76.81.4.94.42
+ 98.76.81.4.94.42.30 76.81.4.94.42.30.78 81.4.94.42.30.78.33
+ 4.94.42.30.78.33.29 94.42.30.78.33.29.53 42.30.78.33.29.53.63
+ 30.78.33.29.53.63.2 78.33.29.53.63.2.87 33.29.53.63.2.87.37
+ 29.53.63.2.87.37.80 53.63.2.87.37.80.84 63.2.87.37.80.84.72
+ 2.87.37.80.84.72.41 87.37.80.84.72.41.9 37.80.84.72.41.9.61
+ 80.84.72.41.9.61.73 84.72.41.9.61.73.95 72.41.9.61.73.95.65
+ 41.9.61.73.95.65.13 9.61.73.95.65.13.58 61.73.95.65.13.58.96
+ 73.95.65.13.58.96.98 95.65.13.58.96.98.1 65.13.58.96.98.1.21
+ 13.58.96.98.1.21.74 58.96.98.1.21.74.65 96.98.1.21.74.65.35
+ 98.1.21.74.65.35.5 1.21.74.65.35.5.73 21.74.65.35.5.73.11
+ 74.65.35.5.73.11.51 65.35.5.73.11.51.87 35.5.73.11.51.87.41
+ 5.73.11.51.87.41.12 73.11.51.87.41.12.8 11.51.87.41.12.8.20
+ 51.87.41.12.8.20.31 87.41.12.8.20.31.31 41.12.8.20.31.31.15
+ 12.8.20.31.31.15.95 8.20.31.31.15.95.22 20.31.31.15.95.22.73
+ 31.31.15.95.22.73.79 31.15.95.22.73.79.88 15.95.22.73.79.88.34
+ 95.22.73.79.88.34.8 22.73.79.88.34.8.11 73.79.88.34.8.11.49
+ 79.88.34.8.11.49.34 88.34.8.11.49.34.90 34.8.11.49.34.90.59
+ 8.11.49.34.90.59.96 11.49.34.90.59.96.60 49.34.90.59.96.60.55
+ 34.90.59.96.60.55.75 90.59.96.60.55.75.77 59.96.60.55.75.77.44
+ 96.60.55.75.77.44.2 60.55.75.77.44.2.7 55.75.77.44.2.7.85
+ 75.77.44.2.7.85.57 77.44.2.7.85.57.74 44.2.7.85.57.74.29
+ 2.7.85.57.74.29.70 7.85.57.74.29.70.59 85.57.74.29.70.59.19
+ 57.74.29.70.59.19.39 74.29.70.59.19.39.26 29.70.59.19.39.26.26
+ 70.59.19.39.26.26.47 59.19.39.26.26.47.80 19.39.26.26.47.80.90
+ 39.26.26.47.80.90.36 26.26.47.80.90.36.58 26.47.80.90.36.58.47
+ 47.80.90.36.58.47.9 80.90.36.58.47.9.72 90.36.58.47.9.72.72
+ 36.58.47.9.72.72.66 58.47.9.72.72.66.33 47.9.72.72.66.33.93
+ 9.72.72.66.33.93.75 72.72.66.33.93.75.64 72.66.33.93.75.64.81
+ 66.33.93.75.64.81.9 33.93.75.64.81.9.23 93.75.64.81.9.23.37
+ 75.64.81.9.23.37.13 64.81.9.23.37.13.12 81.9.23.37.13.12.14
+ 9.23.37.13.12.14.62 23.37.13.12.14.62.91 37.13.12.14.62.91.36
+ 13.12.14.62.91.36.91 12.14.62.91.36.91.33 14.62.91.36.91.33.15
+ 62.91.36.91.33.15.34 91.36.91.33.15.34.36 36.91.33.15.34.36.99
+ 91.33.15.34.36.99.3 33.15.34.36.99.3.95 15.34.36.99.3.95.69
+ 34.36.99.3.95.69.58 36.99.3.95.69.58.52 99.3.95.69.58.52.30
+ 3.95.69.58.52.30.50 95.69.58.52.30.50.84 69.58.52.30.50.84.10
+ 58.52.30.50.84.10.84 52.30.50.84.10.84.33 30.50.84.10.84.33.21
+ 50.84.10.84.33.21.39 84.10.84.33.21.39.44 10.84.33.21.39.44.58
+ 84.33.21.39.44.58.30 33.21.39.44.58.30.38 21.39.44.58.30.38.34
+ 39.44.58.30.38.34.83 44.58.30.38.34.83.27 58.30.38.34.83.27.82
+ 30.38.34.83.27.82.17 38.34.83.27.82.17.7 34.83.27.82.17.7
+ 83.27.82.17.7}
+
+do_execsql_test 1.11.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {90.40.30 90.40.30.80 90.40.30.80.20 90.40.30.80.20.90
+ 90.40.30.80.20.90.60 40.30.80.20.90.60.70 30.80.20.90.60.70.80
+ 80.20.90.60.70.80.90 20.90.60.70.80.90.30 90.60.70.80.90.30.50
+ 60.70.80.90.30.50.10 70.80.90.30.50.10.30 80.90.30.50.10.30
+ 90.30.50.10.30 81.91.61 81.91.61.91 81.91.61.91.91 81.91.61.91.91.1
+ 81.91.61.91.91.1.81 91.61.91.91.1.81.41 61.91.91.1.81.41.61
+ 91.91.1.81.41.61.1 91.1.81.41.61.1.21 1.81.41.61.1.21.11
+ 81.41.61.1.21.11.51 41.61.1.21.11.51.41 61.1.21.11.51.41.31
+ 1.21.11.51.41.31.31 21.11.51.41.31.31.11 11.51.41.31.31.11.81
+ 51.41.31.31.11.81.91 41.31.31.11.81.91.91 31.31.11.81.91.91.21
+ 31.11.81.91.91.21 11.81.91.91.21 62.12.32 62.12.32.22
+ 62.12.32.22.42 62.12.32.22.42.2 62.12.32.22.42.2.72
+ 12.32.22.42.2.72.12 32.22.42.2.72.12.22 22.42.2.72.12.22.2
+ 42.2.72.12.22.2.72 2.72.12.22.2.72.72 72.12.22.2.72.72.12
+ 12.22.2.72.72.12.62 22.2.72.72.12.62.52 2.72.72.12.62.52.82
+ 72.72.12.62.52.82 72.12.62.52.82 93.23.93 93.23.93.43 93.23.93.43.3
+ 93.23.93.43.3.43 93.23.93.43.3.43.33 23.93.43.3.43.33.53
+ 93.43.3.43.33.53.63 43.3.43.33.53.63.73 3.43.33.53.63.73.13
+ 43.33.53.63.73.13.73 33.53.63.73.13.73.73 53.63.73.13.73.73.33
+ 63.73.13.73.73.33.93 73.13.73.73.33.93.23 13.73.73.33.93.23.13
+ 73.73.33.93.23.13.33 73.33.93.23.13.33.3 33.93.23.13.33.3.33
+ 93.23.13.33.3.33.83 23.13.33.3.33.83 13.33.3.33.83 54.84.74
+ 54.84.74.24 54.84.74.24.4 54.84.74.24.4.94 54.84.74.24.4.94.84
+ 84.74.24.4.94.84.74 74.24.4.94.84.74.34 24.4.94.84.74.34.34
+ 4.94.84.74.34.34.44 94.84.74.34.34.44.74 84.74.34.34.44.74.64
+ 74.34.34.44.74.64.14 34.34.44.74.64.14.34 34.44.74.64.14.34.84
+ 44.74.64.14.34.84.84 74.64.14.34.84.84.44 64.14.34.84.84.44.34
+ 14.34.84.84.44.34 34.84.84.44.34 65.35.85 65.35.85.85
+ 65.35.85.85.55 65.35.85.85.55.15 65.35.85.85.55.15.25
+ 35.85.85.55.15.25.75 85.85.55.15.25.75.95 85.55.15.25.75.95.65
+ 55.15.25.75.95.65.65 15.25.75.95.65.65.35 25.75.95.65.65.35.5
+ 75.95.65.65.35.5.15 95.65.65.35.5.15.95 65.65.35.5.15.95.55
+ 65.35.5.15.95.55.75 35.5.15.95.55.75.85 5.15.95.55.75.85.75
+ 15.95.55.75.85.75.15 95.55.75.85.75.15.95 55.75.85.75.15.95
+ 75.85.75.15.95 96.46.6 96.46.6.46 96.46.6.46.16 96.46.6.46.16.16
+ 96.46.6.46.16.16.86 46.6.46.16.16.86.56 6.46.16.16.86.56.56
+ 46.16.16.86.56.56.56 16.16.86.56.56.56.16 16.86.56.56.56.16.36
+ 86.56.56.56.16.36.76 56.56.56.16.36.76.96 56.56.16.36.76.96.96
+ 56.16.36.76.96.96.26 16.36.76.96.96.26.26 36.76.96.96.26.26.36
+ 76.96.96.26.26.36.66 96.96.26.26.36.66.36 96.26.26.36.66.36.36
+ 26.26.36.66.36.36 26.36.66.36.36 97.27.97 97.27.97.67
+ 97.27.97.67.77 97.27.97.67.77.47 97.27.97.67.77.47.7
+ 27.97.67.77.47.7.47 97.67.77.47.7.47.87 67.77.47.7.47.87.37
+ 77.47.7.47.87.37.87 47.7.47.87.37.87.77 7.47.87.37.87.77.7
+ 47.87.37.87.77.7.57 87.37.87.77.7.57.47 37.87.77.7.57.47.47
+ 87.77.7.57.47.47.37 77.7.57.47.47.37.27 7.57.47.47.37.27.17
+ 57.47.47.37.27.17.7 47.47.37.27.17.7 47.37.27.17.7 38.68.78
+ 38.68.78.8 38.68.78.8.28 38.68.78.8.28.98 38.68.78.8.28.98.78
+ 68.78.8.28.98.78.58 78.8.28.98.78.58.98 8.28.98.78.58.98.8
+ 28.98.78.58.98.8.88 98.78.58.98.8.88.8 78.58.98.8.88.8.58
+ 58.98.8.88.8.58.58 98.8.88.8.58.58.58 8.88.8.58.58.58.38
+ 88.8.58.58.58.38 8.58.58.58.38 89.59.39 89.59.39.99 89.59.39.99.29
+ 89.59.39.99.29.59 89.59.39.99.29.59.89 59.39.99.29.59.89.89
+ 39.99.29.59.89.89.29 99.29.59.89.89.29.9 29.59.89.89.29.9.79
+ 59.89.89.29.9.79.49 89.89.29.9.79.49.59 89.29.9.79.49.59.29
+ 29.9.79.49.59.29.59 9.79.49.59.29.59.19 79.49.59.29.59.19.39
+ 49.59.29.59.19.39.9 59.29.59.19.39.9.9 29.59.19.39.9.9.99
+ 59.19.39.9.9.99.69 19.39.9.9.99.69.39 39.9.9.99.69.39 9.9.99.69.39}
+
+do_execsql_test 1.11.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {1.1.2 1.1.2.2 1.1.2.2.3 1.1.2.2.3.3 1.1.2.2.3.3.4 1.2.2.3.3.4.5
+ 2.2.3.3.4.5.6 2.3.3.4.5.6.7 3.3.4.5.6.7.7 3.4.5.6.7.7.7
+ 4.5.6.7.7.7.8 5.6.7.7.7.8.8 6.7.7.7.8.8.8 7.7.7.8.8.8.9
+ 7.7.8.8.8.9.9 7.8.8.8.9.9.9 8.8.8.9.9.9.10 8.8.9.9.9.10.11
+ 8.9.9.9.10.11.11 9.9.9.10.11.11.12 9.9.10.11.11.12.12
+ 9.10.11.11.12.12.12 10.11.11.12.12.12.13 11.11.12.12.12.13.13
+ 11.12.12.12.13.13.14 12.12.12.13.13.14.15 12.12.13.13.14.15.15
+ 12.13.13.14.15.15.15 13.13.14.15.15.15.16 13.14.15.15.15.16.16
+ 14.15.15.15.16.16.16 15.15.15.16.16.16.17 15.15.16.16.16.17.19
+ 15.16.16.16.17.19.20 16.16.16.17.19.20.21 16.16.17.19.20.21.21
+ 16.17.19.20.21.21.22 17.19.20.21.21.22.22 19.20.21.21.22.22.23
+ 20.21.21.22.22.23.23 21.21.22.22.23.23.24 21.22.22.23.23.24.25
+ 22.22.23.23.24.25.26 22.23.23.24.25.26.26 23.23.24.25.26.26.27
+ 23.24.25.26.26.27.27 24.25.26.26.27.27.28 25.26.26.27.27.28.29
+ 26.26.27.27.28.29.29 26.27.27.28.29.29.29 27.27.28.29.29.29.30
+ 27.28.29.29.29.30.30 28.29.29.29.30.30.30 29.29.29.30.30.30.31
+ 29.29.30.30.30.31.31 29.30.30.30.31.31.32 30.30.30.31.31.32.33
+ 30.30.31.31.32.33.33 30.31.31.32.33.33.33 31.31.32.33.33.33.33
+ 31.32.33.33.33.33.34 32.33.33.33.33.34.34 33.33.33.33.34.34.34
+ 33.33.33.34.34.34.34 33.33.34.34.34.34.35 33.34.34.34.34.35.35
+ 34.34.34.34.35.35.36 34.34.34.35.35.36.36 34.34.35.35.36.36.36
+ 34.35.35.36.36.36.36 35.35.36.36.36.36.37 35.36.36.36.36.37.37
+ 36.36.36.36.37.37.38 36.36.36.37.37.38.38 36.36.37.37.38.38.39
+ 36.37.37.38.38.39.39 37.37.38.38.39.39.39 37.38.38.39.39.39.40
+ 38.38.39.39.39.40.41 38.39.39.39.40.41.41 39.39.39.40.41.41.42
+ 39.39.40.41.41.42.43 39.40.41.41.42.43.43 40.41.41.42.43.43.44
+ 41.41.42.43.43.44.44 41.42.43.43.44.44.46 42.43.43.44.44.46.46
+ 43.43.44.44.46.46.47 43.44.44.46.46.47.47 44.44.46.46.47.47.47
+ 44.46.46.47.47.47.47 46.46.47.47.47.47.49 46.47.47.47.47.49.50
+ 47.47.47.47.49.50.51 47.47.47.49.50.51.52 47.47.49.50.51.52.53
+ 47.49.50.51.52.53.54 49.50.51.52.53.54.55 50.51.52.53.54.55.55
+ 51.52.53.54.55.55.56 52.53.54.55.55.56.56 53.54.55.55.56.56.56
+ 54.55.55.56.56.56.57 55.55.56.56.56.57.58 55.56.56.56.57.58.58
+ 56.56.56.57.58.58.58 56.56.57.58.58.58.58 56.57.58.58.58.58.59
+ 57.58.58.58.58.59.59 58.58.58.58.59.59.59 58.58.58.59.59.59.59
+ 58.58.59.59.59.59.60 58.59.59.59.59.60.61 59.59.59.59.60.61.61
+ 59.59.59.60.61.61.62 59.59.60.61.61.62.62 59.60.61.61.62.62.63
+ 60.61.61.62.62.63.64 61.61.62.62.63.64.65 61.62.62.63.64.65.65
+ 62.62.63.64.65.65.65 62.63.64.65.65.65.66 63.64.65.65.65.66.67
+ 64.65.65.65.66.67.68 65.65.65.66.67.68.69 65.65.66.67.68.69.70
+ 65.66.67.68.69.70.72 66.67.68.69.70.72.72 67.68.69.70.72.72.72
+ 68.69.70.72.72.72.73 69.70.72.72.72.73.73 70.72.72.72.73.73.73
+ 72.72.72.73.73.73.74 72.72.73.73.73.74.74 72.73.73.73.74.74.74
+ 73.73.73.74.74.74.75 73.73.74.74.74.75.75 73.74.74.74.75.75.75
+ 74.74.74.75.75.75.76 74.74.75.75.75.76.77 74.75.75.75.76.77.77
+ 75.75.75.76.77.77.78 75.75.76.77.77.78.78 75.76.77.77.78.78.79
+ 76.77.77.78.78.79.80 77.77.78.78.79.80.80 77.78.78.79.80.80.81
+ 78.78.79.80.80.81.81 78.79.80.80.81.81.81 79.80.80.81.81.81.82
+ 80.80.81.81.81.82.83 80.81.81.81.82.83.84 81.81.81.82.83.84.84
+ 81.81.82.83.84.84.84 81.82.83.84.84.84.84 82.83.84.84.84.84.85
+ 83.84.84.84.84.85.85 84.84.84.84.85.85.85 84.84.84.85.85.85.86
+ 84.84.85.85.85.86.87 84.85.85.85.86.87.87 85.85.85.86.87.87.88
+ 85.85.86.87.87.88.89 85.86.87.87.88.89.89 86.87.87.88.89.89.89
+ 87.87.88.89.89.89.90 87.88.89.89.89.90.90 88.89.89.89.90.90.90
+ 89.89.89.90.90.90.91 89.89.90.90.90.91.91 89.90.90.90.91.91.91
+ 90.90.90.91.91.91.91 90.90.91.91.91.91.91 90.91.91.91.91.91.93
+ 91.91.91.91.91.93.93 91.91.91.91.93.93.93 91.91.91.93.93.93.94
+ 91.91.93.93.93.94.95 91.93.93.93.94.95.95 93.93.93.94.95.95.95
+ 93.93.94.95.95.95.96 93.94.95.95.95.96.96 94.95.95.95.96.96.96
+ 95.95.95.96.96.96.97 95.95.96.96.96.97.97 95.96.96.96.97.97.98
+ 96.96.96.97.97.98.98 96.96.97.97.98.98.99 96.97.97.98.98.99.99
+ 97.97.98.98.99.99 97.98.98.99.99}
+
+do_execsql_test 1.11.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {10.20.30 10.20.30.30 10.20.30.30.30 10.20.30.30.30.40
+ 10.20.30.30.30.40.50 20.30.30.30.40.50.60 30.30.30.40.50.60.70
+ 30.30.40.50.60.70.80 30.40.50.60.70.80.80 40.50.60.70.80.80.90
+ 50.60.70.80.80.90.90 60.70.80.80.90.90.90 70.80.80.90.90.90
+ 80.80.90.90.90 1.1.11 1.1.11.11 1.1.11.11.21 1.1.11.11.21.21
+ 1.1.11.11.21.21.31 1.11.11.21.21.31.31 11.11.21.21.31.31.41
+ 11.21.21.31.31.41.41 21.21.31.31.41.41.51 21.31.31.41.41.51.61
+ 31.31.41.41.51.61.61 31.41.41.51.61.61.81 41.41.51.61.61.81.81
+ 41.51.61.61.81.81.81 51.61.61.81.81.81.91 61.61.81.81.81.91.91
+ 61.81.81.81.91.91.91 81.81.81.91.91.91.91 81.81.91.91.91.91.91
+ 81.91.91.91.91.91 91.91.91.91.91 2.2.12 2.2.12.12 2.2.12.12.12
+ 2.2.12.12.12.22 2.2.12.12.12.22.22 2.12.12.12.22.22.32
+ 12.12.12.22.22.32.42 12.12.22.22.32.42.52 12.22.22.32.42.52.62
+ 22.22.32.42.52.62.62 22.32.42.52.62.62.72 32.42.52.62.62.72.72
+ 42.52.62.62.72.72.72 52.62.62.72.72.72.82 62.62.72.72.72.82
+ 62.72.72.72.82 3.3.13 3.3.13.13 3.3.13.13.23 3.3.13.13.23.23
+ 3.3.13.13.23.23.33 3.13.13.23.23.33.33 13.13.23.23.33.33.33
+ 13.23.23.33.33.33.33 23.23.33.33.33.33.43 23.33.33.33.33.43.43
+ 33.33.33.33.43.43.53 33.33.33.43.43.53.63 33.33.43.43.53.63.73
+ 33.43.43.53.63.73.73 43.43.53.63.73.73.73 43.53.63.73.73.73.83
+ 53.63.73.73.73.83.93 63.73.73.73.83.93.93 73.73.73.83.93.93.93
+ 73.73.83.93.93.93 73.83.93.93.93 4.14.24 4.14.24.34 4.14.24.34.34
+ 4.14.24.34.34.34 4.14.24.34.34.34.34 14.24.34.34.34.34.44
+ 24.34.34.34.34.44.44 34.34.34.34.44.44.54 34.34.34.44.44.54.64
+ 34.34.44.44.54.64.74 34.44.44.54.64.74.74 44.44.54.64.74.74.74
+ 44.54.64.74.74.74.84 54.64.74.74.74.84.84 64.74.74.74.84.84.84
+ 74.74.74.84.84.84.84 74.74.84.84.84.84.94 74.84.84.84.84.94
+ 84.84.84.84.94 5.15.15 5.15.15.15 5.15.15.15.25 5.15.15.15.25.35
+ 5.15.15.15.25.35.35 15.15.15.25.35.35.55 15.15.25.35.35.55.55
+ 15.25.35.35.55.55.65 25.35.35.55.55.65.65 35.35.55.55.65.65.65
+ 35.55.55.65.65.65.75 55.55.65.65.65.75.75 55.65.65.65.75.75.75
+ 65.65.65.75.75.75.85 65.65.75.75.75.85.85 65.75.75.75.85.85.85
+ 75.75.75.85.85.85.95 75.75.85.85.85.95.95 75.85.85.85.95.95.95
+ 85.85.85.95.95.95 85.85.95.95.95 6.16.16 6.16.16.16 6.16.16.16.26
+ 6.16.16.16.26.26 6.16.16.16.26.26.36 16.16.16.26.26.36.36
+ 16.16.26.26.36.36.36 16.26.26.36.36.36.36 26.26.36.36.36.36.46
+ 26.36.36.36.36.46.46 36.36.36.36.46.46.56 36.36.36.46.46.56.56
+ 36.36.46.46.56.56.56 36.46.46.56.56.56.66 46.46.56.56.56.66.76
+ 46.56.56.56.66.76.86 56.56.56.66.76.86.96 56.56.66.76.86.96.96
+ 56.66.76.86.96.96.96 66.76.86.96.96.96 76.86.96.96.96 7.7.7
+ 7.7.7.17 7.7.7.17.27 7.7.7.17.27.27 7.7.7.17.27.27.37
+ 7.7.17.27.27.37.37 7.17.27.27.37.37.47 17.27.27.37.37.47.47
+ 27.27.37.37.47.47.47 27.37.37.47.47.47.47 37.37.47.47.47.47.57
+ 37.47.47.47.47.57.67 47.47.47.47.57.67.77 47.47.47.57.67.77.77
+ 47.47.57.67.77.77.87 47.57.67.77.77.87.87 57.67.77.77.87.87.97
+ 67.77.77.87.87.97.97 77.77.87.87.97.97 77.87.87.97.97 8.8.8
+ 8.8.8.28 8.8.8.28.38 8.8.8.28.38.38 8.8.8.28.38.38.58
+ 8.8.28.38.38.58.58 8.28.38.38.58.58.58 28.38.38.58.58.58.58
+ 38.38.58.58.58.58.68 38.58.58.58.58.68.78 58.58.58.58.68.78.78
+ 58.58.58.68.78.78.88 58.58.68.78.78.88.98 58.68.78.78.88.98.98
+ 68.78.78.88.98.98 78.78.88.98.98 9.9.9 9.9.9.19 9.9.9.19.29
+ 9.9.9.19.29.29 9.9.9.19.29.29.29 9.9.19.29.29.29.39
+ 9.19.29.29.29.39.39 19.29.29.29.39.39.39 29.29.29.39.39.39.49
+ 29.29.39.39.39.49.59 29.39.39.39.49.59.59 39.39.39.49.59.59.59
+ 39.39.49.59.59.59.59 39.49.59.59.59.59.69 49.59.59.59.59.69.79
+ 59.59.59.59.69.79.89 59.59.59.69.79.89.89 59.59.69.79.89.89.89
+ 59.69.79.89.89.89.99 69.79.89.89.89.99.99 79.89.89.89.99.99
+ 89.89.89.99.99}
+
+do_execsql_test 1.11.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING ) FROM t2
+} {90.40.30 90.40.30.80 90.40.30.80.20 90.40.30.80.20.90
+ 90.40.30.80.20.90.60 40.30.80.20.90.60.70 30.80.20.90.60.70.80
+ 80.20.90.60.70.80.90 20.90.60.70.80.90.30 90.60.70.80.90.30.50
+ 60.70.80.90.30.50.10 70.80.90.30.50.10.30 80.90.30.50.10.30.81
+ 90.30.50.10.30.81.91 30.50.10.30.81.91.61 50.10.30.81.91.61.91
+ 10.30.81.91.61.91.91 30.81.91.61.91.91.1 81.91.61.91.91.1.81
+ 91.61.91.91.1.81.41 61.91.91.1.81.41.61 91.91.1.81.41.61.1
+ 91.1.81.41.61.1.21 1.81.41.61.1.21.11 81.41.61.1.21.11.51
+ 41.61.1.21.11.51.41 61.1.21.11.51.41.31 1.21.11.51.41.31.31
+ 21.11.51.41.31.31.11 11.51.41.31.31.11.81 51.41.31.31.11.81.91
+ 41.31.31.11.81.91.91 31.31.11.81.91.91.21 31.11.81.91.91.21.62
+ 11.81.91.91.21.62.12 81.91.91.21.62.12.32 91.91.21.62.12.32.22
+ 91.21.62.12.32.22.42 21.62.12.32.22.42.2 62.12.32.22.42.2.72
+ 12.32.22.42.2.72.12 32.22.42.2.72.12.22 22.42.2.72.12.22.2
+ 42.2.72.12.22.2.72 2.72.12.22.2.72.72 72.12.22.2.72.72.12
+ 12.22.2.72.72.12.62 22.2.72.72.12.62.52 2.72.72.12.62.52.82
+ 72.72.12.62.52.82.93 72.12.62.52.82.93.23 12.62.52.82.93.23.93
+ 62.52.82.93.23.93.43 52.82.93.23.93.43.3 82.93.23.93.43.3.43
+ 93.23.93.43.3.43.33 23.93.43.3.43.33.53 93.43.3.43.33.53.63
+ 43.3.43.33.53.63.73 3.43.33.53.63.73.13 43.33.53.63.73.13.73
+ 33.53.63.73.13.73.73 53.63.73.13.73.73.33 63.73.13.73.73.33.93
+ 73.13.73.73.33.93.23 13.73.73.33.93.23.13 73.73.33.93.23.13.33
+ 73.33.93.23.13.33.3 33.93.23.13.33.3.33 93.23.13.33.3.33.83
+ 23.13.33.3.33.83.54 13.33.3.33.83.54.84 33.3.33.83.54.84.74
+ 3.33.83.54.84.74.24 33.83.54.84.74.24.4 83.54.84.74.24.4.94
+ 54.84.74.24.4.94.84 84.74.24.4.94.84.74 74.24.4.94.84.74.34
+ 24.4.94.84.74.34.34 4.94.84.74.34.34.44 94.84.74.34.34.44.74
+ 84.74.34.34.44.74.64 74.34.34.44.74.64.14 34.34.44.74.64.14.34
+ 34.44.74.64.14.34.84 44.74.64.14.34.84.84 74.64.14.34.84.84.44
+ 64.14.34.84.84.44.34 14.34.84.84.44.34.65 34.84.84.44.34.65.35
+ 84.84.44.34.65.35.85 84.44.34.65.35.85.85 44.34.65.35.85.85.55
+ 34.65.35.85.85.55.15 65.35.85.85.55.15.25 35.85.85.55.15.25.75
+ 85.85.55.15.25.75.95 85.55.15.25.75.95.65 55.15.25.75.95.65.65
+ 15.25.75.95.65.65.35 25.75.95.65.65.35.5 75.95.65.65.35.5.15
+ 95.65.65.35.5.15.95 65.65.35.5.15.95.55 65.35.5.15.95.55.75
+ 35.5.15.95.55.75.85 5.15.95.55.75.85.75 15.95.55.75.85.75.15
+ 95.55.75.85.75.15.95 55.75.85.75.15.95.96 75.85.75.15.95.96.46
+ 85.75.15.95.96.46.6 75.15.95.96.46.6.46 15.95.96.46.6.46.16
+ 95.96.46.6.46.16.16 96.46.6.46.16.16.86 46.6.46.16.16.86.56
+ 6.46.16.16.86.56.56 46.16.16.86.56.56.56 16.16.86.56.56.56.16
+ 16.86.56.56.56.16.36 86.56.56.56.16.36.76 56.56.56.16.36.76.96
+ 56.56.16.36.76.96.96 56.16.36.76.96.96.26 16.36.76.96.96.26.26
+ 36.76.96.96.26.26.36 76.96.96.26.26.36.66 96.96.26.26.36.66.36
+ 96.26.26.36.66.36.36 26.26.36.66.36.36.97 26.36.66.36.36.97.27
+ 36.66.36.36.97.27.97 66.36.36.97.27.97.67 36.36.97.27.97.67.77
+ 36.97.27.97.67.77.47 97.27.97.67.77.47.7 27.97.67.77.47.7.47
+ 97.67.77.47.7.47.87 67.77.47.7.47.87.37 77.47.7.47.87.37.87
+ 47.7.47.87.37.87.77 7.47.87.37.87.77.7 47.87.37.87.77.7.57
+ 87.37.87.77.7.57.47 37.87.77.7.57.47.47 87.77.7.57.47.47.37
+ 77.7.57.47.47.37.27 7.57.47.47.37.27.17 57.47.47.37.27.17.7
+ 47.47.37.27.17.7.38 47.37.27.17.7.38.68 37.27.17.7.38.68.78
+ 27.17.7.38.68.78.8 17.7.38.68.78.8.28 7.38.68.78.8.28.98
+ 38.68.78.8.28.98.78 68.78.8.28.98.78.58 78.8.28.98.78.58.98
+ 8.28.98.78.58.98.8 28.98.78.58.98.8.88 98.78.58.98.8.88.8
+ 78.58.98.8.88.8.58 58.98.8.88.8.58.58 98.8.88.8.58.58.58
+ 8.88.8.58.58.58.38 88.8.58.58.58.38.89 8.58.58.58.38.89.59
+ 58.58.58.38.89.59.39 58.58.38.89.59.39.99 58.38.89.59.39.99.29
+ 38.89.59.39.99.29.59 89.59.39.99.29.59.89 59.39.99.29.59.89.89
+ 39.99.29.59.89.89.29 99.29.59.89.89.29.9 29.59.89.89.29.9.79
+ 59.89.89.29.9.79.49 89.89.29.9.79.49.59 89.29.9.79.49.59.29
+ 29.9.79.49.59.29.59 9.79.49.59.29.59.19 79.49.59.29.59.19.39
+ 49.59.29.59.19.39.9 59.29.59.19.39.9.9 29.59.19.39.9.9.99
+ 59.19.39.9.9.99.69 19.39.9.9.99.69.39 39.9.9.99.69.39 9.9.99.69.39}
+
+do_execsql_test 1.11.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.11.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.11.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.11.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.11.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+} {3 89.96 4 89.96 5 89.96.38 6 89.96.38 7 89.96.38.39 7 96.38.39
+ 7 96.38.39.91 7 38.39.91 7 38.39.91.6 7 39.91.6 7 39.91.6.97
+ 7 91.6.97 7 91.6.97.46 7 6.97.46 7 6.97.46.54 7 97.46.54
+ 7 97.46.54.8 7 46.54.8 7 46.54.8.29 7 54.8.29 7 54.8.29.84
+ 7 8.29.84 7 8.29.84.23 7 29.84.23 7 29.84.23.16 7 84.23.16
+ 7 84.23.16.65 7 23.16.65 7 23.16.65.47 7 16.65.47 7 16.65.47.86
+ 7 65.47.86 7 65.47.86.61 7 47.86.61 7 47.86.61.85 7 86.61.85
+ 7 86.61.85.85 7 61.85.85 7 61.85.85.59 7 85.85.59 7 85.85.59.32
+ 7 85.59.32 7 85.59.32.3 7 59.32.3 7 59.32.3.22 7 32.3.22
+ 7 32.3.22.55 7 3.22.55 7 3.22.55.28 7 22.55.28 7 22.55.28.25
+ 7 55.28.25 7 55.28.25.1 7 28.25.1 7 28.25.1.40 7 25.1.40
+ 7 25.1.40.56 7 1.40.56 7 1.40.56.75 7 40.56.75 7 40.56.75.89
+ 7 56.75.89 7 56.75.89.76 7 75.89.76 7 75.89.76.4 7 89.76.4
+ 7 89.76.4.42 7 76.4.42 7 76.4.42.78 7 4.42.78 7 4.42.78.29
+ 7 42.78.29 7 42.78.29.63 7 78.29.63 7 78.29.63.87 7 29.63.87
+ 7 29.63.87.80 7 63.87.80 7 63.87.80.72 7 87.80.72 7 87.80.72.9
+ 7 80.72.9 7 80.72.9.73 7 72.9.73 7 72.9.73.65 7 9.73.65
+ 7 9.73.65.58 7 73.65.58 7 73.65.58.98 7 65.58.98 7 65.58.98.21
+ 7 58.98.21 7 58.98.21.65 7 98.21.65 7 98.21.65.5 7 21.65.5
+ 7 21.65.5.11 7 65.5.11 7 65.5.11.87 7 5.11.87 7 5.11.87.12
+ 7 11.87.12 7 11.87.12.20 7 87.12.20 7 87.12.20.31 7 12.20.31
+ 7 12.20.31.95 7 20.31.95 7 20.31.95.73 7 31.95.73 7 31.95.73.88
+ 7 95.73.88 7 95.73.88.8 7 73.88.8 7 73.88.8.49 7 88.8.49
+ 7 88.8.49.90 7 8.49.90 7 8.49.90.96 7 49.90.96 7 49.90.96.55
+ 7 90.96.55 7 90.96.55.77 7 96.55.77 7 96.55.77.2 7 55.77.2
+ 7 55.77.2.85 7 77.2.85 7 77.2.85.74 7 2.85.74 7 2.85.74.70
+ 7 85.74.70 7 85.74.70.19 7 74.70.19 7 74.70.19.26 7 70.19.26
+ 7 70.19.26.47 7 19.26.47 7 19.26.47.90 7 26.47.90 7 26.47.90.58
+ 7 47.90.58 7 47.90.58.9 7 90.58.9 7 90.58.9.72 7 58.9.72
+ 7 58.9.72.33 7 9.72.33 7 9.72.33.75 7 72.33.75 7 72.33.75.81
+ 7 33.75.81 7 33.75.81.23 7 75.81.23 7 75.81.23.13 7 81.23.13
+ 7 81.23.13.14 7 23.13.14 7 23.13.14.91 7 13.14.91 7 13.14.91.91
+ 7 14.91.91 7 14.91.91.15 7 91.91.15 7 91.91.15.36 7 91.15.36
+ 7 91.15.36.3 7 15.36.3 7 15.36.3.69 7 36.3.69 7 36.3.69.52
+ 7 3.69.52 7 3.69.52.50 7 69.52.50 7 69.52.50.10 7 52.50.10
+ 7 52.50.10.33 7 50.10.33 7 50.10.33.39 7 10.33.39 7 10.33.39.58
+ 7 33.39.58 7 33.39.58.38 7 39.58.38 7 39.58.38.83 7 58.38.83
+ 7 58.38.83.82 7 38.83.82 7 38.83.82.7 6 83.82.7 5 83.82.7}
+
+do_execsql_test 1.11.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+} {3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 6 {} 5 {}}
+
+do_execsql_test 1.11.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+} {3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {} 3 {} 4 {}
+ 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 6 {} 5 {} 3 {} 4 {} 5 {} 6 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 6 {} 5 {} 3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {}
+ 3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {} 3 {} 4 {} 5 {}
+ 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 6 {} 5 {} 3 {} 4 {} 5 {} 6 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 6 {} 5 {} 3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {} 3 {}
+ 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {} 3 {} 4 {} 5 {} 6 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 6 {} 5 {}}
+
+do_execsql_test 1.11.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND 2 FOLLOWING)
+} {3 89.6.29 4 89.6.29.47 5 89.6.29.47.59 6 89.6.29.47.59.28
+ 7 89.6.29.47.59.28.75 7 6.29.47.59.28.75.78 7 29.47.59.28.75.78.72
+ 7 47.59.28.75.78.72.98 7 59.28.75.78.72.98.87 7 28.75.78.72.98.87.73
+ 7 75.78.72.98.87.73.96 7 78.72.98.87.73.96.74 7 72.98.87.73.96.74.90
+ 7 98.87.73.96.74.90.75 7 87.73.96.74.90.75.91 7 73.96.74.90.75.91.69
+ 7 96.74.90.75.91.69.39 7 74.90.75.91.69.39.7 6 90.75.91.69.39.7
+ 5 75.91.69.39.7 3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {}
+ 3 96.97.84 4 96.97.84.86 5 96.97.84.86.32 6 96.97.84.86.32.25
+ 7 96.97.84.86.32.25.89 7 97.84.86.32.25.89.29 7 84.86.32.25.89.29.9
+ 7 86.32.25.89.29.9.21 7 32.25.89.29.9.21.12 7 25.89.29.9.21.12.88
+ 7 89.29.9.21.12.88.55 7 29.9.21.12.88.55.70 7 9.21.12.88.55.70.58
+ 7 21.12.88.55.70.58.81 7 12.88.55.70.58.81.91 7 88.55.70.58.81.91.52
+ 7 55.70.58.81.91.52.58 6 70.58.81.91.52.58 5 58.81.91.52.58 3 {}
+ 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {} 3 38.46.23 4 38.46.23.61
+ 5 38.46.23.61.3 6 38.46.23.61.3.1 7 38.46.23.61.3.1.76
+ 7 46.23.61.3.1.76.63 7 23.61.3.1.76.63.73 7 61.3.1.76.63.73.65
+ 7 3.1.76.63.73.65.20 7 1.76.63.73.65.20.8 7 76.63.73.65.20.8.77
+ 7 63.73.65.20.8.77.19 7 73.65.20.8.77.19.9 7 65.20.8.77.19.9.23
+ 7 20.8.77.19.9.23.15 7 8.77.19.9.23.15.50 7 77.19.9.23.15.50.38
+ 6 19.9.23.15.50.38 5 9.23.15.50.38 3 {} 4 {} 5 {} 6 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 6 {} 5 {} 3 39.54.16 4 39.54.16.85 5 39.54.16.85.22
+ 6 39.54.16.85.22.40 7 39.54.16.85.22.40.4 7 54.16.85.22.40.4.87
+ 7 16.85.22.40.4.87.65 7 85.22.40.4.87.65.5 7 22.40.4.87.65.5.31
+ 7 40.4.87.65.5.31.49 7 4.87.65.5.31.49.2 7 87.65.5.31.49.2.26
+ 7 65.5.31.49.2.26.72 7 5.31.49.2.26.72.13 7 31.49.2.26.72.13.36
+ 7 49.2.26.72.13.36.10 7 2.26.72.13.36.10.83 6 26.72.13.36.10.83
+ 5 72.13.36.10.83 3 {} 4 {} 5 {} 6 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 6 {} 5 {}
+ 3 91.8.65 4 91.8.65.85 5 91.8.65.85.55 6 91.8.65.85.55.56
+ 7 91.8.65.85.55.56.42 7 8.65.85.55.56.42.80 7 65.85.55.56.42.80.58
+ 7 85.55.56.42.80.58.11 7 55.56.42.80.58.11.95 7 56.42.80.58.11.95.90
+ 7 42.80.58.11.95.90.85 7 80.58.11.95.90.85.47 7 58.11.95.90.85.47.33
+ 7 11.95.90.85.47.33.14 7 95.90.85.47.33.14.3 7 90.85.47.33.14.3.33
+ 7 85.47.33.14.3.33.82 6 47.33.14.3.33.82 5 33.14.3.33.82 3 {} 4 {}
+ 5 {} 6 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {} 7 {}
+ 7 {} 7 {} 7 {} 7 {} 6 {} 5 {}}
+
+do_execsql_test 1.12.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {96 96 96 68 91 91 91 99 99 99 99 99 97 97 97
+ 97 97 97 93 93 93 93 84 93 93 93 93 93 86 86
+ 86 91 91 91 91 91 85 85 85 59 59 91 91 91 91
+ 91 90 90 89 89 89 89 56 56 56 56 75 75 89 98
+ 98 98 98 98 94 94 94 94 78 78 78 63 87 87 87
+ 87 87 84 84 84 73 95 95 95 95 96 98 98 98 98
+ 98 74 74 74 73 73 87 87 87 87 87 41 31 31 95
+ 95 95 95 95 88 88 88 88 49 90 90 96 96 96 96
+ 96 77 77 77 85 85 85 85 85 74 74 70 70 59 47
+ 80 90 90 90 90 90 72 72 72 72 93 93 93 93 93
+ 81 81 81 37 37 62 91 91 91 91 91 91 91 99 99
+ 99 99 99 95 95 69 84 84 84 84 84 84 84 58 58
+ 58 58 83 83 83 83 83 82 82 17 7}
+
+do_execsql_test 1.12.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {38 38 38 38 38 39 6 6 6 6 6 27 27 27 8 8 8
+ 8 8 29 23 16 16 16 16 16 16 7 7 7 7 7 61 24
+ 24 24 24 12 12 12 3 3 3 3 3 15 15 15 15 15
+ 1 1 1 1 1 16 16 16 16 16 36 36 4 4 4 4 4
+ 30 29 29 29 2 2 2 2 2 37 37 9 9 9 9 9 13
+ 13 13 13 1 1 1 1 1 5 5 5 5 5 11 11 8 8 8
+ 8 8 15 15 15 15 22 22 8 8 8 8 8 11 34 34 55
+ 55 55 44 2 2 2 2 2 7 29 29 19 19 19 19 19
+ 26 26 26 36 36 9 9 9 9 9 33 33 33 33 9 9 9
+ 9 9 12 12 12 12 14 33 15 15 15 15 3 3 3 3 3
+ 30 30 30 10 10 10 10 10 21 21 21 30 30 30 27
+ 27 17 7 7 7 7 7}
+
+do_execsql_test 1.12.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.12.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.12.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.12.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.12.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.12.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.12.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.12.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.12.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.12.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.12.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.12.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.12.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.12.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.12.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.12.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.12.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.12.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.12.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {52 83 55 79 109 65 26 120 119 50 70 103 80 124
+ 36 96 59 124 116 110 57 51 52 130 103 74 87 48
+ 128 117 105 136 131 71 133 92 109 63 84 109 57
+ 146 78 147 113 74 88 150 87 110 65 121 106 110
+ 124 85 145 107 161 171 150 156 80 171 120 109 158
+ 114 111 136 147 87 173 124 168 173 162 132 101 154
+ 167 190 161 110 156 195 198 102 123 177 169 140 111
+ 180 119 160 197 152 124 121 134 146 147 132 213 141
+ 193 200 210 157 132 136 175 161 218 188 226 191 187
+ 208 211 179 138 144 223 196 214 170 212 202 163 184
+ 172 173 195 229 240 187 210 200 163 227 228 223 191
+ 252 235 225 243 172 187 202 179 179 182 231 261 207
+ 263 206 189 209 212 276 181 274 249 239 234 213 234
+ 269 196 271 221 210 229 235 250 223 232 229 279 224
+ 280 216 207 207 207 207 207}
+
+do_execsql_test 1.12.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {134 218 191 212 229 240 213 234 196 223 223 223 223
+ 223 146 65 156 132 154 102 123 119 160 152 146 147
+ 136 243 261 263 210 210 210 210 210 120 87 162 124
+ 141 138 227 228 179 231 234 280 280 280 280 280 57
+ 110 114 136 147 167 110 180 193 191 252 187 179 206
+ 181 221 279 279 279 279 279 80 171 173 177 157 161
+ 179 214 225 182 209 269 271 235 229 229 229 229 229
+ 113 74 87 145 190 161 169 140 111 132 213 187 208
+ 223 235 189 274 274 274 274 274 51 52 128 109 121
+ 124 85 107 150 195 226 172 173 187 223 207 212 212
+ 212 212 212 110 87 48 110 173 124 197 211 144 196
+ 195 200 202 224 216 207 207 207 207 207 88 171 158
+ 156 198 121 210 132 210 239 250 232 232 232 232 232
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163 172 276 249 229 229 229 229 229}
+
+do_execsql_test 1.12.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {57 181 80 111 26 48 144 207 36 121 132 101 163
+ 172 196 119 136 63 124 179 110 179 182 74 132 189
+ 51 52 85 216 163 134 123 210 78 141 57 187 71 87
+ 172 173 50 224 88 59 111 170 109 213 223 146 147
+ 84 114 191 206 221 157 161 209 229 74 140 107 187
+ 207 212 124 202 52 232 55 184 229 106 132 152 120
+ 92 110 179 235 65 70 87 110 195 200 175 234 160
+ 234 136 80 113 187 109 121 124 196 156 210 239 250
+ 72 109 188 202 191 105 154 79 231 147 225 103 161
+ 169 223 96 83 249 212 162 227 228 167 180 193 117
+ 177 214 145 208 235 150 110 211 103 158 200 168 229
+ 92 156 243 280 279 116 173 269 271 131 133 223 128
+ 173 197 210 99 150 161 147 218 240 109 136 146 261
+ 263 124 130 252 171 190 213 274 108 195 226 119 124
+ 171 198 120 276 276 276 276 276}
+
+do_execsql_test 1.12.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {223 106 234 191 212 168 229 147 218 240 240 240 240
+ 240 123 210 146 147 132 152 160 105 154 92 156 243
+ 109 136 146 261 263 263 263 263 263 179 78 141 84
+ 120 234 79 231 162 227 228 280 280 280 280 280 57
+ 187 114 191 206 221 92 110 136 147 167 180 193 279
+ 124 130 252 252 252 252 252 161 209 229 179 235 80
+ 225 117 177 214 116 173 269 271 171 171 171 171 171
+ 87 74 140 113 187 103 161 169 145 208 235 131 133
+ 223 190 213 274 274 274 274 274 172 173 107 187 207
+ 212 65 70 109 121 124 223 150 128 108 195 226 226
+ 226 226 226 50 224 124 202 87 110 195 200 196 96
+ 110 211 173 197 119 124 124 124 124 124 52 232 156
+ 210 239 250 83 103 158 210 171 198 198 198 198 198
+ 59 111 170 55 184 229 175 72 109 188 202 249 200
+ 99 150 161 120 276 276 276 276 276}
+
+do_execsql_test 1.12.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {134 218 191 212 229 240 213 234 196 223 92 109 105
+ 136 146 65 156 132 154 102 123 119 160 152 146 147
+ 136 243 261 263 210 79 63 84 78 120 87 162 124
+ 141 138 227 228 179 231 234 280 124 57 130 92 57
+ 110 114 136 147 167 110 180 193 191 252 187 179 206
+ 181 221 279 80 116 117 71 80 171 173 177 157 161
+ 179 214 225 182 209 269 271 235 229 103 74 131 133
+ 113 74 87 145 190 161 169 140 111 132 213 187 208
+ 223 235 189 274 108 65 26 70 51 52 128 109 121
+ 124 85 107 150 195 226 172 173 187 223 207 212 119
+ 50 124 96 110 87 48 110 173 124 197 211 144 196
+ 195 200 202 224 216 207 52 83 103 36 88 171 158
+ 156 198 121 210 132 210 239 250 232 99 72 55 120
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163 172 276 249 229 229 229 229 229}
+
+do_execsql_test 1.12.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.12.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} 90
+ {} {} {} {} {} {} {} {} {} 56 {} {} {} {} {}
+ {} {} {} {} {} {} 78 {} {} {} {} {} {} {} {}
+ 37 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 21 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 85 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 54 {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.12.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.12.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.12.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.12.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.12.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.12.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.12.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.12.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.12.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.12.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.12.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.12.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {89.81.96.59.38 81.96.59.38.68 96.59.38.68.39 59.38.68.39.62
+ 38.68.39.62.91 68.39.62.91.46 39.62.91.46.6 62.91.46.6.99
+ 91.46.6.99.97 46.6.99.97.27 6.99.97.27.46 99.97.27.46.78
+ 97.27.46.78.54 27.46.78.54.97 46.78.54.97.8 78.54.97.8.67
+ 54.97.8.67.29 97.8.67.29.93 8.67.29.93.84 67.29.93.84.77
+ 29.93.84.77.23 93.84.77.23.16 84.77.23.16.16 77.23.16.16.93
+ 23.16.16.93.65 16.16.93.65.35 16.93.65.35.47 93.65.35.47.7
+ 65.35.47.7.86 35.47.7.86.74 47.7.86.74.61 7.86.74.61.91
+ 86.74.61.91.85 74.61.91.85.24 61.91.85.24.85 91.85.24.85.43
+ 85.24.85.43.59 24.85.43.59.12 85.43.59.12.32 43.59.12.32.56
+ 59.12.32.56.3 12.32.56.3.91 32.56.3.91.22 56.3.91.22.90
+ 3.91.22.90.55 91.22.90.55.15 22.90.55.15.28 90.55.15.28.89
+ 55.15.28.89.25 15.28.89.25.47 28.89.25.47.1 89.25.47.1.56
+ 25.47.1.56.40 47.1.56.40.43 1.56.40.43.56 56.40.43.56.16
+ 40.43.56.16.75 43.56.16.75.36 56.16.75.36.89 16.75.36.89.98
+ 75.36.89.98.76 36.89.98.76.81 89.98.76.81.4 98.76.81.4.94
+ 76.81.4.94.42 81.4.94.42.30 4.94.42.30.78 94.42.30.78.33
+ 42.30.78.33.29 30.78.33.29.53 78.33.29.53.63 33.29.53.63.2
+ 29.53.63.2.87 53.63.2.87.37 63.2.87.37.80 2.87.37.80.84
+ 87.37.80.84.72 37.80.84.72.41 80.84.72.41.9 84.72.41.9.61
+ 72.41.9.61.73 41.9.61.73.95 9.61.73.95.65 61.73.95.65.13
+ 73.95.65.13.58 95.65.13.58.96 65.13.58.96.98 13.58.96.98.1
+ 58.96.98.1.21 96.98.1.21.74 98.1.21.74.65 1.21.74.65.35
+ 21.74.65.35.5 74.65.35.5.73 65.35.5.73.11 35.5.73.11.51
+ 5.73.11.51.87 73.11.51.87.41 11.51.87.41.12 51.87.41.12.8
+ 87.41.12.8.20 41.12.8.20.31 12.8.20.31.31 8.20.31.31.15
+ 20.31.31.15.95 31.31.15.95.22 31.15.95.22.73 15.95.22.73.79
+ 95.22.73.79.88 22.73.79.88.34 73.79.88.34.8 79.88.34.8.11
+ 88.34.8.11.49 34.8.11.49.34 8.11.49.34.90 11.49.34.90.59
+ 49.34.90.59.96 34.90.59.96.60 90.59.96.60.55 59.96.60.55.75
+ 96.60.55.75.77 60.55.75.77.44 55.75.77.44.2 75.77.44.2.7
+ 77.44.2.7.85 44.2.7.85.57 2.7.85.57.74 7.85.57.74.29 85.57.74.29.70
+ 57.74.29.70.59 74.29.70.59.19 29.70.59.19.39 70.59.19.39.26
+ 59.19.39.26.26 19.39.26.26.47 39.26.26.47.80 26.26.47.80.90
+ 26.47.80.90.36 47.80.90.36.58 80.90.36.58.47 90.36.58.47.9
+ 36.58.47.9.72 58.47.9.72.72 47.9.72.72.66 9.72.72.66.33
+ 72.72.66.33.93 72.66.33.93.75 66.33.93.75.64 33.93.75.64.81
+ 93.75.64.81.9 75.64.81.9.23 64.81.9.23.37 81.9.23.37.13
+ 9.23.37.13.12 23.37.13.12.14 37.13.12.14.62 13.12.14.62.91
+ 12.14.62.91.36 14.62.91.36.91 62.91.36.91.33 91.36.91.33.15
+ 36.91.33.15.34 91.33.15.34.36 33.15.34.36.99 15.34.36.99.3
+ 34.36.99.3.95 36.99.3.95.69 99.3.95.69.58 3.95.69.58.52
+ 95.69.58.52.30 69.58.52.30.50 58.52.30.50.84 52.30.50.84.10
+ 30.50.84.10.84 50.84.10.84.33 84.10.84.33.21 10.84.33.21.39
+ 84.33.21.39.44 33.21.39.44.58 21.39.44.58.30 39.44.58.30.38
+ 44.58.30.38.34 58.30.38.34.83 30.38.34.83.27 38.34.83.27.82
+ 34.83.27.82.17 83.27.82.17.7 27.82.17.7 82.17.7 17.7 7}
+
+do_execsql_test 1.12.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {90.40.30.80.20 40.30.80.20.90 30.80.20.90.60 80.20.90.60.70
+ 20.90.60.70.80 90.60.70.80.90 60.70.80.90.30 70.80.90.30.50
+ 80.90.30.50.10 90.30.50.10.30 30.50.10.30 50.10.30 10.30 30
+ 81.91.61.91.91 91.61.91.91.1 61.91.91.1.81 91.91.1.81.41
+ 91.1.81.41.61 1.81.41.61.1 81.41.61.1.21 41.61.1.21.11
+ 61.1.21.11.51 1.21.11.51.41 21.11.51.41.31 11.51.41.31.31
+ 51.41.31.31.11 41.31.31.11.81 31.31.11.81.91 31.11.81.91.91
+ 11.81.91.91.21 81.91.91.21 91.91.21 91.21 21 62.12.32.22.42
+ 12.32.22.42.2 32.22.42.2.72 22.42.2.72.12 42.2.72.12.22
+ 2.72.12.22.2 72.12.22.2.72 12.22.2.72.72 22.2.72.72.12
+ 2.72.72.12.62 72.72.12.62.52 72.12.62.52.82 12.62.52.82 62.52.82
+ 52.82 82 93.23.93.43.3 23.93.43.3.43 93.43.3.43.33 43.3.43.33.53
+ 3.43.33.53.63 43.33.53.63.73 33.53.63.73.13 53.63.73.13.73
+ 63.73.13.73.73 73.13.73.73.33 13.73.73.33.93 73.73.33.93.23
+ 73.33.93.23.13 33.93.23.13.33 93.23.13.33.3 23.13.33.3.33
+ 13.33.3.33.83 33.3.33.83 3.33.83 33.83 83 54.84.74.24.4
+ 84.74.24.4.94 74.24.4.94.84 24.4.94.84.74 4.94.84.74.34
+ 94.84.74.34.34 84.74.34.34.44 74.34.34.44.74 34.34.44.74.64
+ 34.44.74.64.14 44.74.64.14.34 74.64.14.34.84 64.14.34.84.84
+ 14.34.84.84.44 34.84.84.44.34 84.84.44.34 84.44.34 44.34 34
+ 65.35.85.85.55 35.85.85.55.15 85.85.55.15.25 85.55.15.25.75
+ 55.15.25.75.95 15.25.75.95.65 25.75.95.65.65 75.95.65.65.35
+ 95.65.65.35.5 65.65.35.5.15 65.35.5.15.95 35.5.15.95.55
+ 5.15.95.55.75 15.95.55.75.85 95.55.75.85.75 55.75.85.75.15
+ 75.85.75.15.95 85.75.15.95 75.15.95 15.95 95 96.46.6.46.16
+ 46.6.46.16.16 6.46.16.16.86 46.16.16.86.56 16.16.86.56.56
+ 16.86.56.56.56 86.56.56.56.16 56.56.56.16.36 56.56.16.36.76
+ 56.16.36.76.96 16.36.76.96.96 36.76.96.96.26 76.96.96.26.26
+ 96.96.26.26.36 96.26.26.36.66 26.26.36.66.36 26.36.66.36.36
+ 36.66.36.36 66.36.36 36.36 36 97.27.97.67.77 27.97.67.77.47
+ 97.67.77.47.7 67.77.47.7.47 77.47.7.47.87 47.7.47.87.37
+ 7.47.87.37.87 47.87.37.87.77 87.37.87.77.7 37.87.77.7.57
+ 87.77.7.57.47 77.7.57.47.47 7.57.47.47.37 57.47.47.37.27
+ 47.47.37.27.17 47.37.27.17.7 37.27.17.7 27.17.7 17.7 7
+ 38.68.78.8.28 68.78.8.28.98 78.8.28.98.78 8.28.98.78.58
+ 28.98.78.58.98 98.78.58.98.8 78.58.98.8.88 58.98.8.88.8
+ 98.8.88.8.58 8.88.8.58.58 88.8.58.58.58 8.58.58.58.38 58.58.58.38
+ 58.58.38 58.38 38 89.59.39.99.29 59.39.99.29.59 39.99.29.59.89
+ 99.29.59.89.89 29.59.89.89.29 59.89.89.29.9 89.89.29.9.79
+ 89.29.9.79.49 29.9.79.49.59 9.79.49.59.29 79.49.59.29.59
+ 49.59.29.59.19 59.29.59.19.39 29.59.19.39.9 59.19.39.9.9
+ 19.39.9.9.99 39.9.9.99.69 9.9.99.69.39 9.99.69.39 99.69.39 69.39
+ 39}
+
+do_execsql_test 1.12.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {1.1.2.2.3 1.2.2.3.3 2.2.3.3.4 2.3.3.4.5 3.3.4.5.6 3.4.5.6.7
+ 4.5.6.7.7 5.6.7.7.7 6.7.7.7.8 7.7.7.8.8 7.7.8.8.8 7.8.8.8.9
+ 8.8.8.9.9 8.8.9.9.9 8.9.9.9.10 9.9.9.10.11 9.9.10.11.11
+ 9.10.11.11.12 10.11.11.12.12 11.11.12.12.12 11.12.12.12.13
+ 12.12.12.13.13 12.12.13.13.14 12.13.13.14.15 13.13.14.15.15
+ 13.14.15.15.15 14.15.15.15.16 15.15.15.16.16 15.15.16.16.16
+ 15.16.16.16.17 16.16.16.17.19 16.16.17.19.20 16.17.19.20.21
+ 17.19.20.21.21 19.20.21.21.22 20.21.21.22.22 21.21.22.22.23
+ 21.22.22.23.23 22.22.23.23.24 22.23.23.24.25 23.23.24.25.26
+ 23.24.25.26.26 24.25.26.26.27 25.26.26.27.27 26.26.27.27.28
+ 26.27.27.28.29 27.27.28.29.29 27.28.29.29.29 28.29.29.29.30
+ 29.29.29.30.30 29.29.30.30.30 29.30.30.30.31 30.30.30.31.31
+ 30.30.31.31.32 30.31.31.32.33 31.31.32.33.33 31.32.33.33.33
+ 32.33.33.33.33 33.33.33.33.34 33.33.33.34.34 33.33.34.34.34
+ 33.34.34.34.34 34.34.34.34.35 34.34.34.35.35 34.34.35.35.36
+ 34.35.35.36.36 35.35.36.36.36 35.36.36.36.36 36.36.36.36.37
+ 36.36.36.37.37 36.36.37.37.38 36.37.37.38.38 37.37.38.38.39
+ 37.38.38.39.39 38.38.39.39.39 38.39.39.39.40 39.39.39.40.41
+ 39.39.40.41.41 39.40.41.41.42 40.41.41.42.43 41.41.42.43.43
+ 41.42.43.43.44 42.43.43.44.44 43.43.44.44.46 43.44.44.46.46
+ 44.44.46.46.47 44.46.46.47.47 46.46.47.47.47 46.47.47.47.47
+ 47.47.47.47.49 47.47.47.49.50 47.47.49.50.51 47.49.50.51.52
+ 49.50.51.52.53 50.51.52.53.54 51.52.53.54.55 52.53.54.55.55
+ 53.54.55.55.56 54.55.55.56.56 55.55.56.56.56 55.56.56.56.57
+ 56.56.56.57.58 56.56.57.58.58 56.57.58.58.58 57.58.58.58.58
+ 58.58.58.58.59 58.58.58.59.59 58.58.59.59.59 58.59.59.59.59
+ 59.59.59.59.60 59.59.59.60.61 59.59.60.61.61 59.60.61.61.62
+ 60.61.61.62.62 61.61.62.62.63 61.62.62.63.64 62.62.63.64.65
+ 62.63.64.65.65 63.64.65.65.65 64.65.65.65.66 65.65.65.66.67
+ 65.65.66.67.68 65.66.67.68.69 66.67.68.69.70 67.68.69.70.72
+ 68.69.70.72.72 69.70.72.72.72 70.72.72.72.73 72.72.72.73.73
+ 72.72.73.73.73 72.73.73.73.74 73.73.73.74.74 73.73.74.74.74
+ 73.74.74.74.75 74.74.74.75.75 74.74.75.75.75 74.75.75.75.76
+ 75.75.75.76.77 75.75.76.77.77 75.76.77.77.78 76.77.77.78.78
+ 77.77.78.78.79 77.78.78.79.80 78.78.79.80.80 78.79.80.80.81
+ 79.80.80.81.81 80.80.81.81.81 80.81.81.81.82 81.81.81.82.83
+ 81.81.82.83.84 81.82.83.84.84 82.83.84.84.84 83.84.84.84.84
+ 84.84.84.84.85 84.84.84.85.85 84.84.85.85.85 84.85.85.85.86
+ 85.85.85.86.87 85.85.86.87.87 85.86.87.87.88 86.87.87.88.89
+ 87.87.88.89.89 87.88.89.89.89 88.89.89.89.90 89.89.89.90.90
+ 89.89.90.90.90 89.90.90.90.91 90.90.90.91.91 90.90.91.91.91
+ 90.91.91.91.91 91.91.91.91.91 91.91.91.91.93 91.91.91.93.93
+ 91.91.93.93.93 91.93.93.93.94 93.93.93.94.95 93.93.94.95.95
+ 93.94.95.95.95 94.95.95.95.96 95.95.95.96.96 95.95.96.96.96
+ 95.96.96.96.97 96.96.96.97.97 96.96.97.97.98 96.97.97.98.98
+ 97.97.98.98.99 97.98.98.99.99 98.98.99.99 98.99.99 99.99 99}
+
+do_execsql_test 1.12.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {10.20.30.30.30 20.30.30.30.40 30.30.30.40.50 30.30.40.50.60
+ 30.40.50.60.70 40.50.60.70.80 50.60.70.80.80 60.70.80.80.90
+ 70.80.80.90.90 80.80.90.90.90 80.90.90.90 90.90.90 90.90 90
+ 1.1.11.11.21 1.11.11.21.21 11.11.21.21.31 11.21.21.31.31
+ 21.21.31.31.41 21.31.31.41.41 31.31.41.41.51 31.41.41.51.61
+ 41.41.51.61.61 41.51.61.61.81 51.61.61.81.81 61.61.81.81.81
+ 61.81.81.81.91 81.81.81.91.91 81.81.91.91.91 81.91.91.91.91
+ 91.91.91.91.91 91.91.91.91 91.91.91 91.91 91 2.2.12.12.12
+ 2.12.12.12.22 12.12.12.22.22 12.12.22.22.32 12.22.22.32.42
+ 22.22.32.42.52 22.32.42.52.62 32.42.52.62.62 42.52.62.62.72
+ 52.62.62.72.72 62.62.72.72.72 62.72.72.72.82 72.72.72.82 72.72.82
+ 72.82 82 3.3.13.13.23 3.13.13.23.23 13.13.23.23.33 13.23.23.33.33
+ 23.23.33.33.33 23.33.33.33.33 33.33.33.33.43 33.33.33.43.43
+ 33.33.43.43.53 33.43.43.53.63 43.43.53.63.73 43.53.63.73.73
+ 53.63.73.73.73 63.73.73.73.83 73.73.73.83.93 73.73.83.93.93
+ 73.83.93.93.93 83.93.93.93 93.93.93 93.93 93 4.14.24.34.34
+ 14.24.34.34.34 24.34.34.34.34 34.34.34.34.44 34.34.34.44.44
+ 34.34.44.44.54 34.44.44.54.64 44.44.54.64.74 44.54.64.74.74
+ 54.64.74.74.74 64.74.74.74.84 74.74.74.84.84 74.74.84.84.84
+ 74.84.84.84.84 84.84.84.84.94 84.84.84.94 84.84.94 84.94 94
+ 5.15.15.15.25 15.15.15.25.35 15.15.25.35.35 15.25.35.35.55
+ 25.35.35.55.55 35.35.55.55.65 35.55.55.65.65 55.55.65.65.65
+ 55.65.65.65.75 65.65.65.75.75 65.65.75.75.75 65.75.75.75.85
+ 75.75.75.85.85 75.75.85.85.85 75.85.85.85.95 85.85.85.95.95
+ 85.85.95.95.95 85.95.95.95 95.95.95 95.95 95 6.16.16.16.26
+ 16.16.16.26.26 16.16.26.26.36 16.26.26.36.36 26.26.36.36.36
+ 26.36.36.36.36 36.36.36.36.46 36.36.36.46.46 36.36.46.46.56
+ 36.46.46.56.56 46.46.56.56.56 46.56.56.56.66 56.56.56.66.76
+ 56.56.66.76.86 56.66.76.86.96 66.76.86.96.96 76.86.96.96.96
+ 86.96.96.96 96.96.96 96.96 96 7.7.7.17.27 7.7.17.27.27
+ 7.17.27.27.37 17.27.27.37.37 27.27.37.37.47 27.37.37.47.47
+ 37.37.47.47.47 37.47.47.47.47 47.47.47.47.57 47.47.47.57.67
+ 47.47.57.67.77 47.57.67.77.77 57.67.77.77.87 67.77.77.87.87
+ 77.77.87.87.97 77.87.87.97.97 87.87.97.97 87.97.97 97.97 97
+ 8.8.8.28.38 8.8.28.38.38 8.28.38.38.58 28.38.38.58.58
+ 38.38.58.58.58 38.58.58.58.58 58.58.58.58.68 58.58.58.68.78
+ 58.58.68.78.78 58.68.78.78.88 68.78.78.88.98 78.78.88.98.98
+ 78.88.98.98 88.98.98 98.98 98 9.9.9.19.29 9.9.19.29.29
+ 9.19.29.29.29 19.29.29.29.39 29.29.29.39.39 29.29.39.39.39
+ 29.39.39.39.49 39.39.39.49.59 39.39.49.59.59 39.49.59.59.59
+ 49.59.59.59.59 59.59.59.59.69 59.59.59.69.79 59.59.69.79.89
+ 59.69.79.89.89 69.79.89.89.89 79.89.89.89.99 89.89.89.99.99
+ 89.89.99.99 89.99.99 99.99 99}
+
+do_execsql_test 1.12.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING ) FROM t2
+} {90.40.30.80.20 40.30.80.20.90 30.80.20.90.60 80.20.90.60.70
+ 20.90.60.70.80 90.60.70.80.90 60.70.80.90.30 70.80.90.30.50
+ 80.90.30.50.10 90.30.50.10.30 30.50.10.30.81 50.10.30.81.91
+ 10.30.81.91.61 30.81.91.61.91 81.91.61.91.91 91.61.91.91.1
+ 61.91.91.1.81 91.91.1.81.41 91.1.81.41.61 1.81.41.61.1
+ 81.41.61.1.21 41.61.1.21.11 61.1.21.11.51 1.21.11.51.41
+ 21.11.51.41.31 11.51.41.31.31 51.41.31.31.11 41.31.31.11.81
+ 31.31.11.81.91 31.11.81.91.91 11.81.91.91.21 81.91.91.21.62
+ 91.91.21.62.12 91.21.62.12.32 21.62.12.32.22 62.12.32.22.42
+ 12.32.22.42.2 32.22.42.2.72 22.42.2.72.12 42.2.72.12.22
+ 2.72.12.22.2 72.12.22.2.72 12.22.2.72.72 22.2.72.72.12
+ 2.72.72.12.62 72.72.12.62.52 72.12.62.52.82 12.62.52.82.93
+ 62.52.82.93.23 52.82.93.23.93 82.93.23.93.43 93.23.93.43.3
+ 23.93.43.3.43 93.43.3.43.33 43.3.43.33.53 3.43.33.53.63
+ 43.33.53.63.73 33.53.63.73.13 53.63.73.13.73 63.73.13.73.73
+ 73.13.73.73.33 13.73.73.33.93 73.73.33.93.23 73.33.93.23.13
+ 33.93.23.13.33 93.23.13.33.3 23.13.33.3.33 13.33.3.33.83
+ 33.3.33.83.54 3.33.83.54.84 33.83.54.84.74 83.54.84.74.24
+ 54.84.74.24.4 84.74.24.4.94 74.24.4.94.84 24.4.94.84.74
+ 4.94.84.74.34 94.84.74.34.34 84.74.34.34.44 74.34.34.44.74
+ 34.34.44.74.64 34.44.74.64.14 44.74.64.14.34 74.64.14.34.84
+ 64.14.34.84.84 14.34.84.84.44 34.84.84.44.34 84.84.44.34.65
+ 84.44.34.65.35 44.34.65.35.85 34.65.35.85.85 65.35.85.85.55
+ 35.85.85.55.15 85.85.55.15.25 85.55.15.25.75 55.15.25.75.95
+ 15.25.75.95.65 25.75.95.65.65 75.95.65.65.35 95.65.65.35.5
+ 65.65.35.5.15 65.35.5.15.95 35.5.15.95.55 5.15.95.55.75
+ 15.95.55.75.85 95.55.75.85.75 55.75.85.75.15 75.85.75.15.95
+ 85.75.15.95.96 75.15.95.96.46 15.95.96.46.6 95.96.46.6.46
+ 96.46.6.46.16 46.6.46.16.16 6.46.16.16.86 46.16.16.86.56
+ 16.16.86.56.56 16.86.56.56.56 86.56.56.56.16 56.56.56.16.36
+ 56.56.16.36.76 56.16.36.76.96 16.36.76.96.96 36.76.96.96.26
+ 76.96.96.26.26 96.96.26.26.36 96.26.26.36.66 26.26.36.66.36
+ 26.36.66.36.36 36.66.36.36.97 66.36.36.97.27 36.36.97.27.97
+ 36.97.27.97.67 97.27.97.67.77 27.97.67.77.47 97.67.77.47.7
+ 67.77.47.7.47 77.47.7.47.87 47.7.47.87.37 7.47.87.37.87
+ 47.87.37.87.77 87.37.87.77.7 37.87.77.7.57 87.77.7.57.47
+ 77.7.57.47.47 7.57.47.47.37 57.47.47.37.27 47.47.37.27.17
+ 47.37.27.17.7 37.27.17.7.38 27.17.7.38.68 17.7.38.68.78
+ 7.38.68.78.8 38.68.78.8.28 68.78.8.28.98 78.8.28.98.78
+ 8.28.98.78.58 28.98.78.58.98 98.78.58.98.8 78.58.98.8.88
+ 58.98.8.88.8 98.8.88.8.58 8.88.8.58.58 88.8.58.58.58 8.58.58.58.38
+ 58.58.58.38.89 58.58.38.89.59 58.38.89.59.39 38.89.59.39.99
+ 89.59.39.99.29 59.39.99.29.59 39.99.29.59.89 99.29.59.89.89
+ 29.59.89.89.29 59.89.89.29.9 89.89.29.9.79 89.29.9.79.49
+ 29.9.79.49.59 9.79.49.59.29 79.49.59.29.59 49.59.29.59.19
+ 59.29.59.19.39 29.59.19.39.9 59.19.39.9.9 19.39.9.9.99 39.9.9.99.69
+ 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39}
+
+do_execsql_test 1.12.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.12.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.12.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.12.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.12.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+} {5 89.96.38 5 96.38 5 96.38.39 5 38.39 5 38.39.91 5 39.91
+ 5 39.91.6 5 91.6 5 91.6.97 5 6.97 5 6.97.46 5 97.46 5 97.46.54
+ 5 46.54 5 46.54.8 5 54.8 5 54.8.29 5 8.29 5 8.29.84 5 29.84
+ 5 29.84.23 5 84.23 5 84.23.16 5 23.16 5 23.16.65 5 16.65
+ 5 16.65.47 5 65.47 5 65.47.86 5 47.86 5 47.86.61 5 86.61
+ 5 86.61.85 5 61.85 5 61.85.85 5 85.85 5 85.85.59 5 85.59
+ 5 85.59.32 5 59.32 5 59.32.3 5 32.3 5 32.3.22 5 3.22 5 3.22.55
+ 5 22.55 5 22.55.28 5 55.28 5 55.28.25 5 28.25 5 28.25.1 5 25.1
+ 5 25.1.40 5 1.40 5 1.40.56 5 40.56 5 40.56.75 5 56.75
+ 5 56.75.89 5 75.89 5 75.89.76 5 89.76 5 89.76.4 5 76.4
+ 5 76.4.42 5 4.42 5 4.42.78 5 42.78 5 42.78.29 5 78.29
+ 5 78.29.63 5 29.63 5 29.63.87 5 63.87 5 63.87.80 5 87.80
+ 5 87.80.72 5 80.72 5 80.72.9 5 72.9 5 72.9.73 5 9.73 5 9.73.65
+ 5 73.65 5 73.65.58 5 65.58 5 65.58.98 5 58.98 5 58.98.21
+ 5 98.21 5 98.21.65 5 21.65 5 21.65.5 5 65.5 5 65.5.11 5 5.11
+ 5 5.11.87 5 11.87 5 11.87.12 5 87.12 5 87.12.20 5 12.20
+ 5 12.20.31 5 20.31 5 20.31.95 5 31.95 5 31.95.73 5 95.73
+ 5 95.73.88 5 73.88 5 73.88.8 5 88.8 5 88.8.49 5 8.49 5 8.49.90
+ 5 49.90 5 49.90.96 5 90.96 5 90.96.55 5 96.55 5 96.55.77
+ 5 55.77 5 55.77.2 5 77.2 5 77.2.85 5 2.85 5 2.85.74 5 85.74
+ 5 85.74.70 5 74.70 5 74.70.19 5 70.19 5 70.19.26 5 19.26
+ 5 19.26.47 5 26.47 5 26.47.90 5 47.90 5 47.90.58 5 90.58
+ 5 90.58.9 5 58.9 5 58.9.72 5 9.72 5 9.72.33 5 72.33 5 72.33.75
+ 5 33.75 5 33.75.81 5 75.81 5 75.81.23 5 81.23 5 81.23.13
+ 5 23.13 5 23.13.14 5 13.14 5 13.14.91 5 14.91 5 14.91.91
+ 5 91.91 5 91.91.15 5 91.15 5 91.15.36 5 15.36 5 15.36.3 5 36.3
+ 5 36.3.69 5 3.69 5 3.69.52 5 69.52 5 69.52.50 5 52.50
+ 5 52.50.10 5 50.10 5 50.10.33 5 10.33 5 10.33.39 5 33.39
+ 5 33.39.58 5 39.58 5 39.58.38 5 58.38 5 58.38.83 5 38.83
+ 5 38.83.82 5 83.82 5 83.82.7 4 82.7 3 82.7 2 7 1 7}
+
+do_execsql_test 1.12.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+} {5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 4 {} 3 {} 2 {} 1 {}}
+
+do_execsql_test 1.12.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+} {5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 4 {} 3 {} 2 {} 1 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 4 {} 3 {} 2 {} 1 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 4 {}
+ 3 {} 2 {} 1 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 4 {} 3 {} 2 {} 1 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 4 {} 3 {} 2 {} 1 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 4 {} 3 {}
+ 2 {} 1 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 4 {} 3 {} 2 {} 1 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 4 {} 3 {} 2 {} 1 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 4 {} 3 {} 2 {} 1 {}}
+
+do_execsql_test 1.12.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)
+} {5 89.6.29.47.59 5 6.29.47.59.28 5 29.47.59.28.75 5 47.59.28.75.78
+ 5 59.28.75.78.72 5 28.75.78.72.98 5 75.78.72.98.87 5 78.72.98.87.73
+ 5 72.98.87.73.96 5 98.87.73.96.74 5 87.73.96.74.90 5 73.96.74.90.75
+ 5 96.74.90.75.91 5 74.90.75.91.69 5 90.75.91.69.39 5 75.91.69.39.7
+ 4 91.69.39.7 3 69.39.7 2 39.7 1 7 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 4 {}
+ 3 {} 2 {} 1 {} 5 96.97.84.86.32 5 97.84.86.32.25 5 84.86.32.25.89
+ 5 86.32.25.89.29 5 32.25.89.29.9 5 25.89.29.9.21 5 89.29.9.21.12
+ 5 29.9.21.12.88 5 9.21.12.88.55 5 21.12.88.55.70 5 12.88.55.70.58
+ 5 88.55.70.58.81 5 55.70.58.81.91 5 70.58.81.91.52 5 58.81.91.52.58
+ 4 81.91.52.58 3 91.52.58 2 52.58 1 58 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 4 {} 3 {} 2 {} 1 {} 5 38.46.23.61.3 5 46.23.61.3.1
+ 5 23.61.3.1.76 5 61.3.1.76.63 5 3.1.76.63.73 5 1.76.63.73.65
+ 5 76.63.73.65.20 5 63.73.65.20.8 5 73.65.20.8.77 5 65.20.8.77.19
+ 5 20.8.77.19.9 5 8.77.19.9.23 5 77.19.9.23.15 5 19.9.23.15.50
+ 5 9.23.15.50.38 4 23.15.50.38 3 15.50.38 2 50.38 1 38 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 4 {} 3 {} 2 {} 1 {} 5 39.54.16.85.22
+ 5 54.16.85.22.40 5 16.85.22.40.4 5 85.22.40.4.87 5 22.40.4.87.65
+ 5 40.4.87.65.5 5 4.87.65.5.31 5 87.65.5.31.49 5 65.5.31.49.2
+ 5 5.31.49.2.26 5 31.49.2.26.72 5 49.2.26.72.13 5 2.26.72.13.36
+ 5 26.72.13.36.10 5 72.13.36.10.83 4 13.36.10.83 3 36.10.83 2 10.83
+ 1 83 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 5 91.8.65.85.55 5 8.65.85.55.56 5 65.85.55.56.42 5 85.55.56.42.80
+ 5 55.56.42.80.58 5 56.42.80.58.11 5 42.80.58.11.95 5 80.58.11.95.90
+ 5 58.11.95.90.85 5 11.95.90.85.47 5 95.90.85.47.33 5 90.85.47.33.14
+ 5 85.47.33.14.3 5 47.33.14.3.33 5 33.14.3.33.82 4 14.3.33.82
+ 3 3.33.82 2 33.82 1 82 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {}
+ 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {}}
+
+do_execsql_test 1.13.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {96 68 68 68 91 91 91 99 99 99 97 78 78 97 97
+ 97 67 93 93 93 84 77 23 93 93 93 65 47 86 86
+ 86 91 91 91 85 85 85 59 59 56 56 91 91 91 90
+ 90 55 89 89 89 47 56 56 56 56 56 75 75 89 98
+ 98 98 81 94 94 94 78 78 78 53 63 63 87 87 87
+ 84 84 84 72 61 73 95 95 95 65 96 98 98 98 74
+ 74 74 65 73 73 73 87 87 87 41 20 31 31 31 95
+ 95 95 79 88 88 88 34 49 49 90 90 96 96 96 75
+ 77 77 77 44 85 85 85 74 74 70 70 59 39 39 47
+ 80 90 90 90 58 58 72 72 72 72 93 93 93 81 81
+ 81 37 37 37 14 62 91 91 91 91 91 34 36 99 99
+ 99 95 95 69 58 52 84 84 84 84 84 39 44 58 58
+ 58 38 83 83 83 82 82 17 7 {} {}}
+
+do_execsql_test 1.13.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {38 38 38 39 39 46 6 6 6 27 27 27 46 54 8 8
+ 8 29 29 77 23 16 16 16 16 35 35 7 7 7 61 61
+ 61 24 24 24 43 12 12 12 3 3 3 22 22 15 15 15
+ 25 25 1 1 1 40 40 16 16 16 36 36 76 76 4 4
+ 4 30 30 30 29 29 29 2 2 2 37 37 72 41 9 9 9
+ 61 65 13 13 13 58 1 1 1 21 35 5 5 5 11 11
+ 41 12 8 8 8 20 15 15 15 22 22 73 34 8 8 8
+ 11 34 34 59 59 55 55 55 44 2 2 2 7 57 29 29
+ 29 19 19 19 26 26 26 47 36 36 36 9 9 9 66 33
+ 33 33 64 64 9 9 9 13 12 12 12 14 36 36 33 15
+ 15 15 34 3 3 3 58 52 30 30 30 10 10 10 21 21
+ 21 39 30 30 30 34 27 27 17 7 7 7 {} {}}
+
+do_execsql_test 1.13.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.13.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.13.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.13.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.13.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.13.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.13.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.13.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.13.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.13.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.13.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.13.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.13.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.13.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.13.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.13.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.13.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.13.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.13.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {52 83 55 79 109 65 26 120 119 50 70 103 80 124
+ 36 96 59 124 116 110 57 51 52 130 103 74 87 48
+ 128 117 105 136 131 71 133 92 109 63 84 109 57
+ 146 78 147 113 74 88 150 87 110 65 121 106 110
+ 124 85 145 107 161 171 150 156 80 171 120 109 158
+ 114 111 136 147 87 173 124 168 173 162 132 101 154
+ 167 190 161 110 156 195 198 102 123 177 169 140 111
+ 180 119 160 197 152 124 121 134 146 147 132 213 141
+ 193 200 210 157 132 136 175 161 218 188 226 191 187
+ 208 211 179 138 144 223 196 214 170 212 202 163 184
+ 172 173 195 229 240 187 210 200 163 227 228 223 191
+ 252 235 225 243 172 187 202 179 179 182 231 261 207
+ 263 206 189 209 212 276 181 274 249 239 234 213 234
+ 269 196 271 221 210 229 235 250 223 232 229 279 224
+ 280 216 207 207 207 {} {}}
+
+do_execsql_test 1.13.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {134 218 191 212 229 240 213 234 196 223 223 223 {}
+ {} 146 65 156 132 154 102 123 119 160 152 146 147
+ 136 243 261 263 210 210 210 {} {} 120 87 162 124
+ 141 138 227 228 179 231 234 280 280 280 {} {} 57
+ 110 114 136 147 167 110 180 193 191 252 187 179 206
+ 181 221 279 279 279 {} {} 80 171 173 177 157 161
+ 179 214 225 182 209 269 271 235 229 229 229 {} {}
+ 113 74 87 145 190 161 169 140 111 132 213 187 208
+ 223 235 189 274 274 274 {} {} 51 52 128 109 121
+ 124 85 107 150 195 226 172 173 187 223 207 212 212
+ 212 {} {} 110 87 48 110 173 124 197 211 144 196
+ 195 200 202 224 216 207 207 207 {} {} 88 171 158
+ 156 198 121 210 132 210 239 250 232 232 232 {} {}
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163 172 276 249 229 229 229 {} {}}
+
+do_execsql_test 1.13.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {57 181 80 111 26 48 144 207 36 121 132 101 163
+ 172 196 119 136 63 124 179 110 179 182 74 132 189
+ 51 52 85 216 163 134 123 210 78 141 57 187 71 87
+ 172 173 50 224 88 59 111 170 109 213 223 146 147
+ 84 114 191 206 221 157 161 209 229 74 140 107 187
+ 207 212 124 202 52 232 55 184 229 106 132 152 120
+ 92 110 179 235 65 70 87 110 195 200 175 234 160
+ 234 136 80 113 187 109 121 124 196 156 210 239 250
+ 72 109 188 202 191 105 154 79 231 147 225 103 161
+ 169 223 96 83 249 212 162 227 228 167 180 193 117
+ 177 214 145 208 235 150 110 211 103 158 200 168 229
+ 92 156 243 280 279 116 173 269 271 131 133 223 128
+ 173 197 210 99 150 161 147 218 240 109 136 146 261
+ 263 124 130 252 171 190 213 274 108 195 226 119 124
+ 171 198 120 276 276 276 {} {}}
+
+do_execsql_test 1.13.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {223 106 234 191 212 168 229 147 218 240 240 240 {}
+ {} 123 210 146 147 132 152 160 105 154 92 156 243
+ 109 136 146 261 263 263 263 {} {} 179 78 141 84
+ 120 234 79 231 162 227 228 280 280 280 {} {} 57
+ 187 114 191 206 221 92 110 136 147 167 180 193 279
+ 124 130 252 252 252 {} {} 161 209 229 179 235 80
+ 225 117 177 214 116 173 269 271 171 171 171 {} {}
+ 87 74 140 113 187 103 161 169 145 208 235 131 133
+ 223 190 213 274 274 274 {} {} 172 173 107 187 207
+ 212 65 70 109 121 124 223 150 128 108 195 226 226
+ 226 {} {} 50 224 124 202 87 110 195 200 196 96
+ 110 211 173 197 119 124 124 124 {} {} 52 232 156
+ 210 239 250 83 103 158 210 171 198 198 198 {} {}
+ 59 111 170 55 184 229 175 72 109 188 202 249 200
+ 99 150 161 120 276 276 276 {} {}}
+
+do_execsql_test 1.13.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {134 218 191 212 229 240 213 234 196 223 92 109 105
+ 136 146 65 156 132 154 102 123 119 160 152 146 147
+ 136 243 261 263 210 79 63 84 78 120 87 162 124
+ 141 138 227 228 179 231 234 280 124 57 130 92 57
+ 110 114 136 147 167 110 180 193 191 252 187 179 206
+ 181 221 279 80 116 117 71 80 171 173 177 157 161
+ 179 214 225 182 209 269 271 235 229 103 74 131 133
+ 113 74 87 145 190 161 169 140 111 132 213 187 208
+ 223 235 189 274 108 65 26 70 51 52 128 109 121
+ 124 85 107 150 195 226 172 173 187 223 207 212 119
+ 50 124 96 110 87 48 110 173 124 197 211 144 196
+ 195 200 202 224 216 207 52 83 103 36 88 171 158
+ 156 198 121 210 132 210 239 250 232 99 72 55 120
+ 59 109 150 161 111 101 200 175 188 170 202 163 184
+ 163 172 276 249 229 229 229 {} {}}
+
+do_execsql_test 1.13.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 43 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 84 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 65 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 74 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 51 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 2 {} {} {} 62
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {2 3 4 5 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} 11
+ 21 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 22 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 51 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 2 {} {} {} 62
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {96 59 38 68 39 62 91 46 6 99 97 27 46 78 54
+ 97 8 67 29 93 84 77 23 16 16 93 65 35 47 7 86
+ 74 61 91 85 24 85 43 59 12 32 56 3 91 22 90
+ 55 15 28 89 25 47 1 56 40 43 56 16 75 36 89
+ 98 76 81 4 94 42 30 78 33 29 53 63 2 87 37 80
+ 84 72 41 9 61 73 95 65 13 58 96 98 1 21 74 65
+ 35 5 73 11 51 87 41 12 8 20 31 31 15 95 22 73
+ 79 88 34 8 11 49 34 90 59 96 60 55 75 77 44 2
+ 7 85 57 74 29 70 59 19 39 26 26 47 80 90 36
+ 58 47 9 72 72 66 33 93 75 64 81 9 23 37 13 12
+ 14 62 91 36 91 33 15 34 36 99 3 95 69 58 52
+ 30 50 84 10 84 33 21 39 44 58 30 38 34 83 27
+ 82 17 7 {} {}}
+
+do_execsql_test 1.13.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {30 80 20 90 60 70 80 90 30 50 10 30 {} {} 61
+ 91 91 1 81 41 61 1 21 11 51 41 31 31 11 81 91
+ 91 21 {} {} 32 22 42 2 72 12 22 2 72 72 12 62
+ 52 82 {} {} 93 43 3 43 33 53 63 73 13 73 73
+ 33 93 23 13 33 3 33 83 {} {} 74 24 4 94 84 74
+ 34 34 44 74 64 14 34 84 84 44 34 {} {} 85 85
+ 55 15 25 75 95 65 65 35 5 15 95 55 75 85 75
+ 15 95 {} {} 6 46 16 16 86 56 56 56 16 36 76
+ 96 96 26 26 36 66 36 36 {} {} 97 67 77 47 7
+ 47 87 37 87 77 7 57 47 47 37 27 17 7 {} {} 78
+ 8 28 98 78 58 98 8 88 8 58 58 58 38 {} {} 39
+ 99 29 59 89 89 29 9 79 49 59 29 59 19 39 9 9
+ 99 69 39 {} {}}
+
+do_execsql_test 1.13.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10 11
+ 11 12 12 12 13 13 14 15 15 15 16 16 16 17 19
+ 20 21 21 22 22 23 23 24 25 26 26 27 27 28 29
+ 29 29 30 30 30 31 31 32 33 33 33 33 34 34 34
+ 34 35 35 36 36 36 36 37 37 38 38 39 39 39 40
+ 41 41 42 43 43 44 44 46 46 47 47 47 47 49 50
+ 51 52 53 54 55 55 56 56 56 57 58 58 58 58 59
+ 59 59 59 60 61 61 62 62 63 64 65 65 65 66 67
+ 68 69 70 72 72 72 73 73 73 74 74 74 75 75 75
+ 76 77 77 78 78 79 80 80 81 81 81 82 83 84 84
+ 84 84 85 85 85 86 87 87 88 89 89 89 90 90 90
+ 91 91 91 91 91 93 93 93 94 95 95 95 96 96 96
+ 97 97 98 98 99 99 {} {}}
+
+do_execsql_test 1.13.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {30 30 30 40 50 60 70 80 80 90 90 90 {} {} 11
+ 11 21 21 31 31 41 41 51 61 61 81 81 81 91 91
+ 91 91 91 {} {} 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 {} {} 13 13 23 23 33 33 33 33 43
+ 43 53 63 73 73 73 83 93 93 93 {} {} 24 34 34
+ 34 34 44 44 54 64 74 74 74 84 84 84 84 94 {}
+ {} 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 85 95 95 95 {} {} 16 16 26 26 36 36 36 36
+ 46 46 56 56 56 66 76 86 96 96 96 {} {} 7 17
+ 27 27 37 37 47 47 47 47 57 67 77 77 87 87 97
+ 97 {} {} 8 28 38 38 58 58 58 58 68 78 78 88
+ 98 98 {} {} 9 19 29 29 29 39 39 39 49 59 59
+ 59 59 69 79 89 89 89 99 99 {} {}}
+
+do_execsql_test 1.13.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {30 80 20 90 60 70 80 90 30 50 10 30 81 91 61
+ 91 91 1 81 41 61 1 21 11 51 41 31 31 11 81 91
+ 91 21 62 12 32 22 42 2 72 12 22 2 72 72 12 62
+ 52 82 93 23 93 43 3 43 33 53 63 73 13 73 73
+ 33 93 23 13 33 3 33 83 54 84 74 24 4 94 84 74
+ 34 34 44 74 64 14 34 84 84 44 34 65 35 85 85
+ 55 15 25 75 95 65 65 35 5 15 95 55 75 85 75
+ 15 95 96 46 6 46 16 16 86 56 56 56 16 36 76
+ 96 96 26 26 36 66 36 36 97 27 97 67 77 47 7
+ 47 87 37 87 77 7 57 47 47 37 27 17 7 38 68 78
+ 8 28 98 78 58 98 8 88 8 58 58 58 38 89 59 39
+ 99 29 59 89 89 29 9 79 49 59 29 59 19 39 9 9
+ 99 69 39 {} {}}
+
+do_execsql_test 1.13.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.13.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.13.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.13.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.13.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.13.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {96.59.38 59.38.68 38.68.39 68.39.62 39.62.91 62.91.46 91.46.6
+ 46.6.99 6.99.97 99.97.27 97.27.46 27.46.78 46.78.54 78.54.97
+ 54.97.8 97.8.67 8.67.29 67.29.93 29.93.84 93.84.77 84.77.23
+ 77.23.16 23.16.16 16.16.93 16.93.65 93.65.35 65.35.47 35.47.7
+ 47.7.86 7.86.74 86.74.61 74.61.91 61.91.85 91.85.24 85.24.85
+ 24.85.43 85.43.59 43.59.12 59.12.32 12.32.56 32.56.3 56.3.91
+ 3.91.22 91.22.90 22.90.55 90.55.15 55.15.28 15.28.89 28.89.25
+ 89.25.47 25.47.1 47.1.56 1.56.40 56.40.43 40.43.56 43.56.16
+ 56.16.75 16.75.36 75.36.89 36.89.98 89.98.76 98.76.81 76.81.4
+ 81.4.94 4.94.42 94.42.30 42.30.78 30.78.33 78.33.29 33.29.53
+ 29.53.63 53.63.2 63.2.87 2.87.37 87.37.80 37.80.84 80.84.72
+ 84.72.41 72.41.9 41.9.61 9.61.73 61.73.95 73.95.65 95.65.13
+ 65.13.58 13.58.96 58.96.98 96.98.1 98.1.21 1.21.74 21.74.65
+ 74.65.35 65.35.5 35.5.73 5.73.11 73.11.51 11.51.87 51.87.41
+ 87.41.12 41.12.8 12.8.20 8.20.31 20.31.31 31.31.15 31.15.95
+ 15.95.22 95.22.73 22.73.79 73.79.88 79.88.34 88.34.8 34.8.11
+ 8.11.49 11.49.34 49.34.90 34.90.59 90.59.96 59.96.60 96.60.55
+ 60.55.75 55.75.77 75.77.44 77.44.2 44.2.7 2.7.85 7.85.57
+ 85.57.74 57.74.29 74.29.70 29.70.59 70.59.19 59.19.39 19.39.26
+ 39.26.26 26.26.47 26.47.80 47.80.90 80.90.36 90.36.58 36.58.47
+ 58.47.9 47.9.72 9.72.72 72.72.66 72.66.33 66.33.93 33.93.75
+ 93.75.64 75.64.81 64.81.9 81.9.23 9.23.37 23.37.13 37.13.12
+ 13.12.14 12.14.62 14.62.91 62.91.36 91.36.91 36.91.33 91.33.15
+ 33.15.34 15.34.36 34.36.99 36.99.3 99.3.95 3.95.69 95.69.58
+ 69.58.52 58.52.30 52.30.50 30.50.84 50.84.10 84.10.84 10.84.33
+ 84.33.21 33.21.39 21.39.44 39.44.58 44.58.30 58.30.38 30.38.34
+ 38.34.83 34.83.27 83.27.82 27.82.17 82.17.7 17.7 7 {} {}}
+
+do_execsql_test 1.13.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {30.80.20 80.20.90 20.90.60 90.60.70 60.70.80 70.80.90 80.90.30
+ 90.30.50 30.50.10 50.10.30 10.30 30 {} {} 61.91.91 91.91.1
+ 91.1.81 1.81.41 81.41.61 41.61.1 61.1.21 1.21.11 21.11.51
+ 11.51.41 51.41.31 41.31.31 31.31.11 31.11.81 11.81.91 81.91.91
+ 91.91.21 91.21 21 {} {} 32.22.42 22.42.2 42.2.72 2.72.12
+ 72.12.22 12.22.2 22.2.72 2.72.72 72.72.12 72.12.62 12.62.52
+ 62.52.82 52.82 82 {} {} 93.43.3 43.3.43 3.43.33 43.33.53
+ 33.53.63 53.63.73 63.73.13 73.13.73 13.73.73 73.73.33 73.33.93
+ 33.93.23 93.23.13 23.13.33 13.33.3 33.3.33 3.33.83 33.83 83
+ {} {} 74.24.4 24.4.94 4.94.84 94.84.74 84.74.34 74.34.34
+ 34.34.44 34.44.74 44.74.64 74.64.14 64.14.34 14.34.84 34.84.84
+ 84.84.44 84.44.34 44.34 34 {} {} 85.85.55 85.55.15 55.15.25
+ 15.25.75 25.75.95 75.95.65 95.65.65 65.65.35 65.35.5 35.5.15
+ 5.15.95 15.95.55 95.55.75 55.75.85 75.85.75 85.75.15 75.15.95
+ 15.95 95 {} {} 6.46.16 46.16.16 16.16.86 16.86.56 86.56.56
+ 56.56.56 56.56.16 56.16.36 16.36.76 36.76.96 76.96.96 96.96.26
+ 96.26.26 26.26.36 26.36.66 36.66.36 66.36.36 36.36 36 {} {}
+ 97.67.77 67.77.47 77.47.7 47.7.47 7.47.87 47.87.37 87.37.87
+ 37.87.77 87.77.7 77.7.57 7.57.47 57.47.47 47.47.37 47.37.27
+ 37.27.17 27.17.7 17.7 7 {} {} 78.8.28 8.28.98 28.98.78
+ 98.78.58 78.58.98 58.98.8 98.8.88 8.88.8 88.8.58 8.58.58
+ 58.58.58 58.58.38 58.38 38 {} {} 39.99.29 99.29.59 29.59.89
+ 59.89.89 89.89.29 89.29.9 29.9.79 9.79.49 79.49.59 49.59.29
+ 59.29.59 29.59.19 59.19.39 19.39.9 39.9.9 9.9.99 9.99.69
+ 99.69.39 69.39 39 {} {}}
+
+do_execsql_test 1.13.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {2.2.3 2.3.3 3.3.4 3.4.5 4.5.6 5.6.7 6.7.7 7.7.7 7.7.8
+ 7.8.8 8.8.8 8.8.9 8.9.9 9.9.9 9.9.10 9.10.11 10.11.11
+ 11.11.12 11.12.12 12.12.12 12.12.13 12.13.13 13.13.14 13.14.15
+ 14.15.15 15.15.15 15.15.16 15.16.16 16.16.16 16.16.17 16.17.19
+ 17.19.20 19.20.21 20.21.21 21.21.22 21.22.22 22.22.23 22.23.23
+ 23.23.24 23.24.25 24.25.26 25.26.26 26.26.27 26.27.27 27.27.28
+ 27.28.29 28.29.29 29.29.29 29.29.30 29.30.30 30.30.30 30.30.31
+ 30.31.31 31.31.32 31.32.33 32.33.33 33.33.33 33.33.33 33.33.34
+ 33.34.34 34.34.34 34.34.34 34.34.35 34.35.35 35.35.36 35.36.36
+ 36.36.36 36.36.36 36.36.37 36.37.37 37.37.38 37.38.38 38.38.39
+ 38.39.39 39.39.39 39.39.40 39.40.41 40.41.41 41.41.42 41.42.43
+ 42.43.43 43.43.44 43.44.44 44.44.46 44.46.46 46.46.47 46.47.47
+ 47.47.47 47.47.47 47.47.49 47.49.50 49.50.51 50.51.52 51.52.53
+ 52.53.54 53.54.55 54.55.55 55.55.56 55.56.56 56.56.56 56.56.57
+ 56.57.58 57.58.58 58.58.58 58.58.58 58.58.59 58.59.59 59.59.59
+ 59.59.59 59.59.60 59.60.61 60.61.61 61.61.62 61.62.62 62.62.63
+ 62.63.64 63.64.65 64.65.65 65.65.65 65.65.66 65.66.67 66.67.68
+ 67.68.69 68.69.70 69.70.72 70.72.72 72.72.72 72.72.73 72.73.73
+ 73.73.73 73.73.74 73.74.74 74.74.74 74.74.75 74.75.75 75.75.75
+ 75.75.76 75.76.77 76.77.77 77.77.78 77.78.78 78.78.79 78.79.80
+ 79.80.80 80.80.81 80.81.81 81.81.81 81.81.82 81.82.83 82.83.84
+ 83.84.84 84.84.84 84.84.84 84.84.85 84.85.85 85.85.85 85.85.86
+ 85.86.87 86.87.87 87.87.88 87.88.89 88.89.89 89.89.89 89.89.90
+ 89.90.90 90.90.90 90.90.91 90.91.91 91.91.91 91.91.91 91.91.91
+ 91.91.93 91.93.93 93.93.93 93.93.94 93.94.95 94.95.95 95.95.95
+ 95.95.96 95.96.96 96.96.96 96.96.97 96.97.97 97.97.98 97.98.98
+ 98.98.99 98.99.99 99.99 99 {} {}}
+
+do_execsql_test 1.13.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {30.30.30 30.30.40 30.40.50 40.50.60 50.60.70 60.70.80 70.80.80
+ 80.80.90 80.90.90 90.90.90 90.90 90 {} {} 11.11.21 11.21.21
+ 21.21.31 21.31.31 31.31.41 31.41.41 41.41.51 41.51.61 51.61.61
+ 61.61.81 61.81.81 81.81.81 81.81.91 81.91.91 91.91.91 91.91.91
+ 91.91.91 91.91 91 {} {} 12.12.12 12.12.22 12.22.22 22.22.32
+ 22.32.42 32.42.52 42.52.62 52.62.62 62.62.72 62.72.72 72.72.72
+ 72.72.82 72.82 82 {} {} 13.13.23 13.23.23 23.23.33 23.33.33
+ 33.33.33 33.33.33 33.33.43 33.43.43 43.43.53 43.53.63 53.63.73
+ 63.73.73 73.73.73 73.73.83 73.83.93 83.93.93 93.93.93 93.93
+ 93 {} {} 24.34.34 34.34.34 34.34.34 34.34.44 34.44.44
+ 44.44.54 44.54.64 54.64.74 64.74.74 74.74.74 74.74.84 74.84.84
+ 84.84.84 84.84.84 84.84.94 84.94 94 {} {} 15.15.25 15.25.35
+ 25.35.35 35.35.55 35.55.55 55.55.65 55.65.65 65.65.65 65.65.75
+ 65.75.75 75.75.75 75.75.85 75.85.85 85.85.85 85.85.95 85.95.95
+ 95.95.95 95.95 95 {} {} 16.16.26 16.26.26 26.26.36 26.36.36
+ 36.36.36 36.36.36 36.36.46 36.46.46 46.46.56 46.56.56 56.56.56
+ 56.56.66 56.66.76 66.76.86 76.86.96 86.96.96 96.96.96 96.96
+ 96 {} {} 7.17.27 17.27.27 27.27.37 27.37.37 37.37.47
+ 37.47.47 47.47.47 47.47.47 47.47.57 47.57.67 57.67.77 67.77.77
+ 77.77.87 77.87.87 87.87.97 87.97.97 97.97 97 {} {} 8.28.38
+ 28.38.38 38.38.58 38.58.58 58.58.58 58.58.58 58.58.68 58.68.78
+ 68.78.78 78.78.88 78.88.98 88.98.98 98.98 98 {} {} 9.19.29
+ 19.29.29 29.29.29 29.29.39 29.39.39 39.39.39 39.39.49 39.49.59
+ 49.59.59 59.59.59 59.59.59 59.59.69 59.69.79 69.79.89 79.89.89
+ 89.89.89 89.89.99 89.99.99 99.99 99 {} {}}
+
+do_execsql_test 1.13.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING ) FROM t2
+} {30.80.20 80.20.90 20.90.60 90.60.70 60.70.80 70.80.90 80.90.30
+ 90.30.50 30.50.10 50.10.30 10.30.81 30.81.91 81.91.61 91.61.91
+ 61.91.91 91.91.1 91.1.81 1.81.41 81.41.61 41.61.1 61.1.21
+ 1.21.11 21.11.51 11.51.41 51.41.31 41.31.31 31.31.11 31.11.81
+ 11.81.91 81.91.91 91.91.21 91.21.62 21.62.12 62.12.32 12.32.22
+ 32.22.42 22.42.2 42.2.72 2.72.12 72.12.22 12.22.2 22.2.72
+ 2.72.72 72.72.12 72.12.62 12.62.52 62.52.82 52.82.93 82.93.23
+ 93.23.93 23.93.43 93.43.3 43.3.43 3.43.33 43.33.53 33.53.63
+ 53.63.73 63.73.13 73.13.73 13.73.73 73.73.33 73.33.93 33.93.23
+ 93.23.13 23.13.33 13.33.3 33.3.33 3.33.83 33.83.54 83.54.84
+ 54.84.74 84.74.24 74.24.4 24.4.94 4.94.84 94.84.74 84.74.34
+ 74.34.34 34.34.44 34.44.74 44.74.64 74.64.14 64.14.34 14.34.84
+ 34.84.84 84.84.44 84.44.34 44.34.65 34.65.35 65.35.85 35.85.85
+ 85.85.55 85.55.15 55.15.25 15.25.75 25.75.95 75.95.65 95.65.65
+ 65.65.35 65.35.5 35.5.15 5.15.95 15.95.55 95.55.75 55.75.85
+ 75.85.75 85.75.15 75.15.95 15.95.96 95.96.46 96.46.6 46.6.46
+ 6.46.16 46.16.16 16.16.86 16.86.56 86.56.56 56.56.56 56.56.16
+ 56.16.36 16.36.76 36.76.96 76.96.96 96.96.26 96.26.26 26.26.36
+ 26.36.66 36.66.36 66.36.36 36.36.97 36.97.27 97.27.97 27.97.67
+ 97.67.77 67.77.47 77.47.7 47.7.47 7.47.87 47.87.37 87.37.87
+ 37.87.77 87.77.7 77.7.57 7.57.47 57.47.47 47.47.37 47.37.27
+ 37.27.17 27.17.7 17.7.38 7.38.68 38.68.78 68.78.8 78.8.28
+ 8.28.98 28.98.78 98.78.58 78.58.98 58.98.8 98.8.88 8.88.8
+ 88.8.58 8.58.58 58.58.58 58.58.38 58.38.89 38.89.59 89.59.39
+ 59.39.99 39.99.29 99.29.59 29.59.89 59.89.89 89.89.29 89.29.9
+ 29.9.79 9.79.49 79.49.59 49.59.29 59.29.59 29.59.19 59.19.39
+ 19.39.9 39.9.9 9.9.99 9.99.69 99.69.39 69.39 39 {} {}}
+
+do_execsql_test 1.13.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.13.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+} {3 96.38 3 38 3 38.39 3 39 3 39.91 3 91 3 91.6 3 6 3 6.97
+ 3 97 3 97.46 3 46 3 46.54 3 54 3 54.8 3 8 3 8.29 3 29
+ 3 29.84 3 84 3 84.23 3 23 3 23.16 3 16 3 16.65 3 65 3 65.47
+ 3 47 3 47.86 3 86 3 86.61 3 61 3 61.85 3 85 3 85.85 3 85
+ 3 85.59 3 59 3 59.32 3 32 3 32.3 3 3 3 3.22 3 22 3 22.55
+ 3 55 3 55.28 3 28 3 28.25 3 25 3 25.1 3 1 3 1.40 3 40
+ 3 40.56 3 56 3 56.75 3 75 3 75.89 3 89 3 89.76 3 76 3 76.4
+ 3 4 3 4.42 3 42 3 42.78 3 78 3 78.29 3 29 3 29.63 3 63
+ 3 63.87 3 87 3 87.80 3 80 3 80.72 3 72 3 72.9 3 9 3 9.73
+ 3 73 3 73.65 3 65 3 65.58 3 58 3 58.98 3 98 3 98.21 3 21
+ 3 21.65 3 65 3 65.5 3 5 3 5.11 3 11 3 11.87 3 87 3 87.12
+ 3 12 3 12.20 3 20 3 20.31 3 31 3 31.95 3 95 3 95.73 3 73
+ 3 73.88 3 88 3 88.8 3 8 3 8.49 3 49 3 49.90 3 90 3 90.96
+ 3 96 3 96.55 3 55 3 55.77 3 77 3 77.2 3 2 3 2.85 3 85
+ 3 85.74 3 74 3 74.70 3 70 3 70.19 3 19 3 19.26 3 26 3 26.47
+ 3 47 3 47.90 3 90 3 90.58 3 58 3 58.9 3 9 3 9.72 3 72
+ 3 72.33 3 33 3 33.75 3 75 3 75.81 3 81 3 81.23 3 23 3 23.13
+ 3 13 3 13.14 3 14 3 14.91 3 91 3 91.91 3 91 3 91.15 3 15
+ 3 15.36 3 36 3 36.3 3 3 3 3.69 3 69 3 69.52 3 52 3 52.50
+ 3 50 3 50.10 3 10 3 10.33 3 33 3 33.39 3 39 3 39.58 3 58
+ 3 58.38 3 38 3 38.83 3 83 3 83.82 3 82 3 82.7 2 7 1 7
+ 0 {} 0 {}}
+
+do_execsql_test 1.13.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+} {3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 2 {} 1 {} 0 {} 0 {}}
+
+do_execsql_test 1.13.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+} {3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 2 {}
+ 1 {} 0 {} 0 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 2 {} 1 {} 0 {} 0 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {}
+ 0 {} 0 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 2 {} 1 {} 0 {} 0 {}}
+
+do_execsql_test 1.13.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 4 FOLLOWING)
+} {3 29.47.59 3 47.59.28 3 59.28.75 3 28.75.78 3 75.78.72 3 78.72.98
+ 3 72.98.87 3 98.87.73 3 87.73.96 3 73.96.74 3 96.74.90 3 74.90.75
+ 3 90.75.91 3 75.91.69 3 91.69.39 3 69.39.7 2 39.7 1 7 0 {}
+ 0 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 84.86.32
+ 3 86.32.25 3 32.25.89 3 25.89.29 3 89.29.9 3 29.9.21 3 9.21.12
+ 3 21.12.88 3 12.88.55 3 88.55.70 3 55.70.58 3 70.58.81 3 58.81.91
+ 3 81.91.52 3 91.52.58 2 52.58 1 58 0 {} 0 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 2 {} 1 {} 0 {} 0 {} 3 23.61.3 3 61.3.1 3 3.1.76
+ 3 1.76.63 3 76.63.73 3 63.73.65 3 73.65.20 3 65.20.8 3 20.8.77
+ 3 8.77.19 3 77.19.9 3 19.9.23 3 9.23.15 3 23.15.50 3 15.50.38
+ 2 50.38 1 38 0 {} 0 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {}
+ 0 {} 0 {} 3 16.85.22 3 85.22.40 3 22.40.4 3 40.4.87 3 4.87.65
+ 3 87.65.5 3 65.5.31 3 5.31.49 3 31.49.2 3 49.2.26 3 2.26.72
+ 3 26.72.13 3 72.13.36 3 13.36.10 3 36.10.83 2 10.83 1 83 0 {}
+ 0 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 2 {} 1 {} 0 {} 0 {} 3 65.85.55
+ 3 85.55.56 3 55.56.42 3 56.42.80 3 42.80.58 3 80.58.11 3 58.11.95
+ 3 11.95.90 3 95.90.85 3 90.85.47 3 85.47.33 3 47.33.14 3 33.14.3
+ 3 14.3.33 3 3.33.82 2 33.82 1 82 0 {} 0 {} 3 {} 3 {} 3 {}
+ 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {} 3 {}
+ 3 {} 2 {} 1 {} 0 {} 0 {}}
+
+do_execsql_test 1.14.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99}
+
+do_execsql_test 1.14.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.14.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.14.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.14.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.14.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.14.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.14.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.14.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.14.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.14.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.14.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.14.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.14.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.14.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.14.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.14.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.14.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.14.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.14.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.14.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207}
+
+do_execsql_test 1.14.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 223 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 210 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 279 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 212 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 232
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.14.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.14.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 252 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 171
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 226 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 124 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 198
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.14.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.14.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.14.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 41 5 16 85 42 43 89 1 22 39 51 73 93 22 80
+ 1 73 91 94 35 74 73 37 77 54 54 74 81 91 90
+ 62 65 63 36 1 95 23 95 56 16 97 86 40 59 1 84
+ 98 56 78 65 96 16 90 81 40 59 56 40 54 2 85
+ 96 11 87 41 38 65 32 47 80 74 35 47 98 96 13
+ 24 72 73 29 12 46 36 53 35 81 27 56 5 11 81
+ 93 63 81 91 68 53 99 89 13 12 97 91 29 7 7 78
+ 35 84 53 84 58 61 91 99 15 61 98 16 5 75 56 2
+ 37 3 96 62 95 43 63 35 78 16 67 43 16 16 90
+ 72 98 85 56 90 46 29 29 4 74 74 2 76 41 46 77
+ 24 27 97 46 89 1 85 1 74 78 61 85 51 59 35 30
+ 56 25 47 28 73 6 73 74 93 43 3 56 47 85 61 61
+ 93 9 97 62}
+
+do_execsql_test 1.14.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 91 {} 11 {} {} {} {}
+ 11 {} {} {} {} {} 12 {} {} {} 32 {} 12 {} 32
+ {} {} 12 {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 33 {} {} {} {} {} 33 {} 43 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} 34 {} {} {} {}
+ {} {} {} {} {} {} 55 {} {} {} {} {} {} 15 55
+ {} {} {} {} {} 55 {} {} {} 86 {} 26 26 {} {}
+ {} {} 26 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 47 {} {} {} {} {} 47 {} {} {} {}
+ {} 27 47 {} {} {} 98 {} {} {} {} {} 98 {} 98
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} 99 {} 9 9 {} {} {}}
+
+do_execsql_test 1.14.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 2 2 3 3 4 5 5 5 6 6 6 7 7 7 7
+ 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 12
+ 12 12 12 12 12 13 13 14 14 15 15 15 15 15 15
+ 16 16 16 16 16 16 17 17 17 17 19 19 19 19 20
+ 20 21 21 21 21 21 21 22 22 22 22 22 23 23 23
+ 24 25 25 26 26 27 27 27 27 27 27 29 29 29 30
+ 30 30 31 31 31 31 31 32 33 33 33 33 33 33 33
+ 33 33 33 33 34 34 34 34 34 34 34 35 35 36 36
+ 36 37 37 37 37 37 37 38 38 38 38 38 38 39 39
+ 39 39 39 40 41 41 41 41 41 42 43 43 43 43 43
+ 44 44 44 44 46 46 46 47 47 47 47 47 47 47 47
+ 47 47 47 49 49 49 50 51 51 51 52 52 52 53 53
+ 54 54 55 55}
+
+do_execsql_test 1.14.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1 1
+ 61 61 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 12 12 72 72 72 {} {} {} {} {} {}
+ {} {} {} {} {} 13 13 63 63 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 34 84 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 35 85 85 85 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 36 76 76 76 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 37 37 37
+ 87 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} 58 58 58 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 39 39 39 89 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 2 11 34 81 34 73 33 34 34 11 82 30 11 34
+ 65 13 65 65 40 34 72 13 40 41 50 93 72 81 81
+ 50 34 65 65 41 73 10 91 61 12 30 54 10 61 30
+ 54 54 10 73 23 44 85 1 85 22 80 22 91 93 73
+ 84 30 84 84 91 85 1 30 91 80 91 74 43 64 74
+ 21 20 85 64 74 21 21 2 74 33 81 21 64 64 2 21
+ 93 62 14 14 3 91 11 24 55 93 93 62 90 91 55 3
+ 24 14 24 91 55 15 72 60 72 61 61 34 43 43 43
+ 61 12 4 15 15 51 51 12 23 12 12 25 41 25 13
+ 94 12 70 12 84 32 84 94 70 33 12 12 32 41 91
+ 70 22 33 84 80 31 75 84 53 75 80 84 80 53 53
+ 53 22 44 63 42 95 31 63 44 44 31 90 74 52 63
+ 31 63 1 42 90 90 95 3 42}
+
+do_execsql_test 1.14.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.14.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 81
+ 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81
+ 81 81 81 81 81 62 62 62 62 62 62 62 62 62 62
+ 62 62 62 62 62 62 93 93 93 93 93 93 93 93 93
+ 93 93 93 93 93 93 93 93 93 93 93 93 54 54 54
+ 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54
+ 54 65 65 65 65 65 65 65 65 65 65 65 65 65 65
+ 65 65 65 65 65 65 65 96 96 96 96 96 96 96 96
+ 96 96 96 96 96 96 96 96 96 96 96 96 96 97 97
+ 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
+ 97 97 97 38 38 38 38 38 38 38 38 38 38 38 38
+ 38 38 38 38 89 89 89 89 89 89 89 89 89 89 89
+ 89 89 89 89 89 89 89 89 89 89 89}
+
+do_execsql_test 1.14.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1}
+
+do_execsql_test 1.14.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9}
+
+do_execsql_test 1.14.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+ 90 90 90 90 90 90 90 90 90 90 90}
+
+do_execsql_test 1.14.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.14.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.14.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.14.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.14.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.14.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.14.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.14.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7}
+
+do_execsql_test 1.14.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.14.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99}
+
+do_execsql_test 1.14.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99}
+
+do_execsql_test 1.14.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39}
+
+do_execsql_test 1.14.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.14.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.14.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.14.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.14.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7}
+
+do_execsql_test 1.14.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}
+ 191 {} 191 {} 191 {} 191 {} 191 {} 191 {} 191 {}}
+
+do_execsql_test 1.14.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {}
+ 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {} 20 {}
+ 20 {} 20 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {}}
+
+do_execsql_test 1.14.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
+} {20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}
+ 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {} 19 {}}
+
+do_execsql_test 1.15.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 95 95 84 84 84 84 84 84
+ 84 84 83 83 83 83 83 83 83 83 83}
+
+do_execsql_test 1.15.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7}
+
+do_execsql_test 1.15.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.15.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.15.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.15.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.15.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.15.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.15.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.15.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.15.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.15.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.15.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.15.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.15.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.15.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.15.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.15.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.15.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.15.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.15.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207}
+
+do_execsql_test 1.15.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 223 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 210 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 279 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 212 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 232
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.15.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.15.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 252 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 171
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 226 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 124 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 198
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.15.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.15.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.15.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 41 5 16 85 30 12 81 35 89 97 31 31 85 40
+ 96 4 73 84 9 91 73 12 5 56 24 85 49 96 75 53
+ 61 8 8 1 55 34 43 59 80 35 15 78 35 56 70 76
+ 59 51 75 63 26 53 5 89 15 21 5 73 33 29 74 66
+ 12 26 58 4 12 31 35 9 87 73 55 59 53 62 73 23
+ 62 33 90 13 90 9 10 66 5 58 44 38 58 22 33 37
+ 2 73 36 31 72 30 47 73 15 96 70 59 90 {} 7 21
+ 83 {} 47 90 55 36 66 {} 50 {} 84 30 {} {} 34
+ 77 74 {} 58 {} 13 {} 82 93 69 14 62 44 {} {}
+ 30 {} 83 93 {} {} {} 84 {} {} {} {} 14 30 82
+ 34 34 3 {} {} {} {} {} 84 {} {} {} 99 {} {}
+ {} {} {} {} {} 58 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {}}
+
+do_execsql_test 1.15.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} 91 {} {} {} {}
+ {} {} {} {} {} {} 12 {} {} {} 22 {} 82 {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 33 {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 75 {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} {} {} {} {} 86 {} 26 36 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 37 {} {} {} {} {} 47 {} {} {} {}
+ {} {} {} {} {} {} 98 {} {} {} {} {} 58 {} 38
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 59 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 2 3 4 6 7 8 8 8 9 9 10 11 12 12
+ 13 14 15 15 16 16 17 19 21 22 22 23 24 25 26
+ 27 29 29 30 30 31 32 33 33 34 34 35 35 36 36
+ 37 38 38 39 39 40 41 42 43 44 46 46 47 47 47
+ 49 50 51 53 54 55 56 56 56 58 58 58 59 59 59
+ 60 61 62 63 65 65 66 68 69 72 72 73 73 74 74
+ 75 76 77 78 80 81 81 82 84 84 84 85 85 86 87
+ 87 89 89 89 90 90 91 91 91 93 93 95 95 96 96
+ 97 98 99 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1 1
+ 61 61 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 12 12 72 72 72 {} {} {} {} {} {}
+ {} {} {} {} {} 13 13 63 63 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 34 84 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 35 85 85 85 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 36 76 76 76 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 37 37 37
+ 87 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} 58 58 58 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 39 39 39 89 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 2 11 34 81 65 73 84 64 55 12 33 91 42 65
+ 35 84 15 95 61 25 53 74 81 72 91 84 33 3 43
+ 32 85 56 56 93 85 2 93 43 94 22 75 82 13 12
+ 46 6 3 55 25 26 47 83 37 85 43 55 34 75 86 36
+ 33 36 36 85 68 14 4 25 33 95 27 16 38 77 55 4
+ 58 98 37 15 95 16 38 77 55 16 58 38 36 56 7
+ 36 59 89 57 75 86 89 39 98 8 97 15 46 {} 28 9
+ 69 49 56 {} {} 78 16 28 26 36 {} 39 99 29 27
+ 78 {} {} {} 37 27 98 {} 88 8 {} 28 {} {} {}
+ 59 37 59 {} 89 {} {} 47 {} 39 {} 29 29 8 78 9
+ {} {} 58 59 {} {} {} {} 58 {} 38 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 59 {} {} {} {} {}
+ {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {89 89 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.15.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 81
+ 81 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 62 62 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 93 93 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 54 54 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 65
+ 65 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 96 96 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 97 97 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 38
+ 38 38 38 38 68 78 8 28 98 78 58 98 8 88 8 89
+ 89 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.15.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.15.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {10 10 10 10 10 20 30 30 30 40 50 60 70 80 1 1
+ 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61 81
+ 81 81 91 2 2 2 2 2 2 12 12 12 22 22 32 42
+ 52 62 62 3 3 3 3 3 3 13 13 23 23 33 33 33
+ 33 43 43 53 63 73 73 73 4 4 4 4 4 14 24 34
+ 34 34 34 44 44 54 64 74 74 74 84 5 5 5 5 5
+ 15 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 6 6 6 6 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 7 7 7 7 7 7 7 17 27 27 37
+ 37 47 47 47 47 57 67 77 77 8 8 8 8 8 8 8 28
+ 38 38 58 58 58 58 68 78 9 9 9 9 9 9 9 19 29
+ 29 29 39 39 39 49 59 59 59 59 69 79 89}
+
+do_execsql_test 1.15.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.15.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.15.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.15.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.15.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.15.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.15.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.15.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.15.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.21.39.44.58.30.38.34.83.27.82.17.7 21.39.44.58.30.38.34.83.27.82.17.7
+ 39.44.58.30.38.34.83.27.82.17.7 44.58.30.38.34.83.27.82.17.7
+ 58.30.38.34.83.27.82.17.7 30.38.34.83.27.82.17.7 38.34.83.27.82.17.7
+ 34.83.27.82.17.7 83.27.82.17.7}
+
+do_execsql_test 1.15.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 40.30.80.20.90.60.70.80.90.30.50.10.30
+ 30.80.20.90.60.70.80.90.30.50.10.30 80.20.90.60.70.80.90.30.50.10.30
+ 20.90.60.70.80.90.30.50.10.30 90.60.70.80.90.30.50.10.30
+ 60.70.80.90.30.50.10.30 70.80.90.30.50.10.30 80.90.30.50.10.30
+ 90.30.50.10.30
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.1.21.11.51.41.31.31.11.81.91.91.21 1.21.11.51.41.31.31.11.81.91.91.21
+ 21.11.51.41.31.31.11.81.91.91.21 11.51.41.31.31.11.81.91.91.21
+ 51.41.31.31.11.81.91.91.21 41.31.31.11.81.91.91.21 31.31.11.81.91.91.21
+ 31.11.81.91.91.21 11.81.91.91.21
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 22.42.2.72.12.22.2.72.72.12.62.52.82 42.2.72.12.22.2.72.72.12.62.52.82
+ 2.72.12.22.2.72.72.12.62.52.82 72.12.22.2.72.72.12.62.52.82
+ 12.22.2.72.72.12.62.52.82 22.2.72.72.12.62.52.82 2.72.72.12.62.52.82
+ 72.72.12.62.52.82 72.12.62.52.82
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 63.73.13.73.73.33.93.23.13.33.3.33.83 73.13.73.73.33.93.23.13.33.3.33.83
+ 13.73.73.33.93.23.13.33.3.33.83 73.73.33.93.23.13.33.3.33.83
+ 73.33.93.23.13.33.3.33.83 33.93.23.13.33.3.33.83 93.23.13.33.3.33.83
+ 23.13.33.3.33.83 13.33.3.33.83
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.34.34.44.74.64.14.34.84.84.44.34 34.34.44.74.64.14.34.84.84.44.34
+ 34.44.74.64.14.34.84.84.44.34 44.74.64.14.34.84.84.44.34
+ 74.64.14.34.84.84.44.34 64.14.34.84.84.44.34 14.34.84.84.44.34
+ 34.84.84.44.34
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 95.65.65.35.5.15.95.55.75.85.75.15.95 65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.5.15.95.55.75.85.75.15.95 35.5.15.95.55.75.85.75.15.95
+ 5.15.95.55.75.85.75.15.95 15.95.55.75.85.75.15.95 95.55.75.85.75.15.95
+ 55.75.85.75.15.95 75.85.75.15.95
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.16.36.76.96.96.26.26.36.66.36.36 16.36.76.96.96.26.26.36.66.36.36
+ 36.76.96.96.26.26.36.66.36.36 76.96.96.26.26.36.66.36.36
+ 96.96.26.26.36.66.36.36 96.26.26.36.66.36.36 26.26.36.66.36.36
+ 26.36.66.36.36 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.87.37.87.77.7.57.47.47.37.27.17.7 87.37.87.77.7.57.47.47.37.27.17.7
+ 37.87.77.7.57.47.47.37.27.17.7 87.77.7.57.47.47.37.27.17.7
+ 77.7.57.47.47.37.27.17.7 7.57.47.47.37.27.17.7 57.47.47.37.27.17.7
+ 47.47.37.27.17.7 47.37.27.17.7
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 8.28.98.78.58.98.8.88.8.58.58.58.38 28.98.78.58.98.8.88.8.58.58.58.38
+ 98.78.58.98.8.88.8.58.58.58.38 78.58.98.8.88.8.58.58.58.38
+ 58.98.8.88.8.58.58.58.38 98.8.88.8.58.58.58.38 8.88.8.58.58.58.38
+ 88.8.58.58.58.38 8.58.58.58.38
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39}
+
+do_execsql_test 1.15.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.96.97.97.98.98.99.99
+ 95.95.95.96.96.96.97.97.98.98.99.99 95.95.96.96.96.97.97.98.98.99.99
+ 95.96.96.96.97.97.98.98.99.99 96.96.96.97.97.98.98.99.99
+ 96.96.97.97.98.98.99.99 96.97.97.98.98.99.99 97.97.98.98.99.99
+ 97.98.98.99.99}
+
+do_execsql_test 1.15.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 20.30.30.30.40.50.60.70.80.80.90.90.90
+ 30.30.30.40.50.60.70.80.80.90.90.90 30.30.40.50.60.70.80.80.90.90.90
+ 30.40.50.60.70.80.80.90.90.90 40.50.60.70.80.80.90.90.90
+ 50.60.70.80.80.90.90.90 60.70.80.80.90.90.90 70.80.80.90.90.90
+ 80.80.90.90.90
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.51.61.61.81.81.81.91.91.91.91.91 51.61.61.81.81.81.91.91.91.91.91
+ 61.61.81.81.81.91.91.91.91.91 61.81.81.81.91.91.91.91.91
+ 81.81.81.91.91.91.91.91 81.81.91.91.91.91.91 81.91.91.91.91.91
+ 91.91.91.91.91 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.22.22.32.42.52.62.62.72.72.72.82 22.22.32.42.52.62.62.72.72.72.82
+ 22.32.42.52.62.62.72.72.72.82 32.42.52.62.62.72.72.72.82
+ 42.52.62.62.72.72.72.82 52.62.62.72.72.72.82 62.62.72.72.72.82
+ 62.72.72.72.82
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.43.43.53.63.73.73.73.83.93.93.93 43.43.53.63.73.73.73.83.93.93.93
+ 43.53.63.73.73.73.83.93.93.93 53.63.73.73.73.83.93.93.93
+ 63.73.73.73.83.93.93.93 73.73.73.83.93.93.93 73.73.83.93.93.93
+ 73.83.93.93.93 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.64.74.74.74.84.84.84.84.94
+ 44.44.54.64.74.74.74.84.84.84.84.94 44.54.64.74.74.74.84.84.84.84.94
+ 54.64.74.74.74.84.84.84.84.94 64.74.74.74.84.84.84.84.94
+ 74.74.74.84.84.84.84.94 74.74.84.84.84.84.94 74.84.84.84.84.94
+ 84.84.84.84.94
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.75.85.85.85.95.95.95
+ 65.65.65.75.75.75.85.85.85.95.95.95 65.65.75.75.75.85.85.85.95.95.95
+ 65.75.75.75.85.85.85.95.95.95 75.75.75.85.85.85.95.95.95
+ 75.75.85.85.85.95.95.95 75.85.85.85.95.95.95 85.85.85.95.95.95
+ 85.85.95.95.95
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.46.46.56.56.56.66.76.86.96.96.96 46.46.56.56.56.66.76.86.96.96.96
+ 46.56.56.56.66.76.86.96.96.96 56.56.56.66.76.86.96.96.96
+ 56.56.66.76.86.96.96.96 56.66.76.86.96.96.96 66.76.86.96.96.96
+ 76.86.96.96.96 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.47.57.67.77.77.87.87.97.97
+ 47.47.47.47.57.67.77.77.87.87.97.97 47.47.47.57.67.77.77.87.87.97.97
+ 47.47.57.67.77.77.87.87.97.97 47.57.67.77.77.87.87.97.97
+ 57.67.77.77.87.87.97.97 67.77.77.87.87.97.97 77.77.87.87.97.97
+ 77.87.87.97.97 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 28.38.38.58.58.58.58.68.78.78.88.98.98
+ 38.38.58.58.58.58.68.78.78.88.98.98 38.58.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.68.78.78.88.98.98 58.58.58.68.78.78.88.98.98
+ 58.58.68.78.78.88.98.98 58.68.78.78.88.98.98 68.78.78.88.98.98
+ 78.78.88.98.98
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.59.69.79.89.89.89.99.99
+ 49.59.59.59.59.69.79.89.89.89.99.99 59.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.69.79.89.89.89.99.99 59.59.69.79.89.89.89.99.99
+ 59.69.79.89.89.89.99.99 69.79.89.89.89.99.99 79.89.89.89.99.99
+ 89.89.89.99.99}
+
+do_execsql_test 1.15.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39}
+
+do_execsql_test 1.15.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.15.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.15.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.15.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.15.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+} {191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 189 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 188 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 3.69.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 69.52.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 52.50.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 50.10.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 10.33.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 33.39.58.38.83.82.7 13 33.39.58.38.83.82.7 12 39.58.38.83.82.7
+ 11 39.58.38.83.82.7 10 58.38.83.82.7 9 58.38.83.82.7 8 38.83.82.7
+ 7 38.83.82.7 6 83.82.7 5 83.82.7}
+
+do_execsql_test 1.15.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+} {191 {} 191 {} 191 {} 191 {} 191 {} 190 {} 189 {} 188 {}
+ 187 {} 186 {} 185 {} 184 {} 183 {} 182 {} 181 {} 180 {}
+ 179 {} 178 {} 177 {} 176 {} 175 {} 174 {} 173 {} 172 {}
+ 171 {} 170 {} 169 {} 168 {} 167 {} 166 {} 165 {} 164 {}
+ 163 {} 162 {} 161 {} 160 {} 159 {} 158 {} 157 {} 156 {}
+ 155 {} 154 {} 153 {} 152 {} 151 {} 150 {} 149 {} 148 {}
+ 147 {} 146 {} 145 {} 144 {} 143 {} 142 {} 141 {} 140 {}
+ 139 {} 138 {} 137 {} 136 {} 135 {} 134 {} 133 {} 132 {}
+ 131 {} 130 {} 129 {} 128 {} 127 {} 126 {} 125 {} 124 {}
+ 123 {} 122 {} 121 {} 120 {} 119 {} 118 {} 117 {} 116 {}
+ 115 {} 114 {} 113 {} 112 {} 111 {} 110 {} 109 {} 108 {}
+ 107 {} 106 {} 105 {} 104 {} 103 {} 102 {} 101 {} 100 {}
+ 99 {} 98 {} 97 {} 96 {} 95 {} 94 {} 93 {} 92 {} 91 {}
+ 90 {} 89 {} 88 {} 87 {} 86 {} 85 {} 84 {} 83 {} 82 {}
+ 81 {} 80 {} 79 {} 78 {} 77 {} 76 {} 75 {} 74 {} 73 {}
+ 72 {} 71 {} 70 {} 69 {} 68 {} 67 {} 66 {} 65 {} 64 {}
+ 63 {} 62 {} 61 {} 60 {} 59 {} 58 {} 57 {} 56 {} 55 {}
+ 54 {} 53 {} 52 {} 51 {} 50 {} 49 {} 48 {} 47 {} 46 {}
+ 45 {} 44 {} 43 {} 42 {} 41 {} 40 {} 39 {} 38 {} 37 {}
+ 36 {} 35 {} 34 {} 33 {} 32 {} 31 {} 30 {} 29 {} 28 {}
+ 27 {} 26 {} 25 {} 24 {} 23 {} 22 {} 21 {} 20 {} 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {}}
+
+do_execsql_test 1.15.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+} {20 {} 20 {} 20 {} 20 {} 20 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {}}
+
+do_execsql_test 1.15.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING)
+} {20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 18 29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 17 47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 16 59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 14 75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 13 78.72.98.87.73.96.74.90.75.91.69.39.7
+ 12 72.98.87.73.96.74.90.75.91.69.39.7 11 98.87.73.96.74.90.75.91.69.39.7
+ 10 87.73.96.74.90.75.91.69.39.7 9 73.96.74.90.75.91.69.39.7
+ 8 96.74.90.75.91.69.39.7 7 74.90.75.91.69.39.7 6 90.75.91.69.39.7
+ 5 75.91.69.39.7 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 17 84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 16 86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 15 32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 14 25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 13 89.29.9.21.12.88.55.70.58.81.91.52.58
+ 12 29.9.21.12.88.55.70.58.81.91.52.58 11 9.21.12.88.55.70.58.81.91.52.58
+ 10 21.12.88.55.70.58.81.91.52.58 9 12.88.55.70.58.81.91.52.58
+ 8 88.55.70.58.81.91.52.58 7 55.70.58.81.91.52.58 6 70.58.81.91.52.58
+ 5 58.81.91.52.58 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 17 23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 16 61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 15 3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 14 1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 13 76.63.73.65.20.8.77.19.9.23.15.50.38
+ 12 63.73.65.20.8.77.19.9.23.15.50.38 11 73.65.20.8.77.19.9.23.15.50.38
+ 10 65.20.8.77.19.9.23.15.50.38 9 20.8.77.19.9.23.15.50.38
+ 8 8.77.19.9.23.15.50.38 7 77.19.9.23.15.50.38 6 19.9.23.15.50.38
+ 5 9.23.15.50.38 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 17 16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 16 85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 15 22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 14 40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 13 4.87.65.5.31.49.2.26.72.13.36.10.83
+ 12 87.65.5.31.49.2.26.72.13.36.10.83 11 65.5.31.49.2.26.72.13.36.10.83
+ 10 5.31.49.2.26.72.13.36.10.83 9 31.49.2.26.72.13.36.10.83
+ 8 49.2.26.72.13.36.10.83 7 2.26.72.13.36.10.83 6 26.72.13.36.10.83
+ 5 72.13.36.10.83 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 17 65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 16 85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 15 55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 14 56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 13 42.80.58.11.95.90.85.47.33.14.3.33.82
+ 12 80.58.11.95.90.85.47.33.14.3.33.82 11 58.11.95.90.85.47.33.14.3.33.82
+ 10 11.95.90.85.47.33.14.3.33.82 9 95.90.85.47.33.14.3.33.82
+ 8 90.85.47.33.14.3.33.82 7 85.47.33.14.3.33.82 6 47.33.14.3.33.82
+ 5 33.14.3.33.82 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {}}
+
+do_execsql_test 1.16.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 95 95 84 84 84 84 84 84 84 84 83 83
+ 83 83 83 83 83 83 83 82 82 17 7}
+
+do_execsql_test 1.16.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7}
+
+do_execsql_test 1.16.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.16.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.16.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.16.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.16.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.16.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.16.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.16.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.16.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.16.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.16.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.16.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.16.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.16.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.16.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.16.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.16.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.16.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.16.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207}
+
+do_execsql_test 1.16.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 223 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 210 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 279 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 212 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 232
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.16.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.16.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 252 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 171
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 226 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 124 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 198
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.16.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.16.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.16.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.16.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {89 81 96 59 38 68 39 62 91 46 6 99 97 27 46
+ 78 54 97 8 67 29 93 84 77 23 16 16 93 65 35
+ 47 7 86 74 61 91 85 24 85 43 59 12 32 56 3 91
+ 22 90 55 15 28 89 25 47 1 56 40 43 56 16 75
+ 36 89 98 76 81 4 94 42 30 78 33 29 53 63 2 87
+ 37 80 84 72 41 9 61 73 95 65 13 58 96 98 1 21
+ 74 65 35 5 73 11 51 87 41 12 8 20 31 31 15 95
+ 22 73 79 88 34 8 11 49 34 90 59 96 60 55 75
+ 77 44 2 7 85 57 74 29 70 59 19 39 26 26 47 80
+ 90 36 58 47 9 72 72 66 33 93 75 64 81 9 23 37
+ 13 12 14 62 91 36 91 33 15 34 36 99 3 95 69
+ 58 52 30 50 84 10 84 33 21 39 44 58 30 38 34
+ 83 27 82 17 7}
+
+do_execsql_test 1.16.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.16.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 19 20 21 21 22 22 23 23 24 25 26 26 27 27 28
+ 29 29 29 30 30 30 31 31 32 33 33 33 33 34 34
+ 34 34 35 35 36 36 36 36 37 37 38 38 39 39 39
+ 40 41 41 42 43 43 44 44 46 46 47 47 47 47 49
+ 50 51 52 53 54 55 55 56 56 56 57 58 58 58 58
+ 59 59 59 59 60 61 61 62 62 63 64 65 65 65 66
+ 67 68 69 70 72 72 72 73 73 73 74 74 74 75 75
+ 75 76 77 77 78 78 79 80 80 81 81 81 82 83 84
+ 84 84 84 85 85 85 86 87 87 88 89 89 89 90 90
+ 90 91 91 91 91 91 93 93 93 94 95 95 95 96 96
+ 96 97 97 98 98 99 99}
+
+do_execsql_test 1.16.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {10 20 30 30 30 40 50 60 70 80 80 90 90 90 1 1
+ 11 11 21 21 31 31 41 41 51 61 61 81 81 81 91
+ 91 91 91 91 2 2 12 12 12 22 22 32 42 52 62 62
+ 72 72 72 82 3 3 13 13 23 23 33 33 33 33 43 43
+ 53 63 73 73 73 83 93 93 93 4 14 24 34 34 34
+ 34 44 44 54 64 74 74 74 84 84 84 84 94 5 15
+ 15 15 25 35 35 55 55 65 65 65 75 75 75 85 85
+ 85 95 95 95 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 86 96 96 96 7 7 7 17 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 8 8
+ 8 28 38 38 58 58 58 58 68 78 78 88 98 98 9 9
+ 9 19 29 29 29 39 39 39 49 59 59 59 59 69 79
+ 89 89 89 99 99}
+
+do_execsql_test 1.16.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {90 40 30 80 20 90 60 70 80 90 30 50 10 30 81
+ 91 61 91 91 1 81 41 61 1 21 11 51 41 31 31 11
+ 81 91 91 21 62 12 32 22 42 2 72 12 22 2 72 72
+ 12 62 52 82 93 23 93 43 3 43 33 53 63 73 13
+ 73 73 33 93 23 13 33 3 33 83 54 84 74 24 4 94
+ 84 74 34 34 44 74 64 14 34 84 84 44 34 65 35
+ 85 85 55 15 25 75 95 65 65 35 5 15 95 55 75
+ 85 75 15 95 96 46 6 46 16 16 86 56 56 56 16
+ 36 76 96 96 26 26 36 66 36 36 97 27 97 67 77
+ 47 7 47 87 37 87 77 7 57 47 47 37 27 17 7 38
+ 68 78 8 28 98 78 58 98 8 88 8 58 58 58 38 89
+ 59 39 99 29 59 89 89 29 9 79 49 59 29 59 19
+ 39 9 9 99 69 39}
+
+do_execsql_test 1.16.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.16.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.16.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.16.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.16.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.16.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.16.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.16.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.21.39.44.58.30.38.34.83.27.82.17.7 21.39.44.58.30.38.34.83.27.82.17.7
+ 39.44.58.30.38.34.83.27.82.17.7 44.58.30.38.34.83.27.82.17.7
+ 58.30.38.34.83.27.82.17.7 30.38.34.83.27.82.17.7 38.34.83.27.82.17.7
+ 34.83.27.82.17.7 83.27.82.17.7 27.82.17.7 82.17.7 17.7 7}
+
+do_execsql_test 1.16.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 40.30.80.20.90.60.70.80.90.30.50.10.30
+ 30.80.20.90.60.70.80.90.30.50.10.30 80.20.90.60.70.80.90.30.50.10.30
+ 20.90.60.70.80.90.30.50.10.30 90.60.70.80.90.30.50.10.30
+ 60.70.80.90.30.50.10.30 70.80.90.30.50.10.30 80.90.30.50.10.30
+ 90.30.50.10.30 30.50.10.30 50.10.30 10.30 30
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.1.21.11.51.41.31.31.11.81.91.91.21 1.21.11.51.41.31.31.11.81.91.91.21
+ 21.11.51.41.31.31.11.81.91.91.21 11.51.41.31.31.11.81.91.91.21
+ 51.41.31.31.11.81.91.91.21 41.31.31.11.81.91.91.21 31.31.11.81.91.91.21
+ 31.11.81.91.91.21 11.81.91.91.21 81.91.91.21 91.91.21 91.21 21
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 22.42.2.72.12.22.2.72.72.12.62.52.82 42.2.72.12.22.2.72.72.12.62.52.82
+ 2.72.12.22.2.72.72.12.62.52.82 72.12.22.2.72.72.12.62.52.82
+ 12.22.2.72.72.12.62.52.82 22.2.72.72.12.62.52.82 2.72.72.12.62.52.82
+ 72.72.12.62.52.82 72.12.62.52.82 12.62.52.82 62.52.82 52.82 82
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 63.73.13.73.73.33.93.23.13.33.3.33.83 73.13.73.73.33.93.23.13.33.3.33.83
+ 13.73.73.33.93.23.13.33.3.33.83 73.73.33.93.23.13.33.3.33.83
+ 73.33.93.23.13.33.3.33.83 33.93.23.13.33.3.33.83 93.23.13.33.3.33.83
+ 23.13.33.3.33.83 13.33.3.33.83 33.3.33.83 3.33.83 33.83 83
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.34.34.44.74.64.14.34.84.84.44.34 34.34.44.74.64.14.34.84.84.44.34
+ 34.44.74.64.14.34.84.84.44.34 44.74.64.14.34.84.84.44.34
+ 74.64.14.34.84.84.44.34 64.14.34.84.84.44.34 14.34.84.84.44.34
+ 34.84.84.44.34 84.84.44.34 84.44.34 44.34 34
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 95.65.65.35.5.15.95.55.75.85.75.15.95 65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.5.15.95.55.75.85.75.15.95 35.5.15.95.55.75.85.75.15.95
+ 5.15.95.55.75.85.75.15.95 15.95.55.75.85.75.15.95 95.55.75.85.75.15.95
+ 55.75.85.75.15.95 75.85.75.15.95 85.75.15.95 75.15.95 15.95 95
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.16.36.76.96.96.26.26.36.66.36.36 16.36.76.96.96.26.26.36.66.36.36
+ 36.76.96.96.26.26.36.66.36.36 76.96.96.26.26.36.66.36.36
+ 96.96.26.26.36.66.36.36 96.26.26.36.66.36.36 26.26.36.66.36.36
+ 26.36.66.36.36 36.66.36.36 66.36.36 36.36 36
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.87.37.87.77.7.57.47.47.37.27.17.7 87.37.87.77.7.57.47.47.37.27.17.7
+ 37.87.77.7.57.47.47.37.27.17.7 87.77.7.57.47.47.37.27.17.7
+ 77.7.57.47.47.37.27.17.7 7.57.47.47.37.27.17.7 57.47.47.37.27.17.7
+ 47.47.37.27.17.7 47.37.27.17.7 37.27.17.7 27.17.7 17.7 7
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 8.28.98.78.58.98.8.88.8.58.58.58.38 28.98.78.58.98.8.88.8.58.58.58.38
+ 98.78.58.98.8.88.8.58.58.58.38 78.58.98.8.88.8.58.58.58.38
+ 58.98.8.88.8.58.58.58.38 98.8.88.8.58.58.58.38 8.88.8.58.58.58.38
+ 88.8.58.58.58.38 8.58.58.58.38 58.58.58.38 58.58.38 58.38 38
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39}
+
+do_execsql_test 1.16.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.96.97.97.98.98.99.99
+ 95.95.95.96.96.96.97.97.98.98.99.99 95.95.96.96.96.97.97.98.98.99.99
+ 95.96.96.96.97.97.98.98.99.99 96.96.96.97.97.98.98.99.99
+ 96.96.97.97.98.98.99.99 96.97.97.98.98.99.99 97.97.98.98.99.99
+ 97.98.98.99.99 98.98.99.99 98.99.99 99.99 99}
+
+do_execsql_test 1.16.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 20.30.30.30.40.50.60.70.80.80.90.90.90
+ 30.30.30.40.50.60.70.80.80.90.90.90 30.30.40.50.60.70.80.80.90.90.90
+ 30.40.50.60.70.80.80.90.90.90 40.50.60.70.80.80.90.90.90
+ 50.60.70.80.80.90.90.90 60.70.80.80.90.90.90 70.80.80.90.90.90
+ 80.80.90.90.90 80.90.90.90 90.90.90 90.90 90
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.51.61.61.81.81.81.91.91.91.91.91 51.61.61.81.81.81.91.91.91.91.91
+ 61.61.81.81.81.91.91.91.91.91 61.81.81.81.91.91.91.91.91
+ 81.81.81.91.91.91.91.91 81.81.91.91.91.91.91 81.91.91.91.91.91
+ 91.91.91.91.91 91.91.91.91 91.91.91 91.91 91
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.22.22.32.42.52.62.62.72.72.72.82 22.22.32.42.52.62.62.72.72.72.82
+ 22.32.42.52.62.62.72.72.72.82 32.42.52.62.62.72.72.72.82
+ 42.52.62.62.72.72.72.82 52.62.62.72.72.72.82 62.62.72.72.72.82
+ 62.72.72.72.82 72.72.72.82 72.72.82 72.82 82
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.43.43.53.63.73.73.73.83.93.93.93 43.43.53.63.73.73.73.83.93.93.93
+ 43.53.63.73.73.73.83.93.93.93 53.63.73.73.73.83.93.93.93
+ 63.73.73.73.83.93.93.93 73.73.73.83.93.93.93 73.73.83.93.93.93
+ 73.83.93.93.93 83.93.93.93 93.93.93 93.93 93
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.64.74.74.74.84.84.84.84.94
+ 44.44.54.64.74.74.74.84.84.84.84.94 44.54.64.74.74.74.84.84.84.84.94
+ 54.64.74.74.74.84.84.84.84.94 64.74.74.74.84.84.84.84.94
+ 74.74.74.84.84.84.84.94 74.74.84.84.84.84.94 74.84.84.84.84.94
+ 84.84.84.84.94 84.84.84.94 84.84.94 84.94 94
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.75.85.85.85.95.95.95
+ 65.65.65.75.75.75.85.85.85.95.95.95 65.65.75.75.75.85.85.85.95.95.95
+ 65.75.75.75.85.85.85.95.95.95 75.75.75.85.85.85.95.95.95
+ 75.75.85.85.85.95.95.95 75.85.85.85.95.95.95 85.85.85.95.95.95
+ 85.85.95.95.95 85.95.95.95 95.95.95 95.95 95
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.46.46.56.56.56.66.76.86.96.96.96 46.46.56.56.56.66.76.86.96.96.96
+ 46.56.56.56.66.76.86.96.96.96 56.56.56.66.76.86.96.96.96
+ 56.56.66.76.86.96.96.96 56.66.76.86.96.96.96 66.76.86.96.96.96
+ 76.86.96.96.96 86.96.96.96 96.96.96 96.96 96
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.47.57.67.77.77.87.87.97.97
+ 47.47.47.47.57.67.77.77.87.87.97.97 47.47.47.57.67.77.77.87.87.97.97
+ 47.47.57.67.77.77.87.87.97.97 47.57.67.77.77.87.87.97.97
+ 57.67.77.77.87.87.97.97 67.77.77.87.87.97.97 77.77.87.87.97.97
+ 77.87.87.97.97 87.87.97.97 87.97.97 97.97 97
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 28.38.38.58.58.58.58.68.78.78.88.98.98
+ 38.38.58.58.58.58.68.78.78.88.98.98 38.58.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.68.78.78.88.98.98 58.58.58.68.78.78.88.98.98
+ 58.58.68.78.78.88.98.98 58.68.78.78.88.98.98 68.78.78.88.98.98
+ 78.78.88.98.98 78.88.98.98 88.98.98 98.98 98
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.59.69.79.89.89.89.99.99
+ 49.59.59.59.59.69.79.89.89.89.99.99 59.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.69.79.89.89.89.99.99 59.59.69.79.89.89.89.99.99
+ 59.69.79.89.89.89.99.99 69.79.89.89.89.99.99 79.89.89.89.99.99
+ 89.89.89.99.99 89.89.99.99 89.99.99 99.99 99}
+
+do_execsql_test 1.16.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39}
+
+do_execsql_test 1.16.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.16.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.16.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.16.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.16.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 189 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 188 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 3.69.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 69.52.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 52.50.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 50.10.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 10.33.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 33.39.58.38.83.82.7 13 33.39.58.38.83.82.7 12 39.58.38.83.82.7
+ 11 39.58.38.83.82.7 10 58.38.83.82.7 9 58.38.83.82.7 8 38.83.82.7
+ 7 38.83.82.7 6 83.82.7 5 83.82.7 4 82.7 3 82.7 2 7 1 7}
+
+do_execsql_test 1.16.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {191 {} 190 {} 189 {} 188 {} 187 {} 186 {} 185 {} 184 {}
+ 183 {} 182 {} 181 {} 180 {} 179 {} 178 {} 177 {} 176 {}
+ 175 {} 174 {} 173 {} 172 {} 171 {} 170 {} 169 {} 168 {}
+ 167 {} 166 {} 165 {} 164 {} 163 {} 162 {} 161 {} 160 {}
+ 159 {} 158 {} 157 {} 156 {} 155 {} 154 {} 153 {} 152 {}
+ 151 {} 150 {} 149 {} 148 {} 147 {} 146 {} 145 {} 144 {}
+ 143 {} 142 {} 141 {} 140 {} 139 {} 138 {} 137 {} 136 {}
+ 135 {} 134 {} 133 {} 132 {} 131 {} 130 {} 129 {} 128 {}
+ 127 {} 126 {} 125 {} 124 {} 123 {} 122 {} 121 {} 120 {}
+ 119 {} 118 {} 117 {} 116 {} 115 {} 114 {} 113 {} 112 {}
+ 111 {} 110 {} 109 {} 108 {} 107 {} 106 {} 105 {} 104 {}
+ 103 {} 102 {} 101 {} 100 {} 99 {} 98 {} 97 {} 96 {} 95 {}
+ 94 {} 93 {} 92 {} 91 {} 90 {} 89 {} 88 {} 87 {} 86 {}
+ 85 {} 84 {} 83 {} 82 {} 81 {} 80 {} 79 {} 78 {} 77 {}
+ 76 {} 75 {} 74 {} 73 {} 72 {} 71 {} 70 {} 69 {} 68 {}
+ 67 {} 66 {} 65 {} 64 {} 63 {} 62 {} 61 {} 60 {} 59 {}
+ 58 {} 57 {} 56 {} 55 {} 54 {} 53 {} 52 {} 51 {} 50 {}
+ 49 {} 48 {} 47 {} 46 {} 45 {} 44 {} 43 {} 42 {} 41 {}
+ 40 {} 39 {} 38 {} 37 {} 36 {} 35 {} 34 {} 33 {} 32 {}
+ 31 {} 30 {} 29 {} 28 {} 27 {} 26 {} 25 {} 24 {} 23 {}
+ 22 {} 21 {} 20 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {}
+ 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {}
+ 3 {} 2 {} 1 {}}
+
+do_execsql_test 1.16.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {20 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 19 {} 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {}}
+
+do_execsql_test 1.16.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
+} {20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 18 29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 17 47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 16 59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 14 75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 13 78.72.98.87.73.96.74.90.75.91.69.39.7
+ 12 72.98.87.73.96.74.90.75.91.69.39.7 11 98.87.73.96.74.90.75.91.69.39.7
+ 10 87.73.96.74.90.75.91.69.39.7 9 73.96.74.90.75.91.69.39.7
+ 8 96.74.90.75.91.69.39.7 7 74.90.75.91.69.39.7 6 90.75.91.69.39.7
+ 5 75.91.69.39.7 4 91.69.39.7 3 69.39.7 2 39.7 1 7 19 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 17 84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 16 86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 15 32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 14 25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 13 89.29.9.21.12.88.55.70.58.81.91.52.58
+ 12 29.9.21.12.88.55.70.58.81.91.52.58 11 9.21.12.88.55.70.58.81.91.52.58
+ 10 21.12.88.55.70.58.81.91.52.58 9 12.88.55.70.58.81.91.52.58
+ 8 88.55.70.58.81.91.52.58 7 55.70.58.81.91.52.58 6 70.58.81.91.52.58
+ 5 58.81.91.52.58 4 81.91.52.58 3 91.52.58 2 52.58 1 58 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 17 23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 16 61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 15 3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 14 1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 13 76.63.73.65.20.8.77.19.9.23.15.50.38
+ 12 63.73.65.20.8.77.19.9.23.15.50.38 11 73.65.20.8.77.19.9.23.15.50.38
+ 10 65.20.8.77.19.9.23.15.50.38 9 20.8.77.19.9.23.15.50.38
+ 8 8.77.19.9.23.15.50.38 7 77.19.9.23.15.50.38 6 19.9.23.15.50.38
+ 5 9.23.15.50.38 4 23.15.50.38 3 15.50.38 2 50.38 1 38 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 17 16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 16 85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 15 22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 14 40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 13 4.87.65.5.31.49.2.26.72.13.36.10.83
+ 12 87.65.5.31.49.2.26.72.13.36.10.83 11 65.5.31.49.2.26.72.13.36.10.83
+ 10 5.31.49.2.26.72.13.36.10.83 9 31.49.2.26.72.13.36.10.83
+ 8 49.2.26.72.13.36.10.83 7 2.26.72.13.36.10.83 6 26.72.13.36.10.83
+ 5 72.13.36.10.83 4 13.36.10.83 3 36.10.83 2 10.83 1 83 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 17 65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 16 85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 15 55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 14 56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 13 42.80.58.11.95.90.85.47.33.14.3.33.82
+ 12 80.58.11.95.90.85.47.33.14.3.33.82 11 58.11.95.90.85.47.33.14.3.33.82
+ 10 11.95.90.85.47.33.14.3.33.82 9 95.90.85.47.33.14.3.33.82
+ 8 90.85.47.33.14.3.33.82 7 85.47.33.14.3.33.82 6 47.33.14.3.33.82
+ 5 33.14.3.33.82 4 14.3.33.82 3 3.33.82 2 33.82 1 82 19 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {}}
+
+do_execsql_test 1.17.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 95
+ 95 84 84 84 84 84 84 84 84 83 83 83 83 83 83
+ 83 83 83 82 82 17 7 {} {} {} {}}
+
+do_execsql_test 1.17.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 7 7 7 7 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 {} {}
+ {} {}}
+
+do_execsql_test 1.17.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.17.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.17.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.17.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.17.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.17.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.17.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.17.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.17.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.17.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.17.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.17.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.17.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.17.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.17.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.17.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.17.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.17.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.17.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 {} {} {} {}}
+
+do_execsql_test 1.17.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 {} {} {}
+ {} 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 {} {} {} {} 280 280 280 280
+ 280 280 280 280 280 280 280 280 {} {} {} {} 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 {} {} {} {} 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 {} {} {} {}
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 {} {} {} {} 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 {}
+ {} {} {} 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 {} {} {} {} 232 232 232
+ 232 232 232 232 232 232 232 232 232 {} {} {} {}
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 {} {} {} {}}
+
+do_execsql_test 1.17.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 {} {} {} {}}
+
+do_execsql_test 1.17.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 {} {} {}
+ {} 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 {} {} {} {} 280 280 280 280
+ 280 280 280 280 280 280 280 280 {} {} {} {} 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 {} {} {} {} 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 {} {} {} {}
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 {} {} {} {} 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 {}
+ {} {} {} 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 {} {} {} {} 198 198 198
+ 198 198 198 198 198 198 198 198 198 {} {} {} {}
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 {} {} {} {}}
+
+do_execsql_test 1.17.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 {} {} {} {}}
+
+do_execsql_test 1.17.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {74 65 12 4 22 37 15 53 8 16 29 8 34 3 76 73
+ 63 90 47 98 47 90 73 20 89 91 22 77 73 42 41
+ 32 55 79 51 74 44 81 7 65 8 43 80 8 89 90 29
+ 36 15 42 9 9 41 20 16 11 87 20 90 84 80 41 37
+ 34 9 75 63 34 8 8 81 95 31 74 36 41 99 90 91
+ 99 13 2 35 33 36 38 37 20 75 17 {} 5 34 58 33
+ 19 31 50 34 23 {} 72 90 11 85 90 36 2 {} 39
+ 27 {} {} 64 2 74 95 37 {} 58 {} 34 44 {} {}
+ 30 70 47 {} 7 {} 15 {} {} 12 33 36 99 17 {}
+ {} 44 {} {} 12 {} {} {} 34 {} {} {} {} 36 44
+ {} 30 30 10 {} {} {} {} {} 30 {} {} {} 84 {}
+ {} {} {} {} {} {} 7 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {}}
+
+do_execsql_test 1.17.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 21 {} {} {} 31 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 72 {} {} {} 82
+ {} {} {} {} {} {} {} {} {} {} 73 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 64 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 76 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 27 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 38 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {3 4 6 7 7 8 8 9 10 11 12 12 13 13 14 15 15
+ 16 16 19 20 21 22 22 23 24 26 27 27 28 29 29
+ 30 30 32 33 33 34 34 34 35 36 36 37 38 38 39
+ 39 41 42 43 43 44 46 46 47 47 49 51 52 53 54
+ 55 56 56 56 58 58 58 59 59 59 60 61 62 62 64
+ 65 65 66 68 69 72 72 73 73 74 75 75 76 77 77
+ 78 80 81 81 83 84 84 85 85 87 87 88 89 90 90
+ 90 91 91 91 91 93 93 95 95 96 96 97 98 99 99
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} 21
+ 31 91 91 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 22 32 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 33 33 93 93 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 44 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 65 95 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 46 {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 47 57
+ 67 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 78 88 98 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 59 59 69 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {85 72 12 84 31 95 33 34 35 5 2 93 51 12 95 15
+ 34 96 46 21 95 23 84 31 52 2 34 54 73 33 72
+ 16 26 26 63 65 23 84 33 14 72 16 53 3 82 56
+ 16 73 6 95 67 47 74 27 65 73 5 85 46 96 77 84
+ 7 47 65 8 85 64 95 4 75 98 66 98 7 5 64 89
+ 58 28 86 56 66 98 7 5 76 89 89 77 26 58 36 29
+ 59 68 46 96 29 {} 89 59 87 96 36 {} 58 9 {}
+ 99 36 {} {} 88 76 58 67 77 {} 79 49 59 37 88
+ {} {} {} 28 98 89 {} 39 99 {} 58 {} {} {} 69
+ 27 {} {} 59 {} {} 8 {} {} {} 39 59 99 88 {}
+ {} {} 38 69 {} {} {} {} 59 {} 89 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {38 68 39 62 91 46 6 99 97 27 46 78 54 97 8 67
+ 29 93 84 77 23 16 16 93 65 35 47 7 86 74 61
+ 91 85 24 85 43 59 12 32 56 3 91 22 90 55 15
+ 28 89 25 47 1 56 40 43 56 16 75 36 89 98 76
+ 81 4 94 42 30 78 33 29 53 63 2 87 37 80 84 72
+ 41 9 61 73 95 65 13 58 96 98 1 21 74 65 35 5
+ 73 11 51 87 41 12 8 20 31 31 15 95 22 73 79
+ 88 34 8 11 49 34 90 59 96 60 55 75 77 44 2 7
+ 85 57 74 29 70 59 19 39 26 26 47 80 90 36 58
+ 47 9 72 72 66 33 93 75 64 81 9 23 37 13 12 14
+ 62 91 36 91 33 15 34 36 99 3 95 69 58 52 30
+ 50 84 10 84 33 21 39 44 58 30 38 34 83 27 82
+ 17 7 {} {} {} {}}
+
+do_execsql_test 1.17.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {20 90 60 70 80 90 30 50 10 30 {} {} {} {} 91
+ 1 81 41 61 1 21 11 51 41 31 31 11 81 91 91 21
+ {} {} {} {} 42 2 72 12 22 2 72 72 12 62 52 82
+ {} {} {} {} 3 43 33 53 63 73 13 73 73 33 93
+ 23 13 33 3 33 83 {} {} {} {} 4 94 84 74 34 34
+ 44 74 64 14 34 84 84 44 34 {} {} {} {} 55 15
+ 25 75 95 65 65 35 5 15 95 55 75 85 75 15 95
+ {} {} {} {} 16 16 86 56 56 56 16 36 76 96 96
+ 26 26 36 66 36 36 {} {} {} {} 77 47 7 47 87
+ 37 87 77 7 57 47 47 37 27 17 7 {} {} {} {} 28
+ 98 78 58 98 8 88 8 58 58 58 38 {} {} {} {} 29
+ 59 89 89 29 9 79 49 59 29 59 19 39 9 9 99 69
+ 39 {} {} {} {}}
+
+do_execsql_test 1.17.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {3 3 4 5 6 7 7 7 8 8 8 9 9 9 10 11 11 12
+ 12 12 13 13 14 15 15 15 16 16 16 17 19 20 21
+ 21 22 22 23 23 24 25 26 26 27 27 28 29 29 29
+ 30 30 30 31 31 32 33 33 33 33 34 34 34 34 35
+ 35 36 36 36 36 37 37 38 38 39 39 39 40 41 41
+ 42 43 43 44 44 46 46 47 47 47 47 49 50 51 52
+ 53 54 55 55 56 56 56 57 58 58 58 58 59 59 59
+ 59 60 61 61 62 62 63 64 65 65 65 66 67 68 69
+ 70 72 72 72 73 73 73 74 74 74 75 75 75 76 77
+ 77 78 78 79 80 80 81 81 81 82 83 84 84 84 84
+ 85 85 85 86 87 87 88 89 89 89 90 90 90 91 91
+ 91 91 91 93 93 93 94 95 95 95 96 96 96 97 97
+ 98 98 99 99 {} {} {} {}}
+
+do_execsql_test 1.17.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {30 40 50 60 70 80 80 90 90 90 {} {} {} {} 21
+ 21 31 31 41 41 51 61 61 81 81 81 91 91 91 91
+ 91 {} {} {} {} 12 22 22 32 42 52 62 62 72 72
+ 72 82 {} {} {} {} 23 23 33 33 33 33 43 43 53
+ 63 73 73 73 83 93 93 93 {} {} {} {} 34 34 34
+ 44 44 54 64 74 74 74 84 84 84 84 94 {} {} {}
+ {} 25 35 35 55 55 65 65 65 75 75 75 85 85 85
+ 95 95 95 {} {} {} {} 26 26 36 36 36 36 46 46
+ 56 56 56 66 76 86 96 96 96 {} {} {} {} 27 27
+ 37 37 47 47 47 47 57 67 77 77 87 87 97 97 {}
+ {} {} {} 38 38 58 58 58 58 68 78 78 88 98 98
+ {} {} {} {} 29 29 29 39 39 39 49 59 59 59 59
+ 69 79 89 89 89 99 99 {} {} {} {}}
+
+do_execsql_test 1.17.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {20 90 60 70 80 90 30 50 10 30 81 91 61 91 91
+ 1 81 41 61 1 21 11 51 41 31 31 11 81 91 91 21
+ 62 12 32 22 42 2 72 12 22 2 72 72 12 62 52 82
+ 93 23 93 43 3 43 33 53 63 73 13 73 73 33 93
+ 23 13 33 3 33 83 54 84 74 24 4 94 84 74 34 34
+ 44 74 64 14 34 84 84 44 34 65 35 85 85 55 15
+ 25 75 95 65 65 35 5 15 95 55 75 85 75 15 95
+ 96 46 6 46 16 16 86 56 56 56 16 36 76 96 96
+ 26 26 36 66 36 36 97 27 97 67 77 47 7 47 87
+ 37 87 77 7 57 47 47 37 27 17 7 38 68 78 8 28
+ 98 78 58 98 8 88 8 58 58 58 38 89 59 39 99 29
+ 59 89 89 29 9 79 49 59 29 59 19 39 9 9 99 69
+ 39 {} {} {} {}}
+
+do_execsql_test 1.17.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.17.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.17.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.17.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.17.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.17.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.21.39.44.58.30.38.34.83.27.82.17.7 21.39.44.58.30.38.34.83.27.82.17.7
+ 39.44.58.30.38.34.83.27.82.17.7 44.58.30.38.34.83.27.82.17.7
+ 58.30.38.34.83.27.82.17.7 30.38.34.83.27.82.17.7 38.34.83.27.82.17.7
+ 34.83.27.82.17.7 83.27.82.17.7 27.82.17.7 82.17.7 17.7 7 {}
+ {} {} {}}
+
+do_execsql_test 1.17.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {20.90.60.70.80.90.30.50.10.30 90.60.70.80.90.30.50.10.30
+ 60.70.80.90.30.50.10.30 70.80.90.30.50.10.30 80.90.30.50.10.30
+ 90.30.50.10.30 30.50.10.30 50.10.30 10.30 30 {} {} {} {}
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.1.21.11.51.41.31.31.11.81.91.91.21 1.21.11.51.41.31.31.11.81.91.91.21
+ 21.11.51.41.31.31.11.81.91.91.21 11.51.41.31.31.11.81.91.91.21
+ 51.41.31.31.11.81.91.91.21 41.31.31.11.81.91.91.21 31.31.11.81.91.91.21
+ 31.11.81.91.91.21 11.81.91.91.21 81.91.91.21 91.91.21 91.21 21
+ {} {} {} {} 42.2.72.12.22.2.72.72.12.62.52.82
+ 2.72.12.22.2.72.72.12.62.52.82 72.12.22.2.72.72.12.62.52.82
+ 12.22.2.72.72.12.62.52.82 22.2.72.72.12.62.52.82 2.72.72.12.62.52.82
+ 72.72.12.62.52.82 72.12.62.52.82 12.62.52.82 62.52.82 52.82 82
+ {} {} {} {} 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 63.73.13.73.73.33.93.23.13.33.3.33.83 73.13.73.73.33.93.23.13.33.3.33.83
+ 13.73.73.33.93.23.13.33.3.33.83 73.73.33.93.23.13.33.3.33.83
+ 73.33.93.23.13.33.3.33.83 33.93.23.13.33.3.33.83 93.23.13.33.3.33.83
+ 23.13.33.3.33.83 13.33.3.33.83 33.3.33.83 3.33.83 33.83 83 {}
+ {} {} {} 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.34.34.44.74.64.14.34.84.84.44.34 34.34.44.74.64.14.34.84.84.44.34
+ 34.44.74.64.14.34.84.84.44.34 44.74.64.14.34.84.84.44.34
+ 74.64.14.34.84.84.44.34 64.14.34.84.84.44.34 14.34.84.84.44.34
+ 34.84.84.44.34 84.84.44.34 84.44.34 44.34 34 {} {} {} {}
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 95.65.65.35.5.15.95.55.75.85.75.15.95 65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.5.15.95.55.75.85.75.15.95 35.5.15.95.55.75.85.75.15.95
+ 5.15.95.55.75.85.75.15.95 15.95.55.75.85.75.15.95 95.55.75.85.75.15.95
+ 55.75.85.75.15.95 75.85.75.15.95 85.75.15.95 75.15.95 15.95 95
+ {} {} {} {} 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.16.36.76.96.96.26.26.36.66.36.36 16.36.76.96.96.26.26.36.66.36.36
+ 36.76.96.96.26.26.36.66.36.36 76.96.96.26.26.36.66.36.36
+ 96.96.26.26.36.66.36.36 96.26.26.36.66.36.36 26.26.36.66.36.36
+ 26.36.66.36.36 36.66.36.36 66.36.36 36.36 36 {} {} {} {}
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.87.37.87.77.7.57.47.47.37.27.17.7 87.37.87.77.7.57.47.47.37.27.17.7
+ 37.87.77.7.57.47.47.37.27.17.7 87.77.7.57.47.47.37.27.17.7
+ 77.7.57.47.47.37.27.17.7 7.57.47.47.37.27.17.7 57.47.47.37.27.17.7
+ 47.47.37.27.17.7 47.37.27.17.7 37.27.17.7 27.17.7 17.7 7 {}
+ {} {} {} 28.98.78.58.98.8.88.8.58.58.58.38
+ 98.78.58.98.8.88.8.58.58.58.38 78.58.98.8.88.8.58.58.58.38
+ 58.98.8.88.8.58.58.58.38 98.8.88.8.58.58.58.38 8.88.8.58.58.58.38
+ 88.8.58.58.58.38 8.58.58.58.38 58.58.58.38 58.58.38 58.38 38 {}
+ {} {} {} 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39 {}
+ {} {} {}}
+
+do_execsql_test 1.17.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.96.97.97.98.98.99.99
+ 95.95.95.96.96.96.97.97.98.98.99.99 95.95.96.96.96.97.97.98.98.99.99
+ 95.96.96.96.97.97.98.98.99.99 96.96.96.97.97.98.98.99.99
+ 96.96.97.97.98.98.99.99 96.97.97.98.98.99.99 97.97.98.98.99.99
+ 97.98.98.99.99 98.98.99.99 98.99.99 99.99 99 {} {} {} {}}
+
+do_execsql_test 1.17.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {30.40.50.60.70.80.80.90.90.90 40.50.60.70.80.80.90.90.90
+ 50.60.70.80.80.90.90.90 60.70.80.80.90.90.90 70.80.80.90.90.90
+ 80.80.90.90.90 80.90.90.90 90.90.90 90.90 90 {} {} {} {}
+ 21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.51.61.61.81.81.81.91.91.91.91.91 51.61.61.81.81.81.91.91.91.91.91
+ 61.61.81.81.81.91.91.91.91.91 61.81.81.81.91.91.91.91.91
+ 81.81.81.91.91.91.91.91 81.81.91.91.91.91.91 81.91.91.91.91.91
+ 91.91.91.91.91 91.91.91.91 91.91.91 91.91 91 {} {} {} {}
+ 12.22.22.32.42.52.62.62.72.72.72.82 22.22.32.42.52.62.62.72.72.72.82
+ 22.32.42.52.62.62.72.72.72.82 32.42.52.62.62.72.72.72.82
+ 42.52.62.62.72.72.72.82 52.62.62.72.72.72.82 62.62.72.72.72.82
+ 62.72.72.72.82 72.72.72.82 72.72.82 72.82 82 {} {} {} {}
+ 23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.43.43.53.63.73.73.73.83.93.93.93 43.43.53.63.73.73.73.83.93.93.93
+ 43.53.63.73.73.73.83.93.93.93 53.63.73.73.73.83.93.93.93
+ 63.73.73.73.83.93.93.93 73.73.73.83.93.93.93 73.73.83.93.93.93
+ 73.83.93.93.93 83.93.93.93 93.93.93 93.93 93 {} {} {} {}
+ 34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.64.74.74.74.84.84.84.84.94
+ 44.44.54.64.74.74.74.84.84.84.84.94 44.54.64.74.74.74.84.84.84.84.94
+ 54.64.74.74.74.84.84.84.84.94 64.74.74.74.84.84.84.84.94
+ 74.74.74.84.84.84.84.94 74.74.84.84.84.84.94 74.84.84.84.84.94
+ 84.84.84.84.94 84.84.84.94 84.84.94 84.94 94 {} {} {} {}
+ 25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.75.85.85.85.95.95.95
+ 65.65.65.75.75.75.85.85.85.95.95.95 65.65.75.75.75.85.85.85.95.95.95
+ 65.75.75.75.85.85.85.95.95.95 75.75.75.85.85.85.95.95.95
+ 75.75.85.85.85.95.95.95 75.85.85.85.95.95.95 85.85.85.95.95.95
+ 85.85.95.95.95 85.95.95.95 95.95.95 95.95 95 {} {} {} {}
+ 26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.46.46.56.56.56.66.76.86.96.96.96 46.46.56.56.56.66.76.86.96.96.96
+ 46.56.56.56.66.76.86.96.96.96 56.56.56.66.76.86.96.96.96
+ 56.56.66.76.86.96.96.96 56.66.76.86.96.96.96 66.76.86.96.96.96
+ 76.86.96.96.96 86.96.96.96 96.96.96 96.96 96 {} {} {} {}
+ 27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.47.57.67.77.77.87.87.97.97
+ 47.47.47.47.57.67.77.77.87.87.97.97 47.47.47.57.67.77.77.87.87.97.97
+ 47.47.57.67.77.77.87.87.97.97 47.57.67.77.77.87.87.97.97
+ 57.67.77.77.87.87.97.97 67.77.77.87.87.97.97 77.77.87.87.97.97
+ 77.87.87.97.97 87.87.97.97 87.97.97 97.97 97 {} {} {} {}
+ 38.38.58.58.58.58.68.78.78.88.98.98 38.58.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.68.78.78.88.98.98 58.58.58.68.78.78.88.98.98
+ 58.58.68.78.78.88.98.98 58.68.78.78.88.98.98 68.78.78.88.98.98
+ 78.78.88.98.98 78.88.98.98 88.98.98 98.98 98 {} {} {} {}
+ 29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.59.69.79.89.89.89.99.99
+ 49.59.59.59.59.69.79.89.89.89.99.99 59.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.69.79.89.89.89.99.99 59.59.69.79.89.89.89.99.99
+ 59.69.79.89.89.89.99.99 69.79.89.89.89.99.99 79.89.89.89.99.99
+ 89.89.89.99.99 89.89.99.99 89.99.99 99.99 99 {} {} {} {}}
+
+do_execsql_test 1.17.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING ) FROM t2
+} {20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39 9.99.69.39 99.69.39 69.39 39 {}
+ {} {} {}}
+
+do_execsql_test 1.17.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.17.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+} {187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 3.69.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 69.52.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 52.50.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 50.10.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 10.33.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 33.39.58.38.83.82.7 13 33.39.58.38.83.82.7 12 39.58.38.83.82.7
+ 11 39.58.38.83.82.7 10 58.38.83.82.7 9 58.38.83.82.7 8 38.83.82.7
+ 7 38.83.82.7 6 83.82.7 5 83.82.7 4 82.7 3 82.7 2 7 1 7 0 {}
+ 0 {} 0 {} 0 {}}
+
+do_execsql_test 1.17.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+} {187 {} 186 {} 185 {} 184 {} 183 {} 182 {} 181 {} 180 {}
+ 179 {} 178 {} 177 {} 176 {} 175 {} 174 {} 173 {} 172 {}
+ 171 {} 170 {} 169 {} 168 {} 167 {} 166 {} 165 {} 164 {}
+ 163 {} 162 {} 161 {} 160 {} 159 {} 158 {} 157 {} 156 {}
+ 155 {} 154 {} 153 {} 152 {} 151 {} 150 {} 149 {} 148 {}
+ 147 {} 146 {} 145 {} 144 {} 143 {} 142 {} 141 {} 140 {}
+ 139 {} 138 {} 137 {} 136 {} 135 {} 134 {} 133 {} 132 {}
+ 131 {} 130 {} 129 {} 128 {} 127 {} 126 {} 125 {} 124 {}
+ 123 {} 122 {} 121 {} 120 {} 119 {} 118 {} 117 {} 116 {}
+ 115 {} 114 {} 113 {} 112 {} 111 {} 110 {} 109 {} 108 {}
+ 107 {} 106 {} 105 {} 104 {} 103 {} 102 {} 101 {} 100 {}
+ 99 {} 98 {} 97 {} 96 {} 95 {} 94 {} 93 {} 92 {} 91 {}
+ 90 {} 89 {} 88 {} 87 {} 86 {} 85 {} 84 {} 83 {} 82 {}
+ 81 {} 80 {} 79 {} 78 {} 77 {} 76 {} 75 {} 74 {} 73 {}
+ 72 {} 71 {} 70 {} 69 {} 68 {} 67 {} 66 {} 65 {} 64 {}
+ 63 {} 62 {} 61 {} 60 {} 59 {} 58 {} 57 {} 56 {} 55 {}
+ 54 {} 53 {} 52 {} 51 {} 50 {} 49 {} 48 {} 47 {} 46 {}
+ 45 {} 44 {} 43 {} 42 {} 41 {} 40 {} 39 {} 38 {} 37 {}
+ 36 {} 35 {} 34 {} 33 {} 32 {} 31 {} 30 {} 29 {} 28 {}
+ 27 {} 26 {} 25 {} 24 {} 23 {} 22 {} 21 {} 20 {} 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {}
+ 0 {} 0 {}}
+
+do_execsql_test 1.17.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+} {16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {} 15 {} 14 {}
+ 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {}
+ 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {} 15 {} 14 {} 13 {}
+ 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {}
+ 2 {} 1 {} 0 {} 0 {} 0 {} 0 {} 15 {} 14 {} 13 {} 12 {}
+ 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {}
+ 1 {} 0 {} 0 {} 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {}
+ 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {}
+ 0 {} 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {}
+ 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {}
+ 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {} 15 {} 14 {}
+ 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {} 4 {}
+ 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {}}
+
+do_execsql_test 1.17.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 FOLLOWING AND UNBOUNDED FOLLOWING)
+} {16 59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 14 75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 13 78.72.98.87.73.96.74.90.75.91.69.39.7
+ 12 72.98.87.73.96.74.90.75.91.69.39.7 11 98.87.73.96.74.90.75.91.69.39.7
+ 10 87.73.96.74.90.75.91.69.39.7 9 73.96.74.90.75.91.69.39.7
+ 8 96.74.90.75.91.69.39.7 7 74.90.75.91.69.39.7 6 90.75.91.69.39.7
+ 5 75.91.69.39.7 4 91.69.39.7 3 69.39.7 2 39.7 1 7 0 {} 0 {}
+ 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {}
+ 15 32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 14 25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 13 89.29.9.21.12.88.55.70.58.81.91.52.58
+ 12 29.9.21.12.88.55.70.58.81.91.52.58 11 9.21.12.88.55.70.58.81.91.52.58
+ 10 21.12.88.55.70.58.81.91.52.58 9 12.88.55.70.58.81.91.52.58
+ 8 88.55.70.58.81.91.52.58 7 55.70.58.81.91.52.58 6 70.58.81.91.52.58
+ 5 58.81.91.52.58 4 81.91.52.58 3 91.52.58 2 52.58 1 58 0 {}
+ 0 {} 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {}
+ 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {}
+ 0 {} 15 3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 14 1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 13 76.63.73.65.20.8.77.19.9.23.15.50.38
+ 12 63.73.65.20.8.77.19.9.23.15.50.38 11 73.65.20.8.77.19.9.23.15.50.38
+ 10 65.20.8.77.19.9.23.15.50.38 9 20.8.77.19.9.23.15.50.38
+ 8 8.77.19.9.23.15.50.38 7 77.19.9.23.15.50.38 6 19.9.23.15.50.38
+ 5 9.23.15.50.38 4 23.15.50.38 3 15.50.38 2 50.38 1 38 0 {} 0 {}
+ 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {}
+ 15 22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 14 40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 13 4.87.65.5.31.49.2.26.72.13.36.10.83
+ 12 87.65.5.31.49.2.26.72.13.36.10.83 11 65.5.31.49.2.26.72.13.36.10.83
+ 10 5.31.49.2.26.72.13.36.10.83 9 31.49.2.26.72.13.36.10.83
+ 8 49.2.26.72.13.36.10.83 7 2.26.72.13.36.10.83 6 26.72.13.36.10.83
+ 5 72.13.36.10.83 4 13.36.10.83 3 36.10.83 2 10.83 1 83 0 {}
+ 0 {} 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {}
+ 8 {} 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {}
+ 0 {} 15 55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 14 56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 13 42.80.58.11.95.90.85.47.33.14.3.33.82
+ 12 80.58.11.95.90.85.47.33.14.3.33.82 11 58.11.95.90.85.47.33.14.3.33.82
+ 10 11.95.90.85.47.33.14.3.33.82 9 95.90.85.47.33.14.3.33.82
+ 8 90.85.47.33.14.3.33.82 7 85.47.33.14.3.33.82 6 47.33.14.3.33.82
+ 5 33.14.3.33.82 4 14.3.33.82 3 3.33.82 2 33.82 1 82 0 {} 0 {}
+ 0 {} 0 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {} 3 {} 2 {} 1 {} 0 {} 0 {} 0 {} 0 {}}
+
+do_execsql_test 1.18.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 95 99 99 99 99 95 95 84 84 84 84 84 84
+ 84 84 83 83 83 83 82 83 83 83 83}
+
+do_execsql_test 1.18.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1
+ 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 7 3 3
+ 3 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 17}
+
+do_execsql_test 1.18.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.18.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.18.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.18.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.18.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.18.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.18.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.18.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.18.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.18.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.18.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.18.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.18.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.18.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.18.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.18.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.18.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.18.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.18.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 216}
+
+do_execsql_test 1.18.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 196 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 234 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 221 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 235
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 189 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 216 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 250
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 249}
+
+do_execsql_test 1.18.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 120}
+
+do_execsql_test 1.18.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 218 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 261 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 228 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 130 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 271
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 213 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 195 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 119 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 171
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 120}
+
+do_execsql_test 1.18.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 249}
+
+do_execsql_test 1.18.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {98 9 73 75 43 78 32 4 5 25 27 15 31 24 43 98
+ 94 79 77 61 22 79 8 73 3 85 43 34 98 36 63 91
+ 11 20 21 75 90 56 96 84 5 28 33 5 56 59 81 19
+ 87 36 2 26 63 73 89 95 74 73 79 29 70 65 33
+ 14 26 47 94 14 15 5 72 41 11 75 19 53 91 79
+ 37 91 93 59 58 36 23 84 33 73 47 58 34 58 73
+ 15 13 7 11 99 31 66 38 80 79 95 60 59 19 59
+ {} 85 39 27 {} 9 59 75 91 33 {} 84 {} 33 50
+ {} {} 36 77 29 {} 30 {} 12 {} 17 75 58 62 91
+ 58 {} {} 50 {} 27 75 {} {} {} 33 {} {} {} {}
+ 62 50 17 36 36 95 {} {} {} {} {} 10 {} {} {}
+ 99 {} {} {} {} {} {} {} 30 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} 91 {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 83 {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 94 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 85 {} {} {} {} {} {} 95 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 66 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 87 {} {} {} {} {} 37 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} 58 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 19 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {2 2 2 2 2 3 5 7 7 8 8 9 9 10 11 12 12 12
+ 13 15 15 16 16 16 19 20 21 22 23 23 25 26 26
+ 27 29 30 30 31 32 33 33 33 34 34 35 36 36 36
+ 37 38 39 39 40 41 41 43 43 44 46 47 47 47 49
+ 50 51 52 54 55 56 56 56 57 58 58 59 59 59 60
+ 61 62 63 64 65 66 67 69 70 72 73 73 74 74 74
+ 75 77 78 79 80 81 82 83 84 84 84 85 86 87 87
+ 88 89 89 90 90 91 91 91 93 93 94 95 96 96 96
+ 97 98 99 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {90 {} {} {} {} {} {} {} {} {} {} {} {} {} 11
+ 11 61 61 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 72 72 {} {} {} {} {}
+ {} {} {} {} {} {} 23 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 85 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 86 86 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 47 47
+ 47 97 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 58 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 49 49 49 99 {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {65 72 81 34 41 35 73 74 14 15 32 53 1 2 35 5
+ 74 95 55 61 75 63 34 81 12 91 74 93 43 33 22
+ 75 56 56 23 85 72 23 33 84 22 15 93 73 12 6
+ 46 43 75 75 36 87 54 87 85 43 15 84 85 56 66
+ 83 36 97 85 78 34 94 75 33 65 17 36 68 7 15
+ 94 38 78 27 95 96 36 68 7 15 16 38 89 66 56
+ 38 76 89 89 47 85 56 59 {} 8 88 27 95 16 {}
+ 98 79 39 59 16 {} {} 8 16 98 36 66 {} 99 29
+ 59 97 8 {} {} {} 27 17 8 {} 8 58 {} 98 {} {}
+ {} 29 87 19 {} 89 {} {} 37 {} {} {} 59 59 58
+ 8 99 {} {} 98 29 {} {} {} {} 58 {} 89 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 19 {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {81 89 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.18.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {40 90 90 90 90 40 30 80 20 90 60 70 80 90 91
+ 81 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 12 62 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 23 93 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 84 54 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 35
+ 65 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 46 96 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 27 97 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 68
+ 38 38 38 38 68 78 8 28 98 78 58 98 8 88 8 59
+ 89 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.18.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.18.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {20 10 10 10 10 20 30 30 30 40 50 60 70 80 1 1
+ 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61 81
+ 81 81 91 2 2 2 2 2 2 12 12 12 22 22 32 42
+ 52 62 62 3 3 3 3 3 3 13 13 23 23 33 33 33
+ 33 43 43 53 63 73 73 73 14 4 4 4 4 14 24 34
+ 34 34 34 44 44 54 64 74 74 74 84 15 5 5 5 5
+ 15 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 16 6 6 6 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 7 7 7 7 7 7 7 17 27 27 37
+ 37 47 47 47 47 57 67 77 77 8 8 8 8 8 8 8 28
+ 38 38 58 58 58 58 68 78 9 9 9 9 9 9 9 19 29
+ 29 29 39 39 39 49 59 59 59 59 69 79 89}
+
+do_execsql_test 1.18.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {40 90 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.18.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.18.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.18.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.18.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.18.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.18.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.96.59.38.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.59.38.68.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.38.68.39.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 38.68.39.62.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.58.30.38.34.83.27.82.17.7 33.21.39.44.30.38.34.83.27.82.17.7
+ 21.39.44.58.38.34.83.27.82.17.7 39.44.58.30.34.83.27.82.17.7
+ 44.58.30.38.83.27.82.17.7 58.30.38.34.27.82.17.7 30.38.34.83.82.17.7
+ 38.34.83.27.17.7 34.83.27.82.7 83.27.82.17}
+
+do_execsql_test 1.18.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.90.60.70.80.90.30.50.10.30
+ 40.30.80.20.60.70.80.90.30.50.10.30 30.80.20.90.70.80.90.30.50.10.30
+ 80.20.90.60.80.90.30.50.10.30 20.90.60.70.90.30.50.10.30
+ 90.60.70.80.30.50.10.30 60.70.80.90.50.10.30 70.80.90.30.10.30
+ 80.90.30.50.30 90.30.50.10
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.61.91.91.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.91.91.1.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.91.1.81.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.1.81.41.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.51.41.31.31.11.81.91.91.21 61.1.21.11.41.31.31.11.81.91.91.21
+ 1.21.11.51.31.31.11.81.91.91.21 21.11.51.41.31.11.81.91.91.21
+ 11.51.41.31.11.81.91.91.21 51.41.31.31.81.91.91.21 41.31.31.11.91.91.21
+ 31.31.11.81.91.21 31.11.81.91.21 11.81.91.91
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.2.72.12.22.2.72.72.12.62.52.82
+ 12.32.22.42.72.12.22.2.72.72.12.62.52.82
+ 32.22.42.2.12.22.2.72.72.12.62.52.82 22.42.2.72.22.2.72.72.12.62.52.82
+ 42.2.72.12.2.72.72.12.62.52.82 2.72.12.22.72.72.12.62.52.82
+ 72.12.22.2.72.12.62.52.82 12.22.2.72.12.62.52.82 22.2.72.72.62.52.82
+ 2.72.72.12.52.82 72.72.12.62.82 72.12.62.52
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 23.93.43.3.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.43.3.43.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.3.43.33.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 3.43.33.53.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.33.93.23.13.33.3.33.83 63.73.13.73.33.93.23.13.33.3.33.83
+ 73.13.73.73.93.23.13.33.3.33.83 13.73.73.33.23.13.33.3.33.83
+ 73.73.33.93.13.33.3.33.83 73.33.93.23.33.3.33.83 33.93.23.13.3.33.83
+ 93.23.13.33.33.83 23.13.33.3.83 13.33.3.33
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.24.4.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.24.4.94.74.34.34.44.74.64.14.34.84.84.44.34
+ 24.4.94.84.34.34.44.74.64.14.34.84.84.44.34
+ 4.94.84.74.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.74.64.14.34.84.84.44.34 74.34.34.44.64.14.34.84.84.44.34
+ 34.34.44.74.14.34.84.84.44.34 34.44.74.64.34.84.84.44.34
+ 44.74.64.14.84.84.44.34 74.64.14.34.84.44.34 64.14.34.84.44.34
+ 14.34.84.84.34 34.84.84.44
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 35.85.85.55.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.85.55.15.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.55.15.25.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 55.15.25.75.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.5.15.95.55.75.85.75.15.95 95.65.65.35.15.95.55.75.85.75.15.95
+ 65.65.35.5.95.55.75.85.75.15.95 65.35.5.15.55.75.85.75.15.95
+ 35.5.15.95.75.85.75.15.95 5.15.95.55.85.75.15.95 15.95.55.75.75.15.95
+ 95.55.75.85.15.95 55.75.85.75.95 75.85.75.15
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 6.46.16.16.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.96.96.26.26.36.66.36.36 56.16.36.76.96.26.26.36.66.36.36
+ 16.36.76.96.26.26.36.66.36.36 36.76.96.96.26.36.66.36.36
+ 76.96.96.26.36.66.36.36 96.96.26.26.66.36.36 96.26.26.36.36.36
+ 26.26.36.66.36 26.36.66.36
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 27.97.67.77.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.67.77.47.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 67.77.47.7.87.37.87.77.7.57.47.47.37.27.17.7
+ 77.47.7.47.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.77.7.57.47.47.37.27.17.7 47.87.37.87.7.57.47.47.37.27.17.7
+ 87.37.87.77.57.47.47.37.27.17.7 37.87.77.7.47.47.37.27.17.7
+ 87.77.7.57.47.37.27.17.7 77.7.57.47.37.27.17.7 7.57.47.47.27.17.7
+ 57.47.47.37.17.7 47.47.37.27.7 47.37.27.17
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.98.78.58.98.8.88.8.58.58.58.38
+ 68.78.8.28.78.58.98.8.88.8.58.58.58.38
+ 78.8.28.98.58.98.8.88.8.58.58.58.38 8.28.98.78.98.8.88.8.58.58.58.38
+ 28.98.78.58.8.88.8.58.58.58.38 98.78.58.98.88.8.58.58.58.38
+ 78.58.98.8.8.58.58.58.38 58.98.8.88.58.58.58.38 98.8.88.8.58.58.38
+ 8.88.8.58.58.38 88.8.58.58.38 8.58.58.58
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.29.59.19.39.9.9.99.69.39 9.79.49.59.59.19.39.9.9.99.69.39
+ 79.49.59.29.19.39.9.9.99.69.39 49.59.29.59.39.9.9.99.69.39
+ 59.29.59.19.9.9.99.69.39 29.59.19.39.9.99.69.39 59.19.39.9.99.69.39
+ 19.39.9.9.69.39 39.9.9.99.39 9.9.99.69}
+
+do_execsql_test 1.18.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.2.3.3.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.3.3.4.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.3.4.5.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.97.97.98.98.99.99 95.95.95.96.96.97.97.98.98.99.99
+ 95.95.96.96.97.97.98.98.99.99 95.96.96.96.97.98.98.99.99
+ 96.96.96.97.98.98.99.99 96.96.97.97.98.99.99 96.97.97.98.99.99
+ 97.97.98.98.99 97.98.98.99}
+
+do_execsql_test 1.18.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.40.50.60.70.80.80.90.90.90
+ 20.30.30.30.50.60.70.80.80.90.90.90 30.30.30.40.60.70.80.80.90.90.90
+ 30.30.40.50.70.80.80.90.90.90 30.40.50.60.80.80.90.90.90
+ 40.50.60.70.80.90.90.90 50.60.70.80.90.90.90 60.70.80.80.90.90
+ 70.80.80.90.90 80.80.90.90
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.11.21.21.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.21.21.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.21.31.31.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.81.81.81.91.91.91.91.91 41.51.61.61.81.81.91.91.91.91.91
+ 51.61.61.81.81.91.91.91.91.91 61.61.81.81.91.91.91.91.91
+ 61.81.81.81.91.91.91.91 81.81.81.91.91.91.91 81.81.91.91.91.91
+ 81.91.91.91.91 91.91.91.91 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.32.42.52.62.62.72.72.72.82
+ 12.12.12.22.32.42.52.62.62.72.72.72.82
+ 12.12.22.22.42.52.62.62.72.72.72.82 12.22.22.32.52.62.62.72.72.72.82
+ 22.22.32.42.62.62.72.72.72.82 22.32.42.52.62.72.72.72.82
+ 32.42.52.62.72.72.72.82 42.52.62.62.72.72.82 52.62.62.72.72.82
+ 62.62.72.72.82 62.72.72.72
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.13.23.23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.23.23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.63.73.73.73.83.93.93.93 33.43.43.53.73.73.73.83.93.93.93
+ 43.43.53.63.73.73.83.93.93.93 43.53.63.73.73.83.93.93.93
+ 53.63.73.73.83.93.93.93 63.73.73.73.93.93.93 73.73.73.83.93.93
+ 73.73.83.93.93 73.83.93.93
+ 14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 14.24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.34.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.74.74.74.84.84.84.84.94 44.44.54.64.74.74.84.84.84.84.94
+ 44.54.64.74.74.84.84.84.84.94 54.64.74.74.84.84.84.84.94
+ 64.74.74.74.84.84.84.94 74.74.74.84.84.84.94 74.74.84.84.84.94
+ 74.84.84.84.94 84.84.84.84
+ 15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.15.25.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.25.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.25.35.35.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 25.35.35.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.85.85.85.95.95.95 65.65.65.75.75.85.85.85.95.95.95
+ 65.65.75.75.85.85.85.95.95.95 65.75.75.75.85.85.95.95.95
+ 75.75.75.85.85.95.95.95 75.75.85.85.95.95.95 75.85.85.85.95.95
+ 85.85.85.95.95 85.85.95.95
+ 16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.16.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.26.26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.26.26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.66.76.86.96.96.96 36.46.46.56.56.66.76.86.96.96.96
+ 46.46.56.56.66.76.86.96.96.96 46.56.56.56.76.86.96.96.96
+ 56.56.56.66.86.96.96.96 56.56.66.76.96.96.96 56.66.76.86.96.96
+ 66.76.86.96.96 76.86.96.96
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.17.27.27.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 17.27.27.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.27.37.37.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.57.67.77.77.87.87.97.97 47.47.47.47.67.77.77.87.87.97.97
+ 47.47.47.57.77.77.87.87.97.97 47.47.57.67.77.87.87.97.97
+ 47.57.67.77.87.87.97.97 57.67.77.77.87.97.97 67.77.77.87.97.97
+ 77.77.87.87.97 77.87.87.97 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.58.58.58.58.68.78.78.88.98.98
+ 8.28.38.38.58.58.58.68.78.78.88.98.98 28.38.38.58.58.58.68.78.78.88.98.98
+ 38.38.58.58.58.68.78.78.88.98.98 38.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.78.78.88.98.98 58.58.58.68.78.88.98.98 58.58.68.78.88.98.98
+ 58.68.78.78.98.98 68.78.78.88.98 78.78.88.98
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.19.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 19.29.29.29.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.29.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.69.79.89.89.89.99.99 49.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.59.79.89.89.89.99.99 59.59.59.69.89.89.89.99.99
+ 59.59.69.79.89.89.99.99 59.69.79.89.89.99.99 69.79.89.89.99.99
+ 79.89.89.89.99 89.89.89.99}
+
+do_execsql_test 1.18.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW ) FROM t2
+} {40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 40.30.80.20.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.80.20.90.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.20.90.60.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 20.90.60.70.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.29.59.19.39.9.9.99.69.39 9.79.49.59.59.19.39.9.9.99.69.39
+ 79.49.59.29.19.39.9.9.99.69.39 49.59.29.59.39.9.9.99.69.39
+ 59.29.59.19.9.9.99.69.39 29.59.19.39.9.99.69.39 59.19.39.9.99.69.39
+ 19.39.9.9.69.39 39.9.9.99.39 9.9.99.69}
+
+do_execsql_test 1.18.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.18.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+} {190 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.96.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 189 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 188 96.38.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 38.39.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 39.91.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 91.6.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 6.97.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 97.46.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 46.54.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 54.8.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 8.29.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 29.84.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 84.23.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 23.16.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 16.65.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 65.47.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 47.86.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 86.61.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 61.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.85.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 85.59.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 59.32.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 32.3.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 3.22.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 22.55.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 55.28.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 28.25.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 25.1.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 1.40.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 40.56.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 56.75.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 75.89.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 89.76.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 76.4.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 4.42.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 42.78.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 78.29.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 29.63.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 63.87.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 87.80.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 80.72.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 72.9.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 9.73.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 73.65.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 65.58.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 58.98.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 98.21.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 21.65.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 65.5.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 5.11.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 11.87.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 87.12.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 12.20.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 20.31.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 31.95.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 95.73.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 73.88.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 88.8.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 8.49.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 49.90.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 90.96.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 96.55.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 55.77.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 77.2.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 2.85.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 85.74.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 74.70.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 70.19.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 19.26.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 26.47.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 47.90.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 90.58.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 58.9.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 9.72.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 72.33.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 33.75.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 75.81.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 81.23.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 23.13.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 13.14.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 14.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.91.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 91.15.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 15.36.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 36.3.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 3.69.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 69.52.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 52.50.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 50.10.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 10.33.58.38.83.82.7 13 33.39.58.38.83.82.7 12 33.39.38.83.82.7
+ 11 39.58.38.83.82.7 10 39.58.83.82.7 9 58.38.83.82.7 8 58.38.82.7
+ 7 38.83.82.7 6 38.83.7 5 83.82.7 4 83.82}
+
+do_execsql_test 1.18.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+} {190 {} 190 {} 190 {} 190 {} 190 {} 189 {} 188 {} 187 {}
+ 186 {} 185 {} 184 {} 183 {} 182 {} 181 {} 180 {} 179 {}
+ 178 {} 177 {} 176 {} 175 {} 174 {} 173 {} 172 {} 171 {}
+ 170 {} 169 {} 168 {} 167 {} 166 {} 165 {} 164 {} 163 {}
+ 162 {} 161 {} 160 {} 159 {} 158 {} 157 {} 156 {} 155 {}
+ 154 {} 153 {} 152 {} 151 {} 150 {} 149 {} 148 {} 147 {}
+ 146 {} 145 {} 144 {} 143 {} 142 {} 141 {} 140 {} 139 {}
+ 138 {} 137 {} 136 {} 135 {} 134 {} 133 {} 132 {} 131 {}
+ 130 {} 129 {} 128 {} 127 {} 126 {} 125 {} 124 {} 123 {}
+ 122 {} 121 {} 120 {} 119 {} 118 {} 117 {} 116 {} 115 {}
+ 114 {} 113 {} 112 {} 111 {} 110 {} 109 {} 108 {} 107 {}
+ 106 {} 105 {} 104 {} 103 {} 102 {} 101 {} 100 {} 99 {}
+ 98 {} 97 {} 96 {} 95 {} 94 {} 93 {} 92 {} 91 {} 90 {}
+ 89 {} 88 {} 87 {} 86 {} 85 {} 84 {} 83 {} 82 {} 81 {}
+ 80 {} 79 {} 78 {} 77 {} 76 {} 75 {} 74 {} 73 {} 72 {}
+ 71 {} 70 {} 69 {} 68 {} 67 {} 66 {} 65 {} 64 {} 63 {}
+ 62 {} 61 {} 60 {} 59 {} 58 {} 57 {} 56 {} 55 {} 54 {}
+ 53 {} 52 {} 51 {} 50 {} 49 {} 48 {} 47 {} 46 {} 45 {}
+ 44 {} 43 {} 42 {} 41 {} 40 {} 39 {} 38 {} 37 {} 36 {}
+ 35 {} 34 {} 33 {} 32 {} 31 {} 30 {} 29 {} 28 {} 27 {}
+ 26 {} 25 {} 24 {} 23 {} 22 {} 21 {} 20 {} 19 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}}
+
+do_execsql_test 1.18.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+} {19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {}}
+
+do_execsql_test 1.18.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE CURRENT ROW)
+} {19 6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.6.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.6.29.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.6.29.47.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 18 6.29.47.59.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 17 29.47.59.28.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 16 47.59.28.75.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 59.28.75.78.98.87.73.96.74.90.75.91.69.39.7
+ 14 28.75.78.72.87.73.96.74.90.75.91.69.39.7
+ 13 75.78.72.98.73.96.74.90.75.91.69.39.7
+ 12 78.72.98.87.96.74.90.75.91.69.39.7 11 72.98.87.73.74.90.75.91.69.39.7
+ 10 98.87.73.96.90.75.91.69.39.7 9 87.73.96.74.75.91.69.39.7
+ 8 73.96.74.90.91.69.39.7 7 96.74.90.75.69.39.7 6 74.90.75.91.39.7
+ 5 90.75.91.69.7 4 75.91.69.39 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.97.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.97.84.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.97.84.86.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 17 97.84.86.32.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 16 84.86.32.25.29.9.21.12.88.55.70.58.81.91.52.58
+ 15 86.32.25.89.9.21.12.88.55.70.58.81.91.52.58
+ 14 32.25.89.29.21.12.88.55.70.58.81.91.52.58
+ 13 25.89.29.9.12.88.55.70.58.81.91.52.58
+ 12 89.29.9.21.88.55.70.58.81.91.52.58 11 29.9.21.12.55.70.58.81.91.52.58
+ 10 9.21.12.88.70.58.81.91.52.58 9 21.12.88.55.58.81.91.52.58
+ 8 12.88.55.70.81.91.52.58 7 88.55.70.58.91.52.58 6 55.70.58.81.52.58
+ 5 70.58.81.91.58 4 58.81.91.52 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.46.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.46.23.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.46.23.61.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 17 46.23.61.3.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 16 23.61.3.1.63.73.65.20.8.77.19.9.23.15.50.38
+ 15 61.3.1.76.73.65.20.8.77.19.9.23.15.50.38
+ 14 3.1.76.63.65.20.8.77.19.9.23.15.50.38
+ 13 1.76.63.73.20.8.77.19.9.23.15.50.38
+ 12 76.63.73.65.8.77.19.9.23.15.50.38 11 63.73.65.20.77.19.9.23.15.50.38
+ 10 73.65.20.8.19.9.23.15.50.38 9 65.20.8.77.9.23.15.50.38
+ 8 20.8.77.19.23.15.50.38 7 8.77.19.9.15.50.38 6 77.19.9.23.50.38
+ 5 19.9.23.15.38 4 9.23.15.50 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.54.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.54.16.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.54.16.85.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 17 54.16.85.22.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 16 16.85.22.40.87.65.5.31.49.2.26.72.13.36.10.83
+ 15 85.22.40.4.65.5.31.49.2.26.72.13.36.10.83
+ 14 22.40.4.87.5.31.49.2.26.72.13.36.10.83
+ 13 40.4.87.65.31.49.2.26.72.13.36.10.83
+ 12 4.87.65.5.49.2.26.72.13.36.10.83 11 87.65.5.31.2.26.72.13.36.10.83
+ 10 65.5.31.49.26.72.13.36.10.83 9 5.31.49.2.72.13.36.10.83
+ 8 31.49.2.26.13.36.10.83 7 49.2.26.72.36.10.83 6 2.26.72.13.10.83
+ 5 26.72.13.36.83 4 72.13.36.10 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.8.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.8.65.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.8.65.85.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 17 8.65.85.55.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 16 65.85.55.56.80.58.11.95.90.85.47.33.14.3.33.82
+ 15 85.55.56.42.58.11.95.90.85.47.33.14.3.33.82
+ 14 55.56.42.80.11.95.90.85.47.33.14.3.33.82
+ 13 56.42.80.58.95.90.85.47.33.14.3.33.82
+ 12 42.80.58.11.90.85.47.33.14.3.33.82 11 80.58.11.95.85.47.33.14.3.33.82
+ 10 58.11.95.90.47.33.14.3.33.82 9 11.95.90.85.33.14.3.33.82
+ 8 95.90.85.47.14.3.33.82 7 90.85.47.33.3.33.82 6 85.47.33.14.33.82
+ 5 47.33.14.3.82 4 33.14.3.33 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}}
+
+do_execsql_test 1.19.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 95 95 84 84 84 84 84 84
+ 84 84 83 83 83 83 83 83 83 83 83}
+
+do_execsql_test 1.19.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 7}
+
+do_execsql_test 1.19.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.19.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.19.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.19.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.19.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.19.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.19.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.19.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.19.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.19.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.19.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.19.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.19.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.19.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.19.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.19.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.19.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.19.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.19.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207}
+
+do_execsql_test 1.19.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 223 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 210 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 279 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 212 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 232
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.19.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.19.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 280 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 252 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 171
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 274 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 226 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 124 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 198
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276}
+
+do_execsql_test 1.19.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229}
+
+do_execsql_test 1.19.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {108 52 83 79 65 26 70 103 80 36 116 51 52 128
+ 117 71 63 84 109 78 147 88 121 106 124 85 107 171
+ 150 80 171 120 109 158 87 168 173 162 156 195 198
+ 177 124 121 134 141 210 157 132 161 218 226 191 179
+ 138 214 212 172 173 229 240 187 210 227 228 223 225
+ 179 182 231 207 209 212 239 234 213 234 269 196 271
+ 235 250 223 232 229 280 99 92 72 55 109 120 119
+ 50 124 96 59 124 110 57 130 103 74 87 48 105 136
+ 131 133 92 109 57 146 113 74 150 87 110 65 110
+ 145 161 156 114 111 136 147 173 124 132 101 154 167
+ 190 161 110 102 123 169 140 111 180 119 160 197 152
+ 146 147 132 213 193 200 136 175 188 187 208 211 144
+ 223 196 170 202 163 184 195 200 163 191 252 235 243
+ 172 187 202 179 261 263 206 189 276 181 274 249 221
+ 210 229 279 224 216 207}
+
+do_execsql_test 1.19.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {96 41 5 16 85 30 12 81 35 89 97 31 31 85 40
+ 96 4 73 84 9 91 73 12 5 56 24 85 49 96 75 53
+ 61 8 8 1 55 34 43 59 80 35 15 78 35 56 70 76
+ 59 51 75 63 26 53 5 89 15 21 5 73 33 29 74 66
+ 12 26 58 4 12 31 35 9 87 73 55 59 53 62 73 23
+ 62 33 90 13 90 9 10 66 5 58 44 38 58 22 33 37
+ 2 73 36 31 72 30 47 73 15 96 70 59 90 {} 7 21
+ 83 {} 47 90 55 36 66 {} 50 {} 84 30 {} {} 34
+ 77 74 {} 58 {} 13 {} 82 93 69 14 62 44 {} {}
+ 30 {} 83 93 {} {} {} 84 {} {} {} {} 14 30 82
+ 34 34 3 {} {} {} {} {} 84 {} {} {} 99 {} {}
+ {} {} {} {} {} 58 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {}}
+
+do_execsql_test 1.19.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} 91 {} {} {} {}
+ {} {} {} {} {} {} 12 {} {} {} 22 {} 82 {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 33 {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 4 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 75 {} {} {} {} {} {} 15 {}
+ {} {} {} {} {} {} {} {} {} 86 {} 26 36 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 37 {} {} {} {} {} 47 {} {} {} {}
+ {} {} {} {} {} {} 98 {} {} {} {} {} 58 {} 38
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 59 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 2 2 2 3 4 6 7 8 8 8 9 9 10 11 12 12
+ 13 14 15 15 16 16 17 19 21 22 22 23 24 25 26
+ 27 29 29 30 30 31 32 33 33 34 34 35 35 36 36
+ 37 38 38 39 39 40 41 42 43 44 46 46 47 47 47
+ 49 50 51 53 54 55 56 56 56 58 58 58 59 59 59
+ 60 61 62 63 65 65 66 68 69 72 72 73 73 74 74
+ 75 76 77 78 80 81 81 82 84 84 84 85 85 86 87
+ 87 89 89 89 90 90 91 91 91 93 93 95 95 96 96
+ 97 98 99 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1 1
+ 61 61 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 12 12 72 72 72 {} {} {} {} {} {}
+ {} {} {} {} {} 13 13 63 63 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 34 84 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 35 85 85 85 {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 36 76 76 76 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 37 37 37
+ 87 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} 58 58 58 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 39 39 39 89 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {34 2 11 34 81 65 73 84 64 55 12 33 91 42 65
+ 35 84 15 95 61 25 53 74 81 72 91 84 33 3 43
+ 32 85 56 56 93 85 2 93 43 94 22 75 82 13 12
+ 46 6 3 55 25 26 47 83 37 85 43 55 34 75 86 36
+ 33 36 36 85 68 14 4 25 33 95 27 16 38 77 55 4
+ 58 98 37 15 95 16 38 77 55 16 58 38 36 56 7
+ 36 59 89 57 75 86 89 39 98 8 97 15 46 {} 28 9
+ 69 49 56 {} {} 78 16 28 26 36 {} 39 99 29 27
+ 78 {} {} {} 37 27 98 {} 88 8 {} 28 {} {} {}
+ 59 37 59 {} 89 {} {} 47 {} 39 {} 29 29 8 78 9
+ {} {} 58 59 {} {} {} {} 58 {} 38 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} 59 {} {} {} {} {}
+ {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {89 89 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.19.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 81
+ 81 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 62 62 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 93 93 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 54 54 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 65
+ 65 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 96 96 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 97 97 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 38
+ 38 38 38 38 68 78 8 28 98 78 58 98 8 88 8 89
+ 89 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.19.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.19.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {10 10 10 10 10 20 30 30 30 40 50 60 70 80 1 1
+ 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61 81
+ 81 81 91 2 2 2 2 2 2 12 12 12 22 22 32 42
+ 52 62 62 3 3 3 3 3 3 13 13 23 23 33 33 33
+ 33 43 43 53 63 73 73 73 4 4 4 4 4 14 24 34
+ 34 34 34 44 44 54 64 74 74 74 84 5 5 5 5 5
+ 15 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 6 6 6 6 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 7 7 7 7 7 7 7 17 27 27 37
+ 37 47 47 47 47 57 67 77 77 8 8 8 8 8 8 8 28
+ 38 38 58 58 58 58 68 78 9 9 9 9 9 9 9 19 29
+ 29 29 39 39 39 49 59 59 59 59 69 79 89}
+
+do_execsql_test 1.19.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {90 90 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.19.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.19.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.19.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.19.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.19.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.19.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.19.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.19.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.21.39.44.58.30.38.34.83.27.82.17.7 21.39.44.58.30.38.34.83.27.82.17.7
+ 39.44.58.30.38.34.83.27.82.17.7 44.58.30.38.34.83.27.82.17.7
+ 58.30.38.34.83.27.82.17.7 30.38.34.83.27.82.17.7 38.34.83.27.82.17.7
+ 34.83.27.82.17.7 83.27.82.17.7}
+
+do_execsql_test 1.19.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30
+ 40.30.80.20.90.60.70.80.90.30.50.10.30
+ 30.80.20.90.60.70.80.90.30.50.10.30 80.20.90.60.70.80.90.30.50.10.30
+ 20.90.60.70.80.90.30.50.10.30 90.60.70.80.90.30.50.10.30
+ 60.70.80.90.30.50.10.30 70.80.90.30.50.10.30 80.90.30.50.10.30
+ 90.30.50.10.30
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.1.21.11.51.41.31.31.11.81.91.91.21 1.21.11.51.41.31.31.11.81.91.91.21
+ 21.11.51.41.31.31.11.81.91.91.21 11.51.41.31.31.11.81.91.91.21
+ 51.41.31.31.11.81.91.91.21 41.31.31.11.81.91.91.21 31.31.11.81.91.91.21
+ 31.11.81.91.91.21 11.81.91.91.21
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 22.42.2.72.12.22.2.72.72.12.62.52.82 42.2.72.12.22.2.72.72.12.62.52.82
+ 2.72.12.22.2.72.72.12.62.52.82 72.12.22.2.72.72.12.62.52.82
+ 12.22.2.72.72.12.62.52.82 22.2.72.72.12.62.52.82 2.72.72.12.62.52.82
+ 72.72.12.62.52.82 72.12.62.52.82
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 63.73.13.73.73.33.93.23.13.33.3.33.83 73.13.73.73.33.93.23.13.33.3.33.83
+ 13.73.73.33.93.23.13.33.3.33.83 73.73.33.93.23.13.33.3.33.83
+ 73.33.93.23.13.33.3.33.83 33.93.23.13.33.3.33.83 93.23.13.33.3.33.83
+ 23.13.33.3.33.83 13.33.3.33.83
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.34.34.44.74.64.14.34.84.84.44.34 34.34.44.74.64.14.34.84.84.44.34
+ 34.44.74.64.14.34.84.84.44.34 44.74.64.14.34.84.84.44.34
+ 74.64.14.34.84.84.44.34 64.14.34.84.84.44.34 14.34.84.84.44.34
+ 34.84.84.44.34
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 95.65.65.35.5.15.95.55.75.85.75.15.95 65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.5.15.95.55.75.85.75.15.95 35.5.15.95.55.75.85.75.15.95
+ 5.15.95.55.75.85.75.15.95 15.95.55.75.85.75.15.95 95.55.75.85.75.15.95
+ 55.75.85.75.15.95 75.85.75.15.95
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.76.96.96.26.26.36.66.36.36
+ 56.16.36.76.96.96.26.26.36.66.36.36 16.36.76.96.96.26.26.36.66.36.36
+ 36.76.96.96.26.26.36.66.36.36 76.96.96.26.26.36.66.36.36
+ 96.96.26.26.36.66.36.36 96.26.26.36.66.36.36 26.26.36.66.36.36
+ 26.36.66.36.36 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 47.87.37.87.77.7.57.47.47.37.27.17.7 87.37.87.77.7.57.47.47.37.27.17.7
+ 37.87.77.7.57.47.47.37.27.17.7 87.77.7.57.47.47.37.27.17.7
+ 77.7.57.47.47.37.27.17.7 7.57.47.47.37.27.17.7 57.47.47.37.27.17.7
+ 47.47.37.27.17.7 47.37.27.17.7
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 8.28.98.78.58.98.8.88.8.58.58.58.38 28.98.78.58.98.8.88.8.58.58.58.38
+ 98.78.58.98.8.88.8.58.58.58.38 78.58.98.8.88.8.58.58.58.38
+ 58.98.8.88.8.58.58.58.38 98.8.88.8.58.58.58.38 8.88.8.58.58.58.38
+ 88.8.58.58.58.38 8.58.58.58.38
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39}
+
+do_execsql_test 1.19.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.96.97.97.98.98.99.99
+ 95.95.95.96.96.96.97.97.98.98.99.99 95.95.96.96.96.97.97.98.98.99.99
+ 95.96.96.96.97.97.98.98.99.99 96.96.96.97.97.98.98.99.99
+ 96.96.97.97.98.98.99.99 96.97.97.98.98.99.99 97.97.98.98.99.99
+ 97.98.98.99.99}
+
+do_execsql_test 1.19.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.30.40.50.60.70.80.80.90.90.90
+ 20.30.30.30.40.50.60.70.80.80.90.90.90
+ 30.30.30.40.50.60.70.80.80.90.90.90 30.30.40.50.60.70.80.80.90.90.90
+ 30.40.50.60.70.80.80.90.90.90 40.50.60.70.80.80.90.90.90
+ 50.60.70.80.80.90.90.90 60.70.80.80.90.90.90 70.80.80.90.90.90
+ 80.80.90.90.90
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.61.81.81.81.91.91.91.91.91
+ 41.51.61.61.81.81.81.91.91.91.91.91 51.61.61.81.81.81.91.91.91.91.91
+ 61.61.81.81.81.91.91.91.91.91 61.81.81.81.91.91.91.91.91
+ 81.81.81.91.91.91.91.91 81.81.91.91.91.91.91 81.91.91.91.91.91
+ 91.91.91.91.91 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.12.22.22.32.42.52.62.62.72.72.72.82
+ 12.22.22.32.42.52.62.62.72.72.72.82 22.22.32.42.52.62.62.72.72.72.82
+ 22.32.42.52.62.62.72.72.72.82 32.42.52.62.62.72.72.72.82
+ 42.52.62.62.72.72.72.82 52.62.62.72.72.72.82 62.62.72.72.72.82
+ 62.72.72.72.82
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.43.43.53.63.73.73.73.83.93.93.93 43.43.53.63.73.73.73.83.93.93.93
+ 43.53.63.73.73.73.83.93.93.93 53.63.73.73.73.83.93.93.93
+ 63.73.73.73.83.93.93.93 73.73.73.83.93.93.93 73.73.83.93.93.93
+ 73.83.93.93.93 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.64.74.74.74.84.84.84.84.94
+ 44.44.54.64.74.74.74.84.84.84.84.94 44.54.64.74.74.74.84.84.84.84.94
+ 54.64.74.74.74.84.84.84.84.94 64.74.74.74.84.84.84.84.94
+ 74.74.74.84.84.84.84.94 74.74.84.84.84.84.94 74.84.84.84.84.94
+ 84.84.84.84.94
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.75.85.85.85.95.95.95
+ 65.65.65.75.75.75.85.85.85.95.95.95 65.65.75.75.75.85.85.85.95.95.95
+ 65.75.75.75.85.85.85.95.95.95 75.75.75.85.85.85.95.95.95
+ 75.75.85.85.85.95.95.95 75.85.85.85.95.95.95 85.85.85.95.95.95
+ 85.85.95.95.95
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.46.46.56.56.56.66.76.86.96.96.96 46.46.56.56.56.66.76.86.96.96.96
+ 46.56.56.56.66.76.86.96.96.96 56.56.56.66.76.86.96.96.96
+ 56.56.66.76.86.96.96.96 56.66.76.86.96.96.96 66.76.86.96.96.96
+ 76.86.96.96.96 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.47.57.67.77.77.87.87.97.97
+ 47.47.47.47.57.67.77.77.87.87.97.97 47.47.47.57.67.77.77.87.87.97.97
+ 47.47.57.67.77.77.87.87.97.97 47.57.67.77.77.87.87.97.97
+ 57.67.77.77.87.87.97.97 67.77.77.87.87.97.97 77.77.87.87.97.97
+ 77.87.87.97.97 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 28.38.38.58.58.58.58.68.78.78.88.98.98
+ 38.38.58.58.58.58.68.78.78.88.98.98 38.58.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.68.78.78.88.98.98 58.58.58.68.78.78.88.98.98
+ 58.58.68.78.78.88.98.98 58.68.78.78.88.98.98 68.78.78.88.98.98
+ 78.78.88.98.98
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.59.69.79.89.89.89.99.99
+ 49.59.59.59.59.69.79.89.89.89.99.99 59.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.69.79.89.89.89.99.99 59.59.69.79.89.89.89.99.99
+ 59.69.79.89.89.89.99.99 69.79.89.89.89.99.99 79.89.89.89.99.99
+ 89.89.89.99.99}
+
+do_execsql_test 1.19.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES ) FROM t2
+} {90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 9.79.49.59.29.59.19.39.9.9.99.69.39 79.49.59.29.59.19.39.9.9.99.69.39
+ 49.59.29.59.19.39.9.9.99.69.39 59.29.59.19.39.9.9.99.69.39
+ 29.59.19.39.9.9.99.69.39 59.19.39.9.9.99.69.39 19.39.9.9.99.69.39
+ 39.9.9.99.69.39 9.9.99.69.39}
+
+do_execsql_test 1.19.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES) FROM t2
+} {96 38 68 62 46 6 46 78 54 8 84 16 16 86 74 24
+ 12 32 56 22 90 28 56 40 56 16 36 98 76 4 94
+ 42 30 78 2 80 84 72 58 96 98 74 12 8 20 22 88
+ 34 8 34 90 96 60 44 2 74 70 26 26 80 90 36 58
+ 72 72 66 64 12 14 62 36 34 36 58 52 30 50 84
+ 10 84 44 58 30 38 34 82 89 81 59 39 91 99 97
+ 27 97 67 29 93 77 23 93 65 35 47 7 61 91 85
+ 85 43 59 3 91 55 15 89 25 47 1 43 75 89 81 33
+ 29 53 63 87 37 41 9 61 73 95 65 13 1 21 65 35
+ 5 73 11 51 87 41 31 31 15 95 73 79 11 49 59
+ 55 75 77 7 85 57 29 59 19 39 47 47 9 33 93 75
+ 81 9 23 37 13 91 91 33 15 99 3 95 69 33 21 39
+ 83 27 17 7}
+
+do_execsql_test 1.19.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.19.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.19.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+ ORDER BY 1
+} {1 1 10 11 11 12 12 12 13 13 14 15 15 15 16 16
+ 16 17 19 2 2 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 3 3 30 30 30 31 31 32 33 33
+ 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38
+ 38 39 39 39 4 40 41 41 42 43 43 44 44 46 46
+ 47 47 47 47 49 5 50 51 52 53 54 55 55 56 56
+ 56 57 58 58 58 58 59 59 59 59 6 60 61 61 62
+ 62 63 64 65 65 65 66 67 68 69 7 7 7 70 72 72
+ 72 73 73 73 74 74 74 75 75 75 76 77 77 78 78
+ 79 8 8 8 80 80 81 81 81 82 83 84 84 84 84 85
+ 85 85 86 87 87 88 89 89 89 9 9 9 90 90 90 91
+ 91 91 91 91 93 93 93 94 95 95 95 96 96 96 97
+ 97 98 98 99 99}
+
+do_execsql_test 1.19.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+} {191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 191 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 189 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 188 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 3.69.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 69.52.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 52.50.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 50.10.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 10.33.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 33.39.58.38.83.82.7 13 33.39.58.38.83.82.7 12 39.58.38.83.82.7
+ 11 39.58.38.83.82.7 10 58.38.83.82.7 9 58.38.83.82.7 8 38.83.82.7
+ 7 38.83.82.7 6 83.82.7 5 83.82.7}
+
+do_execsql_test 1.19.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+} {191 {} 191 {} 191 {} 191 {} 191 {} 190 {} 189 {} 188 {}
+ 187 {} 186 {} 185 {} 184 {} 183 {} 182 {} 181 {} 180 {}
+ 179 {} 178 {} 177 {} 176 {} 175 {} 174 {} 173 {} 172 {}
+ 171 {} 170 {} 169 {} 168 {} 167 {} 166 {} 165 {} 164 {}
+ 163 {} 162 {} 161 {} 160 {} 159 {} 158 {} 157 {} 156 {}
+ 155 {} 154 {} 153 {} 152 {} 151 {} 150 {} 149 {} 148 {}
+ 147 {} 146 {} 145 {} 144 {} 143 {} 142 {} 141 {} 140 {}
+ 139 {} 138 {} 137 {} 136 {} 135 {} 134 {} 133 {} 132 {}
+ 131 {} 130 {} 129 {} 128 {} 127 {} 126 {} 125 {} 124 {}
+ 123 {} 122 {} 121 {} 120 {} 119 {} 118 {} 117 {} 116 {}
+ 115 {} 114 {} 113 {} 112 {} 111 {} 110 {} 109 {} 108 {}
+ 107 {} 106 {} 105 {} 104 {} 103 {} 102 {} 101 {} 100 {}
+ 99 {} 98 {} 97 {} 96 {} 95 {} 94 {} 93 {} 92 {} 91 {}
+ 90 {} 89 {} 88 {} 87 {} 86 {} 85 {} 84 {} 83 {} 82 {}
+ 81 {} 80 {} 79 {} 78 {} 77 {} 76 {} 75 {} 74 {} 73 {}
+ 72 {} 71 {} 70 {} 69 {} 68 {} 67 {} 66 {} 65 {} 64 {}
+ 63 {} 62 {} 61 {} 60 {} 59 {} 58 {} 57 {} 56 {} 55 {}
+ 54 {} 53 {} 52 {} 51 {} 50 {} 49 {} 48 {} 47 {} 46 {}
+ 45 {} 44 {} 43 {} 42 {} 41 {} 40 {} 39 {} 38 {} 37 {}
+ 36 {} 35 {} 34 {} 33 {} 32 {} 31 {} 30 {} 29 {} 28 {}
+ 27 {} 26 {} 25 {} 24 {} 23 {} 22 {} 21 {} 20 {} 19 {}
+ 18 {} 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {}
+ 9 {} 8 {} 7 {} 6 {} 5 {}}
+
+do_execsql_test 1.19.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+} {20 {} 20 {} 20 {} 20 {} 20 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {} 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {}
+ 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {}
+ 5 {}}
+
+do_execsql_test 1.19.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE TIES)
+} {20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 20 89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 18 29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 17 47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 16 59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 14 75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 13 78.72.98.87.73.96.74.90.75.91.69.39.7
+ 12 72.98.87.73.96.74.90.75.91.69.39.7 11 98.87.73.96.74.90.75.91.69.39.7
+ 10 87.73.96.74.90.75.91.69.39.7 9 73.96.74.90.75.91.69.39.7
+ 8 96.74.90.75.91.69.39.7 7 74.90.75.91.69.39.7 6 90.75.91.69.39.7
+ 5 75.91.69.39.7 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 19 96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 17 84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 16 86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 15 32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 14 25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 13 89.29.9.21.12.88.55.70.58.81.91.52.58
+ 12 29.9.21.12.88.55.70.58.81.91.52.58 11 9.21.12.88.55.70.58.81.91.52.58
+ 10 21.12.88.55.70.58.81.91.52.58 9 12.88.55.70.58.81.91.52.58
+ 8 88.55.70.58.81.91.52.58 7 55.70.58.81.91.52.58 6 70.58.81.91.52.58
+ 5 58.81.91.52.58 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 19 38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 17 23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 16 61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 15 3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 14 1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 13 76.63.73.65.20.8.77.19.9.23.15.50.38
+ 12 63.73.65.20.8.77.19.9.23.15.50.38 11 73.65.20.8.77.19.9.23.15.50.38
+ 10 65.20.8.77.19.9.23.15.50.38 9 20.8.77.19.9.23.15.50.38
+ 8 8.77.19.9.23.15.50.38 7 77.19.9.23.15.50.38 6 19.9.23.15.50.38
+ 5 9.23.15.50.38 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 19 39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 17 16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 16 85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 15 22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 14 40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 13 4.87.65.5.31.49.2.26.72.13.36.10.83
+ 12 87.65.5.31.49.2.26.72.13.36.10.83 11 65.5.31.49.2.26.72.13.36.10.83
+ 10 5.31.49.2.26.72.13.36.10.83 9 31.49.2.26.72.13.36.10.83
+ 8 49.2.26.72.13.36.10.83 7 2.26.72.13.36.10.83 6 26.72.13.36.10.83
+ 5 72.13.36.10.83 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {} 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 19 91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 17 65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 16 85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 15 55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 14 56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 13 42.80.58.11.95.90.85.47.33.14.3.33.82
+ 12 80.58.11.95.90.85.47.33.14.3.33.82 11 58.11.95.90.85.47.33.14.3.33.82
+ 10 11.95.90.85.47.33.14.3.33.82 9 95.90.85.47.33.14.3.33.82
+ 8 90.85.47.33.14.3.33.82 7 85.47.33.14.3.33.82 6 47.33.14.3.33.82
+ 5 33.14.3.33.82 19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {}
+ 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {}
+ 6 {} 5 {}}
+
+do_execsql_test 1.20.2.1 {
+ SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
+ 99 99 95 99 99 99 99 95 95 84 84 84 84 84 84
+ 84 84 83 83 83 83 82 83 83 83 83}
+
+do_execsql_test 1.20.2.2 {
+ SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1
+ 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 7 3 3
+ 3 3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 17}
+
+do_execsql_test 1.20.3.1 {
+ SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.20.3.2 {
+ SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.20.3.3 {
+ SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.20.4.1 {
+ SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.20.4.2 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.20.4.3 {
+ SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 2 2 3 3 4 5 6 7 7 7 8 8 8 9 9 9 10
+ 11 11 12 12 12 13 13 14 15 15 15 16 16 16 17
+ 18 19 20 20 21 21 22 22 23 24 25 25 26 26 27
+ 28 28 28 29 29 29 30 30 31 32 32 32 32 33 33
+ 33 33 34 34 35 35 35 35 36 36 37 37 38 38 38
+ 39 40 40 41 42 42 43 43 44 44 45 45 45 45 46
+ 47 48 49 50 51 52 52 53 53 53 54 55 55 55 55
+ 56 56 56 56 57 58 58 59 59 60 61 62 62 62 63
+ 64 65 66 67 68 68 68 69 69 69 70 70 70 71 71
+ 71 72 73 73 74 74 75 76 76 77 77 77 78 79 80
+ 80 80 80 81 81 81 82 83 83 84 85 85 85 86 86
+ 86 87 87 87 87 87 88 88 88 89 90 90 90 91 91
+ 91 92 92 93 93 94 94}
+
+do_execsql_test 1.20.4.4 {
+ SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 3 3 4 5 6 7 8 8 9 9 9 1 1 2 2 3
+ 3 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 1 1 2
+ 2 2 3 3 4 5 6 7 7 8 8 8 9 1 1 2 2 3 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 10 10 10 1 2 3
+ 4 4 4 4 5 5 6 7 8 8 8 9 9 9 9 10 1 2 2
+ 2 3 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 1
+ 2 2 2 3 3 4 4 4 4 5 5 6 6 6 7 8 9 10 10
+ 10 1 1 1 2 3 3 4 4 5 5 5 5 6 7 8 8 9 9
+ 10 10 1 1 1 2 3 3 4 4 4 4 5 6 6 7 8 8 1
+ 1 1 2 3 3 3 4 4 4 5 6 6 6 6 7 8 9 9 9
+ 10 10}
+
+do_execsql_test 1.20.4.5 {
+ SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
+ 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
+ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10}
+
+do_execsql_test 1.20.4.6 {
+ SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5
+ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
+ 5}
+
+do_execsql_test 1.20.5.1 {
+ SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
+ 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
+ 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+ 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+ 107 108 109 110 111 112 113 114 115 116 117 118 119
+ 120 121 122 123 124 125 126 127 128 129 130 131 132
+ 133 134 135 136 137 138 139 140 141 142 143 144 145
+ 146 147 148 149 150 151 152 153 154 155 156 157 158
+ 159 160 161 162 163 164 165 166 167 168 169 170 171
+ 172 173 174 175 176 177 178 179 180 181 182 183 184
+ 185 186 187 188 189 190 191}
+
+do_execsql_test 1.20.5.2 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4
+ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 1 2 3 4 5 6 7 8 9 10 11 12 13
+ 14 15 16 17 18 19 1 2 3 4 5 6 7 8 9 10 11
+ 12 13 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7
+ 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2
+ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+ 18 19 20 21 22}
+
+do_execsql_test 1.20.5.3 {
+ SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 3 3 5 5 7 8 9 10 10 10 13 13 13 16 16
+ 16 19 20 20 22 22 22 25 25 27 28 28 28 31 31
+ 31 34 35 36 37 37 39 39 41 41 43 44 45 45 47
+ 47 49 50 50 50 53 53 53 56 56 58 59 59 59 59
+ 63 63 63 63 67 67 69 69 69 69 73 73 75 75 77
+ 77 77 80 81 81 83 84 84 86 86 88 88 90 90 90
+ 90 94 95 96 97 98 99 100 100 102 102 102 105 106
+ 106 106 106 110 110 110 110 114 115 115 117 117 119
+ 120 121 121 121 124 125 126 127 128 129 129 129 132
+ 132 132 135 135 135 138 138 138 141 142 142 144 144
+ 146 147 147 149 149 149 152 153 154 154 154 154 158
+ 158 158 161 162 162 164 165 165 165 168 168 168 171
+ 171 171 171 171 176 176 176 179 180 180 180 183 183
+ 183 186 186 188 188 190 190}
+
+do_execsql_test 1.20.5.4 {
+ SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 3 3 6 7 8 9 10 10 12 12 12 1 1 3 3
+ 5 5 7 7 9 9 11 12 12 14 14 14 17 17 17 17
+ 17 1 1 3 3 3 6 6 8 9 10 11 11 13 13 13 16
+ 1 1 3 3 5 5 7 7 7 7 11 11 13 14 15 15 15
+ 18 19 19 19 1 2 3 4 4 4 4 8 8 10 11 12 12
+ 12 15 15 15 15 19 1 2 2 2 5 6 6 8 8 10 10
+ 10 13 13 13 16 16 16 19 19 19 1 2 2 2 5 5 7
+ 7 7 7 11 11 13 13 13 16 17 18 19 19 19 1 1
+ 1 4 5 5 7 7 9 9 9 9 13 14 15 15 17 17 19
+ 19 1 1 1 4 5 5 7 7 7 7 11 12 12 14 15 15
+ 1 1 1 4 5 5 5 8 8 8 11 12 12 12 12 16 17
+ 18 18 18 21 21}
+
+do_execsql_test 1.20.5.5 {
+ SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
+ 15 15 36 36 36 36 36 36 36 36 36 36 36 36 36
+ 36 36 36 52 52 52 52 52 52 52 52 52 52 52 52
+ 52 52 52 52 52 52 52 52 52 73 73 73 73 73 73
+ 73 73 73 73 73 73 73 73 73 73 73 73 73 92 92
+ 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
+ 92 92 92 92 113 113 113 113 113 113 113 113 113
+ 113 113 113 113 113 113 113 113 113 113 113 113 134
+ 134 134 134 134 134 134 134 134 134 134 134 134 134
+ 134 134 134 134 134 134 154 154 154 154 154 154 154
+ 154 154 154 154 154 154 154 154 154 170 170 170 170
+ 170 170 170 170 170 170 170 170 170 170 170 170 170
+ 170 170 170 170 170}
+
+do_execsql_test 1.20.5.6 {
+ SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 15 15 15
+ 15 15 15 15 15 15 15 15 15 15 15 15 31 31 31
+ 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31
+ 31 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+ 50 50 50 50 50 50 50 71 71 71 71 71 71 71 71
+ 71 71 71 71 71 71 71 71 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
+ 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43
+ 43 43 43 43 43 43 64 64 64 64 64 64 64 64 64
+ 64 64 64 64 64 64 64 64 64 64 64 84 84 84 84
+ 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84
+ 84 84 84}
+
+do_execsql_test 1.20.6.1 {
+ SELECT
+ row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ),
+ rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ),
+ dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP )
+ FROM t2
+} {1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1
+ 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 15 2 16 15 2 17 15 2
+ 18 15 2 19 15 2 20 15 2 21 15 2 22 15 2 23 15 2 24 15 2
+ 25 15 2 26 15 2 27 15 2 28 15 2 29 15 2 30 15 2 31 31 3
+ 32 31 3 33 31 3 34 31 3 35 31 3 36 31 3 37 31 3 38 31 3
+ 39 31 3 40 31 3 41 31 3 42 31 3 43 31 3 44 31 3 45 31 3
+ 46 31 3 47 31 3 48 31 3 49 31 3 50 50 4 51 50 4 52 50 4
+ 53 50 4 54 50 4 55 50 4 56 50 4 57 50 4 58 50 4 59 50 4
+ 60 50 4 61 50 4 62 50 4 63 50 4 64 50 4 65 50 4 66 50 4
+ 67 50 4 68 50 4 69 50 4 70 50 4 71 71 5 72 71 5 73 71 5
+ 74 71 5 75 71 5 76 71 5 77 71 5 78 71 5 79 71 5 80 71 5
+ 81 71 5 82 71 5 83 71 5 84 71 5 85 71 5 86 71 5 1 1 1 2 1 1
+ 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1
+ 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1
+ 20 1 1 21 1 1 22 22 2 23 22 2 24 22 2 25 22 2 26 22 2 27 22 2
+ 28 22 2 29 22 2 30 22 2 31 22 2 32 22 2 33 22 2 34 22 2
+ 35 22 2 36 22 2 37 22 2 38 22 2 39 22 2 40 22 2 41 22 2
+ 42 22 2 43 43 3 44 43 3 45 43 3 46 43 3 47 43 3 48 43 3
+ 49 43 3 50 43 3 51 43 3 52 43 3 53 43 3 54 43 3 55 43 3
+ 56 43 3 57 43 3 58 43 3 59 43 3 60 43 3 61 43 3 62 43 3
+ 63 43 3 64 64 4 65 64 4 66 64 4 67 64 4 68 64 4 69 64 4
+ 70 64 4 71 64 4 72 64 4 73 64 4 74 64 4 75 64 4 76 64 4
+ 77 64 4 78 64 4 79 64 4 80 64 4 81 64 4 82 64 4 83 64 4
+ 84 84 5 85 84 5 86 84 5 87 84 5 88 84 5 89 84 5 90 84 5
+ 91 84 5 92 84 5 93 84 5 94 84 5 95 84 5 96 84 5 97 84 5
+ 98 84 5 99 84 5 100 84 5 101 84 5 102 84 5 103 84 5 104 84 5
+ 105 84 5}
+
+
+do_test 1.20.7.1 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0053 0.0105 0.0158 0.0211 0.0263 0.0316 0.0368 0.0421 0.0474 0.0526 0.0579 0.0632 0.0684 0.0737 0.0789 0.0842 0.0895 0.0947 0.1000 0.1053 0.1105 0.1158 0.1211 0.1263 0.1316 0.1368 0.1421 0.1474 0.1526 0.1579 0.1632 0.1684 0.1737 0.1789 0.1842 0.1895 0.1947 0.2000 0.2053 0.2105 0.2158 0.2211 0.2263 0.2316 0.2368 0.2421 0.2474 0.2526 0.2579 0.2632 0.2684 0.2737 0.2789 0.2842 0.2895 0.2947 0.3000 0.3053 0.3105 0.3158 0.3211 0.3263 0.3316 0.3368 0.3421 0.3474 0.3526 0.3579 0.3632 0.3684 0.3737 0.3789 0.3842 0.3895 0.3947 0.4000 0.4053 0.4105 0.4158 0.4211 0.4263 0.4316 0.4368 0.4421 0.4474 0.4526 0.4579 0.4632 0.4684 0.4737 0.4789 0.4842 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5263 0.5316 0.5368 0.5421 0.5474 0.5526 0.5579 0.5632 0.5684 0.5737 0.5789 0.5842 0.5895 0.5947 0.6000 0.6053 0.6105 0.6158 0.6211 0.6263 0.6316 0.6368 0.6421 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6789 0.6842 0.6895 0.6947 0.7000 0.7053 0.7105 0.7158 0.7211 0.7263 0.7316 0.7368 0.7421 0.7474 0.7526 0.7579 0.7632 0.7684 0.7737 0.7789 0.7842 0.7895 0.7947 0.8000 0.8053 0.8105 0.8158 0.8211 0.8263 0.8316 0.8368 0.8421 0.8474 0.8526 0.8579 0.8632 0.8684 0.8737 0.8789 0.8842 0.8895 0.8947 0.9000 0.9053 0.9105 0.9158 0.9211 0.9263 0.9316 0.9368 0.9421 0.9474 0.9526 0.9579 0.9632 0.9684 0.9737 0.9789 0.9842 0.9895 0.9947 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.7.2 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0000 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1.0000 0.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.7.3 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0105 0.0105 0.0211 0.0211 0.0316 0.0368 0.0421 0.0474 0.0474 0.0474 0.0632 0.0632 0.0632 0.0789 0.0789 0.0789 0.0947 0.1000 0.1000 0.1105 0.1105 0.1105 0.1263 0.1263 0.1368 0.1421 0.1421 0.1421 0.1579 0.1579 0.1579 0.1737 0.1789 0.1842 0.1895 0.1895 0.2000 0.2000 0.2105 0.2105 0.2211 0.2263 0.2316 0.2316 0.2421 0.2421 0.2526 0.2579 0.2579 0.2579 0.2737 0.2737 0.2737 0.2895 0.2895 0.3000 0.3053 0.3053 0.3053 0.3053 0.3263 0.3263 0.3263 0.3263 0.3474 0.3474 0.3579 0.3579 0.3579 0.3579 0.3789 0.3789 0.3895 0.3895 0.4000 0.4000 0.4000 0.4158 0.4211 0.4211 0.4316 0.4368 0.4368 0.4474 0.4474 0.4579 0.4579 0.4684 0.4684 0.4684 0.4684 0.4895 0.4947 0.5000 0.5053 0.5105 0.5158 0.5211 0.5211 0.5316 0.5316 0.5316 0.5474 0.5526 0.5526 0.5526 0.5526 0.5737 0.5737 0.5737 0.5737 0.5947 0.6000 0.6000 0.6105 0.6105 0.6211 0.6263 0.6316 0.6316 0.6316 0.6474 0.6526 0.6579 0.6632 0.6684 0.6737 0.6737 0.6737 0.6895 0.6895 0.6895 0.7053 0.7053 0.7053 0.7211 0.7211 0.7211 0.7368 0.7421 0.7421 0.7526 0.7526 0.7632 0.7684 0.7684 0.7789 0.7789 0.7789 0.7947 0.8000 0.8053 0.8053 0.8053 0.8053 0.8263 0.8263 0.8263 0.8421 0.8474 0.8474 0.8579 0.8632 0.8632 0.8632 0.8789 0.8789 0.8789 0.8947 0.8947 0.8947 0.8947 0.8947 0.9211 0.9211 0.9211 0.9368 0.9421 0.9421 0.9421 0.9579 0.9579 0.9579 0.9737 0.9737 0.9842 0.9842 0.9947 0.9947}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.7.4 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0769 0.1538 0.1538 0.1538 0.3846 0.4615 0.5385 0.6154 0.6923 0.6923 0.8462 0.8462 0.8462 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5500 0.5500 0.6500 0.6500 0.6500 0.8000 0.8000 0.8000 0.8000 0.8000 0.0000 0.0000 0.1333 0.1333 0.1333 0.3333 0.3333 0.4667 0.5333 0.6000 0.6667 0.6667 0.8000 0.8000 0.8000 1.0000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6500 0.7000 0.7000 0.7000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0556 0.1111 0.1667 0.1667 0.1667 0.1667 0.3889 0.3889 0.5000 0.5556 0.6111 0.6111 0.6111 0.7778 0.7778 0.7778 0.7778 1.0000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2500 0.2500 0.3500 0.3500 0.4500 0.4500 0.4500 0.6000 0.6000 0.6000 0.7500 0.7500 0.7500 0.9000 0.9000 0.9000 0.0000 0.0500 0.0500 0.0500 0.2000 0.2000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.6000 0.6000 0.6000 0.7500 0.8000 0.8500 0.9000 0.9000 0.9000 0.0000 0.0000 0.0000 0.1579 0.2105 0.2105 0.3158 0.3158 0.4211 0.4211 0.4211 0.4211 0.6316 0.6842 0.7368 0.7368 0.8421 0.8421 0.9474 0.9474 0.0000 0.0000 0.0000 0.2000 0.2667 0.2667 0.4000 0.4000 0.4000 0.4000 0.6667 0.7333 0.7333 0.8667 0.9333 0.9333 0.0000 0.0000 0.0000 0.1429 0.1905 0.1905 0.1905 0.3333 0.3333 0.3333 0.4762 0.5238 0.5238 0.5238 0.5238 0.7143 0.7619 0.8095 0.8095 0.8095 0.9524 0.9524}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.7.5 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.1842 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.2684 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.3789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.4789 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.5895 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8053 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895 0.8895}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.7.6 {
+ set myres {}
+ foreach r [db eval {SELECT percent_rank() OVER (PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.1647 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.3529 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.5765 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.8235 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.2019 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.4038 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.6058 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981 0.7981}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0052 0.0105 0.0157 0.0209 0.0262 0.0314 0.0366 0.0419 0.0471 0.0524 0.0576 0.0628 0.0681 0.0733 0.0785 0.0838 0.0890 0.0942 0.0995 0.1047 0.1099 0.1152 0.1204 0.1257 0.1309 0.1361 0.1414 0.1466 0.1518 0.1571 0.1623 0.1675 0.1728 0.1780 0.1832 0.1885 0.1937 0.1990 0.2042 0.2094 0.2147 0.2199 0.2251 0.2304 0.2356 0.2408 0.2461 0.2513 0.2565 0.2618 0.2670 0.2723 0.2775 0.2827 0.2880 0.2932 0.2984 0.3037 0.3089 0.3141 0.3194 0.3246 0.3298 0.3351 0.3403 0.3455 0.3508 0.3560 0.3613 0.3665 0.3717 0.3770 0.3822 0.3874 0.3927 0.3979 0.4031 0.4084 0.4136 0.4188 0.4241 0.4293 0.4346 0.4398 0.4450 0.4503 0.4555 0.4607 0.4660 0.4712 0.4764 0.4817 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5236 0.5288 0.5340 0.5393 0.5445 0.5497 0.5550 0.5602 0.5654 0.5707 0.5759 0.5812 0.5864 0.5916 0.5969 0.6021 0.6073 0.6126 0.6178 0.6230 0.6283 0.6335 0.6387 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6754 0.6806 0.6859 0.6911 0.6963 0.7016 0.7068 0.7120 0.7173 0.7225 0.7277 0.7330 0.7382 0.7435 0.7487 0.7539 0.7592 0.7644 0.7696 0.7749 0.7801 0.7853 0.7906 0.7958 0.8010 0.8063 0.8115 0.8168 0.8220 0.8272 0.8325 0.8377 0.8429 0.8482 0.8534 0.8586 0.8639 0.8691 0.8743 0.8796 0.8848 0.8901 0.8953 0.9005 0.9058 0.9110 0.9162 0.9215 0.9267 0.9319 0.9372 0.9424 0.9476 0.9529 0.9581 0.9634 0.9686 0.9738 0.9791 0.9843 0.9895 0.9948 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0476 0.0952 0.1429 0.1905 0.2381 0.2857 0.3333 0.3810 0.4286 0.4762 0.5238 0.5714 0.6190 0.6667 0.7143 0.7619 0.8095 0.8571 0.9048 0.9524 1.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000 0.0455 0.0909 0.1364 0.1818 0.2273 0.2727 0.3182 0.3636 0.4091 0.4545 0.5000 0.5455 0.5909 0.6364 0.6818 0.7273 0.7727 0.8182 0.8636 0.9091 0.9545 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0105 0.0105 0.0209 0.0209 0.0314 0.0314 0.0366 0.0419 0.0471 0.0628 0.0628 0.0628 0.0785 0.0785 0.0785 0.0942 0.0942 0.0942 0.0995 0.1099 0.1099 0.1257 0.1257 0.1257 0.1361 0.1361 0.1414 0.1571 0.1571 0.1571 0.1728 0.1728 0.1728 0.1780 0.1832 0.1885 0.1990 0.1990 0.2094 0.2094 0.2199 0.2199 0.2251 0.2304 0.2408 0.2408 0.2513 0.2513 0.2565 0.2723 0.2723 0.2723 0.2880 0.2880 0.2880 0.2984 0.2984 0.3037 0.3246 0.3246 0.3246 0.3246 0.3455 0.3455 0.3455 0.3455 0.3560 0.3560 0.3770 0.3770 0.3770 0.3770 0.3874 0.3874 0.3979 0.3979 0.4136 0.4136 0.4136 0.4188 0.4293 0.4293 0.4346 0.4450 0.4450 0.4555 0.4555 0.4660 0.4660 0.4869 0.4869 0.4869 0.4869 0.4921 0.4974 0.5026 0.5079 0.5131 0.5183 0.5288 0.5288 0.5445 0.5445 0.5445 0.5497 0.5707 0.5707 0.5707 0.5707 0.5916 0.5916 0.5916 0.5916 0.5969 0.6073 0.6073 0.6178 0.6178 0.6230 0.6283 0.6440 0.6440 0.6440 0.6492 0.6545 0.6597 0.6649 0.6702 0.6859 0.6859 0.6859 0.7016 0.7016 0.7016 0.7173 0.7173 0.7173 0.7330 0.7330 0.7330 0.7382 0.7487 0.7487 0.7592 0.7592 0.7644 0.7749 0.7749 0.7906 0.7906 0.7906 0.7958 0.8010 0.8220 0.8220 0.8220 0.8220 0.8377 0.8377 0.8377 0.8429 0.8534 0.8534 0.8586 0.8743 0.8743 0.8743 0.8901 0.8901 0.8901 0.9162 0.9162 0.9162 0.9162 0.9162 0.9319 0.9319 0.9319 0.9372 0.9529 0.9529 0.9529 0.9686 0.9686 0.9686 0.9791 0.9791 0.9895 0.9895 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0714 0.1429 0.3571 0.3571 0.3571 0.4286 0.5000 0.5714 0.6429 0.7857 0.7857 1.0000 1.0000 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.3810 0.3810 0.4762 0.4762 0.5238 0.6190 0.6190 0.7619 0.7619 0.7619 1.0000 1.0000 1.0000 1.0000 1.0000 0.1250 0.1250 0.3125 0.3125 0.3125 0.4375 0.4375 0.5000 0.5625 0.6250 0.7500 0.7500 0.9375 0.9375 0.9375 1.0000 0.0952 0.0952 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.6190 0.6667 0.8095 0.8095 0.8095 0.8571 1.0000 1.0000 1.0000 0.0526 0.1053 0.1579 0.3684 0.3684 0.3684 0.3684 0.4737 0.4737 0.5263 0.5789 0.7368 0.7368 0.7368 0.9474 0.9474 0.9474 0.9474 1.0000 0.0476 0.1905 0.1905 0.1905 0.2381 0.3333 0.3333 0.4286 0.4286 0.5714 0.5714 0.5714 0.7143 0.7143 0.7143 0.8571 0.8571 0.8571 1.0000 1.0000 1.0000 0.0476 0.1905 0.1905 0.1905 0.2857 0.2857 0.4762 0.4762 0.4762 0.4762 0.5714 0.5714 0.7143 0.7143 0.7143 0.7619 0.8095 0.8571 1.0000 1.0000 1.0000 0.1500 0.1500 0.1500 0.2000 0.3000 0.3000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6500 0.7000 0.8000 0.8000 0.9000 0.9000 1.0000 1.0000 0.1875 0.1875 0.1875 0.2500 0.3750 0.3750 0.6250 0.6250 0.6250 0.6250 0.6875 0.8125 0.8125 0.8750 1.0000 1.0000 0.1364 0.1364 0.1364 0.1818 0.3182 0.3182 0.3182 0.4545 0.4545 0.4545 0.5000 0.6818 0.6818 0.6818 0.6818 0.7273 0.7727 0.9091 0.9091 0.9091 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.1832 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.2670 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.3770 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.4764 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.5864 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.6963 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8010 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 0.8848 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT cume_dist() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.1628 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.3488 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.5698 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 0.8140 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 0.7905 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.1 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(100) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 90.0000 91.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.2 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(101) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.3 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(102) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 88.0000 89.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.4 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(103) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.5 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(104) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.6 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+
+do_test 1.20.8.7 {
+ set myres {}
+ foreach r [db eval {SELECT ntile(105) OVER ( ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1.0000 1.0000 2.0000 2.0000 3.0000 3.0000 4.0000 4.0000 5.0000 5.0000 6.0000 6.0000 7.0000 7.0000 8.0000 8.0000 9.0000 9.0000 10.0000 10.0000 11.0000 11.0000 12.0000 12.0000 13.0000 13.0000 14.0000 14.0000 15.0000 15.0000 16.0000 16.0000 17.0000 17.0000 18.0000 18.0000 19.0000 19.0000 20.0000 20.0000 21.0000 21.0000 22.0000 22.0000 23.0000 23.0000 24.0000 24.0000 25.0000 25.0000 26.0000 26.0000 27.0000 27.0000 28.0000 28.0000 29.0000 29.0000 30.0000 30.0000 31.0000 31.0000 32.0000 32.0000 33.0000 33.0000 34.0000 34.0000 35.0000 35.0000 36.0000 36.0000 37.0000 37.0000 38.0000 38.0000 39.0000 39.0000 40.0000 40.0000 41.0000 41.0000 42.0000 42.0000 43.0000 43.0000 44.0000 44.0000 45.0000 45.0000 46.0000 46.0000 47.0000 47.0000 48.0000 48.0000 49.0000 49.0000 50.0000 50.0000 51.0000 51.0000 52.0000 52.0000 53.0000 53.0000 54.0000 54.0000 55.0000 55.0000 56.0000 56.0000 57.0000 57.0000 58.0000 58.0000 59.0000 59.0000 60.0000 60.0000 61.0000 61.0000 62.0000 62.0000 63.0000 63.0000 64.0000 64.0000 65.0000 65.0000 66.0000 66.0000 67.0000 67.0000 68.0000 68.0000 69.0000 69.0000 70.0000 70.0000 71.0000 71.0000 72.0000 72.0000 73.0000 73.0000 74.0000 74.0000 75.0000 75.0000 76.0000 76.0000 77.0000 77.0000 78.0000 78.0000 79.0000 79.0000 80.0000 80.0000 81.0000 81.0000 82.0000 82.0000 83.0000 83.0000 84.0000 84.0000 85.0000 85.0000 86.0000 86.0000 87.0000 88.0000 89.0000 90.0000 91.0000 92.0000 93.0000 94.0000 95.0000 96.0000 97.0000 98.0000 99.0000 100.0000 101.0000 102.0000 103.0000 104.0000 105.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 1.20.9.1 {
+ SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 216}
+
+do_execsql_test 1.20.9.2 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {223 223 223 223 223 223 223 223 223 223 223 223 223
+ 196 210 210 210 210 210 210 210 210 210 210 210 210
+ 210 210 210 210 210 210 210 210 263 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 234 279
+ 279 279 279 279 279 279 279 279 279 279 279 279 279
+ 279 279 279 279 279 279 221 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 235
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 189 212 212 212 212 212
+ 212 212 212 212 212 212 212 212 212 212 212 212 212
+ 212 212 207 207 207 207 207 207 207 207 207 207 207
+ 207 207 207 207 207 207 207 207 207 216 232 232 232
+ 232 232 232 232 232 232 232 232 232 232 232 232 250
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 249}
+
+do_execsql_test 1.20.9.3 {
+ SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 120}
+
+do_execsql_test 1.20.9.4 {
+ SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {240 240 240 240 240 240 240 240 240 240 240 240 240
+ 218 263 263 263 263 263 263 263 263 263 263 263 263
+ 263 263 263 263 263 263 263 263 261 280 280 280 280
+ 280 280 280 280 280 280 280 280 280 280 280 228 252
+ 252 252 252 252 252 252 252 252 252 252 252 252 252
+ 252 252 252 252 252 252 130 171 171 171 171 171 171
+ 171 171 171 171 171 171 171 171 171 171 171 171 271
+ 274 274 274 274 274 274 274 274 274 274 274 274 274
+ 274 274 274 274 274 274 274 213 226 226 226 226 226
+ 226 226 226 226 226 226 226 226 226 226 226 226 226
+ 226 226 195 124 124 124 124 124 124 124 124 124 124
+ 124 124 124 124 124 124 124 124 124 119 198 198 198
+ 198 198 198 198 198 198 198 198 198 198 198 198 171
+ 276 276 276 276 276 276 276 276 276 276 276 276 276
+ 276 276 276 276 276 276 276 276 120}
+
+do_execsql_test 1.20.9.5 {
+ SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 229 229 229 229 229
+ 229 229 229 229 229 229 229 229 249}
+
+do_execsql_test 1.20.9.6 {
+ SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.10.1 {
+ SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {98 9 73 75 43 78 32 4 5 25 27 15 31 24 43 98
+ 94 79 77 61 22 79 8 73 3 85 43 34 98 36 63 91
+ 11 20 21 75 90 56 96 84 5 28 33 5 56 59 81 19
+ 87 36 2 26 63 73 89 95 74 73 79 29 70 65 33
+ 14 26 47 94 14 15 5 72 41 11 75 19 53 91 79
+ 37 91 93 59 58 36 23 84 33 73 47 58 34 58 73
+ 15 13 7 11 99 31 66 38 80 79 95 60 59 19 59
+ {} 85 39 27 {} 9 59 75 91 33 {} 84 {} 33 50
+ {} {} 36 77 29 {} 30 {} 12 {} 17 75 58 62 91
+ 58 {} {} 50 {} 27 75 {} {} {} 33 {} {} {} {}
+ 62 50 17 36 36 95 {} {} {} {} {} 10 {} {} {}
+ 99 {} {} {} {} {} {} {} 30 {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.10.2 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 61 {} {} {} 81 {} 91 {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 22 {} {} {} 12
+ {} {} {} {} {} {} {} {} {} {} 43 {} {} {} {}
+ {} 83 {} {} {} {} {} {} {} 33 {} {} {} {} {}
+ {} 94 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 85 {} {} {} {} {} {} 95 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 66 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 87 {} {} {} {} {} 37 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} 58 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 19 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.10.3 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {2 2 2 2 2 3 5 7 7 8 8 9 9 10 11 12 12 12
+ 13 15 15 16 16 16 19 20 21 22 23 23 25 26 26
+ 27 29 30 30 31 32 33 33 33 34 34 35 36 36 36
+ 37 38 39 39 40 41 41 43 43 44 46 47 47 47 49
+ 50 51 52 54 55 56 56 56 57 58 58 59 59 59 60
+ 61 62 63 64 65 66 67 69 70 72 73 73 74 74 74
+ 75 77 78 79 80 81 82 83 84 84 84 85 86 87 87
+ 88 89 89 90 90 91 91 91 93 93 94 95 96 96 96
+ 97 98 99 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.10.4 {
+ SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {90 {} {} {} {} {} {} {} {} {} {} {} {} {} 11
+ 11 61 61 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 72 72 {} {} {} {} {}
+ {} {} {} {} {} {} 23 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 85 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 86 86 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 47 47
+ 47 97 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 58 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 49 49 49 99 {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.10.5 {
+ SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {65 72 81 34 41 35 73 74 14 15 32 53 1 2 35 5
+ 74 95 55 61 75 63 34 81 12 91 74 93 43 33 22
+ 75 56 56 23 85 72 23 33 84 22 15 93 73 12 6
+ 46 43 75 75 36 87 54 87 85 43 15 84 85 56 66
+ 83 36 97 85 78 34 94 75 33 65 17 36 68 7 15
+ 94 38 78 27 95 96 36 68 7 15 16 38 89 66 56
+ 38 76 89 89 47 85 56 59 {} 8 88 27 95 16 {}
+ 98 79 39 59 16 {} {} 8 16 98 36 66 {} 99 29
+ 59 97 8 {} {} {} 27 17 8 {} 8 58 {} 98 {} {}
+ {} 29 87 19 {} 89 {} {} 37 {} {} {} 59 59 58
+ 8 99 {} {} 98 29 {} {} {} {} 58 {} 89 {} {}
+ {} {} {} {} {} {} {} {} {} {} {} 19 {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.10.6 {
+ SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.11.1 {
+ SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {81 89 89 89 89 81 96 59 38 68 39 62 91 46 6
+ 99 97 27 46 78 54 97 8 67 29 93 84 77 23 16
+ 16 93 65 35 47 7 86 74 61 91 85 24 85 43 59
+ 12 32 56 3 91 22 90 55 15 28 89 25 47 1 56 40
+ 43 56 16 75 36 89 98 76 81 4 94 42 30 78 33
+ 29 53 63 2 87 37 80 84 72 41 9 61 73 95 65 13
+ 58 96 98 1 21 74 65 35 5 73 11 51 87 41 12 8
+ 20 31 31 15 95 22 73 79 88 34 8 11 49 34 90
+ 59 96 60 55 75 77 44 2 7 85 57 74 29 70 59 19
+ 39 26 26 47 80 90 36 58 47 9 72 72 66 33 93
+ 75 64 81 9 23 37 13 12 14 62 91 36 91 33 15
+ 34 36 99 3 95 69 58 52 30 50 84 10 84 33 21
+ 39 44 58 30 38 34 83}
+
+do_execsql_test 1.20.11.2 {
+ SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {40 90 90 90 90 40 30 80 20 90 60 70 80 90 91
+ 81 81 81 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 12 62 62 62 62 12 32 22 42 2 72
+ 12 22 2 72 72 23 93 93 93 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 84 54 54 54 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 35
+ 65 65 65 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 46 96 96 96 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 27 97 97 97 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 68
+ 38 38 38 38 68 78 8 28 98 78 58 98 8 88 8 59
+ 89 89 89 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.20.11.3 {
+ SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 8 8 8
+ 9 9 9 10 11 11 12 12 12 13 13 14 15 15 15 16
+ 16 16 17 19 20 21 21 22 22 23 23 24 25 26 26
+ 27 27 28 29 29 29 30 30 30 31 31 32 33 33 33
+ 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38
+ 39 39 39 40 41 41 42 43 43 44 44 46 46 47 47
+ 47 47 49 50 51 52 53 54 55 55 56 56 56 57 58
+ 58 58 58 59 59 59 59 60 61 61 62 62 63 64 65
+ 65 65 66 67 68 69 70 72 72 72 73 73 73 74 74
+ 74 75 75 75 76 77 77 78 78 79 80 80 81 81 81
+ 82 83 84 84 84 84 85 85 85 86 87 87 88 89 89
+ 89 90 90 90 91 91 91 91 91 93 93 93 94 95 95
+ 95 96 96 96 97 97}
+
+do_execsql_test 1.20.11.4 {
+ SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {20 10 10 10 10 20 30 30 30 40 50 60 70 80 1 1
+ 1 1 1 1 11 11 21 21 31 31 41 41 51 61 61 81
+ 81 81 91 2 2 2 2 2 2 12 12 12 22 22 32 42
+ 52 62 62 3 3 3 3 3 3 13 13 23 23 33 33 33
+ 33 43 43 53 63 73 73 73 14 4 4 4 4 14 24 34
+ 34 34 34 44 44 54 64 74 74 74 84 15 5 5 5 5
+ 15 15 15 25 35 35 55 55 65 65 65 75 75 75 85
+ 85 16 6 6 6 6 16 16 16 26 26 36 36 36 36 46
+ 46 56 56 56 66 76 7 7 7 7 7 7 7 17 27 27 37
+ 37 47 47 47 47 57 67 77 77 8 8 8 8 8 8 8 28
+ 38 38 58 58 58 58 68 78 9 9 9 9 9 9 9 19 29
+ 29 29 39 39 39 49 59 59 59 59 69 79 89}
+
+do_execsql_test 1.20.11.5 {
+ SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {40 90 90 90 90 40 30 80 20 90 60 70 80 90 30
+ 50 10 30 81 91 61 91 91 1 81 41 61 1 21 11 51
+ 41 31 31 11 81 91 91 21 62 12 32 22 42 2 72
+ 12 22 2 72 72 12 62 52 82 93 23 93 43 3 43 33
+ 53 63 73 13 73 73 33 93 23 13 33 3 33 83 54
+ 84 74 24 4 94 84 74 34 34 44 74 64 14 34 84
+ 84 44 34 65 35 85 85 55 15 25 75 95 65 65 35
+ 5 15 95 55 75 85 75 15 95 96 46 6 46 16 16 86
+ 56 56 56 16 36 76 96 96 26 26 36 66 36 36 97
+ 27 97 67 77 47 7 47 87 37 87 77 7 57 47 47 37
+ 27 17 7 38 68 78 8 28 98 78 58 98 8 88 8 58
+ 58 58 38 89 59 39 99 29 59 89 89 29 9 79 49
+ 59 29 59 19 39 9}
+
+do_execsql_test 1.20.11.6 {
+ SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.12.1 {
+ SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {96 9 11 89 32 53 91 30 51 56 54 73 22 59 75
+ 74 78 8 16 65 15 8 31 87 90 12 32 96 74 76 37
+ 85 90 15 35 2 60 36 75 9 51 47 63 51 90 26 42
+ 26 8 76 80 90 37 87 56 79 5 87 8 2 39 73 64
+ 36 90 72 78 36 73 51 33 20 41 2 26 37 33 8 14
+ 33 81 55 1 9 12 39 64 87 72 34 82 21 34 99 62
+ 74 41 69 22 75 27 58 8 79 77 26 26 55 {} 29
+ 30 7 {} 66 55 2 34 64 {} 33 {} 44 84 {} {} 95
+ 85 19 {} 83 {} 91 {} {} 9 50 91 33 34 {} {}
+ 84 {} 7 9 {} {} {} 44 {} {} {} {} 91 84 {} 95
+ 95 52 {} {} {} {} {} 21 {} {} {} 58 {} {} {}
+ {} {} {} {} 83 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {}}
+
+do_execsql_test 1.20.12.2 {
+ SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 81 {} {} {} 21 {} {} {} {} {} {}
+ {} {} {} {} {} {} 62 {} {} {} 12 {} {} {} 72
+ {} {} {} {} {} {} {} {} {} {} 53 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 34 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} 95 {} {} {} {} {} {} 85 {}
+ {} {} {} {} {} {} {} {} {} 56 {} 36 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 57 {} {} {} {} {} 7 {} {} {} {}
+ {} {} {} {} {} {} 8 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 9 {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.12.3 {
+ SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1 2 3 3 5 6 7 8 8 9 9 10 11 12 12 13 13
+ 14 15 16 16 17 19 20 21 22 23 24 25 26 27 27
+ 28 29 30 31 32 33 33 33 34 34 35 36 36 36 37
+ 38 39 39 40 41 42 43 43 44 46 47 47 47 49 50
+ 52 53 54 55 56 56 57 58 58 58 59 59 59 60 61
+ 62 62 64 65 65 67 69 70 72 72 73 74 74 75 75
+ 75 77 78 80 81 81 83 84 84 85 85 85 87 88 89
+ 89 89 90 90 91 91 91 93 93 94 95 95 96 97 97
+ 98 99 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.12.4 {
+ SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {80 {} {} {} {} {} {} {} {} {} {} {} {} {} 1
+ 11 81 81 {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} 12 12 72 82 {} {} {} {} {} {}
+ {} {} {} {} {} {} 13 23 73 73 {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 34 84 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} 35 85 85 95 {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} 36 86 96 96 {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 37 47
+ 47 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} 58 58 68 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} 39 49 59 {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.12.5 {
+ SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {34 72 91 74 21 55 23 94 84 95 2 13 61 22 55
+ 55 94 85 75 81 65 73 74 21 72 12 94 33 63 73
+ 72 96 36 76 3 25 62 3 73 34 12 46 43 93 72 16
+ 86 63 15 65 36 77 24 57 25 53 95 34 95 16 97
+ 74 97 67 25 98 44 34 65 54 5 68 96 28 47 95
+ 34 39 8 38 6 46 96 28 47 95 56 39 99 97 76 8
+ 26 9 79 27 95 16 29 {} 58 58 77 85 56 {} 98
+ 29 {} 19 96 {} {} 78 56 98 36 97 {} 89 89 29
+ 47 78 {} {} {} 38 68 58 {} 58 38 {} 98 {} {}
+ {} 39 57 9 {} 79 {} {} 7 {} {} {} 9 29 38 78
+ {} {} {} 8 39 {} {} {} {} 59 {} 99 {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 9 {} {} {} {}
+ {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.12.6 {
+ SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.13.1 {
+ SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} 38 {} {} {} {}
+ {} {} {} 6 {} {} {} {} {} 81 46 6 {} {} {} {}
+ 23 {} {} {} {} {} 27 {} {} {} 35 6 {} 12 {}
+ 23 {} {} 61 84 {} 93 39 47 {} 54 46 96 56 {}
+ 16 {} {} {} {} 89 {} 16 43 {} 85 56 29 99 53
+ {} 59 {} {} 91 59 53 84 99 {} 93 63 47 {} {}
+ 98 33 67 35 75 1 23 13 55 27 75 98 35 73 63 2
+ 21 27 13 24 86 23 84 31 20 94 61 65 75 23 36
+ 94 55 90 41 77 96 56 29 40 12 89 63 11 5 73
+ 79 1 16 28 31 73 5 39 53 63 41 11 40 2 13 33
+ 9 29 90 47 72 9 73 30 44 33 74 93 29 74 42 34
+ 63 41 34 96 47 77 1 36 74 72 14 36 26 77 9 72
+ 64 8 91 31 52 30}
+
+do_execsql_test 1.20.13.2 {
+ SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 {} 81 {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} 22 {} {} {} 12
+ {} {} 62 {} {} {} {} {} {} {} 23 {} {} {} {}
+ {} {} {} {} {} {} {} 43 {} 23 {} {} {} {} {}
+ {} 54 {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} 75 {}
+ {} {} {} {} {} 55 {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} 47 {} {} {} {}
+ {} 27 7 {} {} {} {} {} {} {} {} {} 68 {} 8 {}
+ {} {} {} {} {} {} {} {} {} {} {} {} 89 {} {}
+ {} {} {} {} {} 29 9 {} {} {}}
+
+do_execsql_test 1.20.13.3 {
+ SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {{} 1 1 1 1 2 2 2 2 2 2 3 3 3 4 4 5 6 6
+ 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9
+ 9 9 9 10 10 10 10 11 11 11 11 11 12 12 12 12
+ 13 13 13 13 13 14 15 15 15 15 16 16 16 16 16
+ 17 19 20 20 21 21 21 21 22 22 22 22 23 23 23
+ 23 23 24 23 24 24 25 26 26 26 26 26 26 26 26
+ 26 26 26 27 27 27 27 28 29 29 29 29 30 30 30
+ 30 30 30 31 31 31 31 31 32 32 32 32 32 32 31
+ 32 33 33 33 33 33 33 34 34 34 34 34 34 34 34
+ 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37
+ 38 38 38 38 38 38 39 39 39 39 40 40 41 41 42
+ 43 42 43 43 43 43 44 44 44 46 46 46 47 47 47
+ 47 47}
+
+do_execsql_test 1.20.13.4 {
+ SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ 1 {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.13.5 {
+ SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} 30 {} {}
+ {} {} {} {} 91 {} {} {} 61 80 81 {} {} {} {}
+ 1 {} {} {} 30 {} 21 90 61 {} 22 {} 11 41 12
+ {} {} 62 {} {} {} {} 31 {} 50 23 30 21 90 {}
+ {} 62 {} {} 81 {} 22 43 62 23 32 {} 91 {} 90
+ 93 54 {} {} 90 72 12 22 90 81 83 23 80 20 72
+ 43 51 33 80 90 2 34 54 1 20 62 12 13 75 44 30
+ 93 91 1 21 55 61 61 13 85 3 65 65 91 73 33 93
+ 55 84 62 31 11 65 35 85 33 55 15 12 75 22 3
+ 73 65 36 85 43 95 43 13 47 44 65 65 96 36 27
+ 7 46 34 94 47 36 73 34 35 73 68 24 8 75 85 75
+ 66 34 95 36 84 77 46 34 84 47 89 65 36 16 38
+ 76 58 57 29 9 44 56 17}
+
+do_execsql_test 1.20.13.6 {
+ SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.14.1 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.81.96.59.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.96.59.38.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.59.38.68.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.38.68.39.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 38.68.39.62.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 68.39.62.91.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.62.91.46.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.46.6.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.46.6.99.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.6.99.97.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 6.99.97.27.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.97.27.46.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.27.46.78.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 27.46.78.54.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 46.78.54.97.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.54.97.8.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 54.97.8.67.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 97.8.67.29.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.67.29.93.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 67.29.93.84.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.93.84.77.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.84.77.23.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.77.23.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.23.16.16.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.16.16.93.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.16.93.65.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.93.65.35.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.65.35.47.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.47.7.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.47.7.86.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.7.86.74.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.86.74.61.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 86.74.61.91.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.61.91.85.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.91.85.24.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.85.24.85.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.24.85.43.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 24.85.43.59.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.43.59.12.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.59.12.32.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.12.32.56.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.32.56.3.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 32.56.3.91.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.3.91.22.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.91.22.90.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.22.90.55.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.90.55.15.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.55.15.28.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.15.28.89.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.28.89.25.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 28.89.25.47.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.25.47.1.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 25.47.1.56.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.1.56.40.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.56.40.43.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.40.43.56.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 40.43.56.16.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 43.56.16.75.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 56.16.75.36.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 16.75.36.89.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.36.89.98.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.89.98.76.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 89.98.76.81.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.76.81.4.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 76.81.4.94.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.4.94.42.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 4.94.42.30.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 94.42.30.78.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 42.30.78.33.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.78.33.29.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 78.33.29.53.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.29.53.63.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.53.63.2.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 53.63.2.87.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 63.2.87.37.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.87.37.80.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.37.80.84.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.80.84.72.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.84.72.41.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.72.41.9.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.41.9.61.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.9.61.73.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.61.73.95.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 61.73.95.65.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.95.65.13.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.65.13.58.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.13.58.96.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.58.96.98.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.96.98.1.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.98.1.21.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 98.1.21.74.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 1.21.74.65.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 21.74.65.35.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.65.35.5.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 65.35.5.73.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 35.5.73.11.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 5.73.11.51.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.11.51.87.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.51.87.41.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 51.87.41.12.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 87.41.12.8.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 41.12.8.20.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.8.20.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.20.31.31.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 20.31.31.15.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.31.15.95.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 31.15.95.22.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.95.22.73.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.22.73.79.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 22.73.79.88.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 73.79.88.34.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 79.88.34.8.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 88.34.8.11.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.8.11.49.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 8.11.49.34.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 11.49.34.90.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 49.34.90.59.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.90.59.96.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.59.96.60.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.96.60.55.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 96.60.55.75.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 60.55.75.77.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 55.75.77.44.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.77.44.2.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 77.44.2.7.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 44.2.7.85.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 2.7.85.57.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 7.85.57.74.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 85.57.74.29.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 57.74.29.70.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 74.29.70.59.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 29.70.59.19.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 70.59.19.39.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 59.19.39.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 19.39.26.26.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 39.26.26.47.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.26.47.80.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 26.47.80.90.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.80.90.36.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 80.90.36.58.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 90.36.58.47.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.58.47.9.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.47.9.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 47.9.72.72.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.72.72.66.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.72.66.33.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 72.66.33.93.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 66.33.93.75.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.93.75.64.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 93.75.64.81.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 75.64.81.9.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 64.81.9.23.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 81.9.23.37.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 9.23.37.13.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 23.37.13.12.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 37.13.12.14.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 13.12.14.62.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 12.14.62.91.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 14.62.91.36.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 62.91.36.91.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.36.91.33.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.91.33.15.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 91.33.15.34.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 33.15.34.36.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 15.34.36.99.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 34.36.99.3.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 36.99.3.95.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 99.3.95.69.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 3.95.69.58.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 95.69.58.52.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 69.58.52.30.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 58.52.30.50.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 52.30.50.84.84.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 30.50.84.10.33.21.39.44.58.30.38.34.83.27.82.17.7
+ 50.84.10.84.21.39.44.58.30.38.34.83.27.82.17.7
+ 84.10.84.33.39.44.58.30.38.34.83.27.82.17.7
+ 10.84.33.21.44.58.30.38.34.83.27.82.17.7
+ 84.33.21.39.58.30.38.34.83.27.82.17.7 33.21.39.44.30.38.34.83.27.82.17.7
+ 21.39.44.58.38.34.83.27.82.17.7 39.44.58.30.34.83.27.82.17.7
+ 44.58.30.38.83.27.82.17.7 58.30.38.34.27.82.17.7 30.38.34.83.82.17.7
+ 38.34.83.27.17.7 34.83.27.82.7 83.27.82.17}
+
+do_execsql_test 1.20.14.2 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {40.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.30.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.80.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.20.90.60.70.80.90.30.50.10.30
+ 90.40.30.80.90.60.70.80.90.30.50.10.30
+ 40.30.80.20.60.70.80.90.30.50.10.30 30.80.20.90.70.80.90.30.50.10.30
+ 80.20.90.60.80.90.30.50.10.30 20.90.60.70.90.30.50.10.30
+ 90.60.70.80.30.50.10.30 60.70.80.90.50.10.30 70.80.90.30.10.30
+ 80.90.30.50.30 90.30.50.10
+ 91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.61.91.91.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 61.91.91.1.41.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.91.1.81.61.1.21.11.51.41.31.31.11.81.91.91.21
+ 91.1.81.41.1.21.11.51.41.31.31.11.81.91.91.21
+ 1.81.41.61.21.11.51.41.31.31.11.81.91.91.21
+ 81.41.61.1.11.51.41.31.31.11.81.91.91.21
+ 41.61.1.21.51.41.31.31.11.81.91.91.21 61.1.21.11.41.31.31.11.81.91.91.21
+ 1.21.11.51.31.31.11.81.91.91.21 21.11.51.41.31.11.81.91.91.21
+ 11.51.41.31.11.81.91.91.21 51.41.31.31.81.91.91.21 41.31.31.11.91.91.21
+ 31.31.11.81.91.21 31.11.81.91.21 11.81.91.91
+ 12.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.32.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.22.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.42.2.72.12.22.2.72.72.12.62.52.82
+ 62.12.32.22.2.72.12.22.2.72.72.12.62.52.82
+ 12.32.22.42.72.12.22.2.72.72.12.62.52.82
+ 32.22.42.2.12.22.2.72.72.12.62.52.82 22.42.2.72.22.2.72.72.12.62.52.82
+ 42.2.72.12.2.72.72.12.62.52.82 2.72.12.22.72.72.12.62.52.82
+ 72.12.22.2.72.12.62.52.82 12.22.2.72.12.62.52.82 22.2.72.72.62.52.82
+ 2.72.72.12.52.82 72.72.12.62.82 72.12.62.52
+ 23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.23.93.43.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 23.93.43.3.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 93.43.3.43.53.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.3.43.33.63.73.13.73.73.33.93.23.13.33.3.33.83
+ 3.43.33.53.73.13.73.73.33.93.23.13.33.3.33.83
+ 43.33.53.63.13.73.73.33.93.23.13.33.3.33.83
+ 33.53.63.73.73.73.33.93.23.13.33.3.33.83
+ 53.63.73.13.73.33.93.23.13.33.3.33.83 63.73.13.73.33.93.23.13.33.3.33.83
+ 73.13.73.73.93.23.13.33.3.33.83 13.73.73.33.23.13.33.3.33.83
+ 73.73.33.93.13.33.3.33.83 73.33.93.23.33.3.33.83 33.93.23.13.3.33.83
+ 93.23.13.33.33.83 23.13.33.3.83 13.33.3.33
+ 84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 54.84.74.24.94.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 84.74.24.4.84.74.34.34.44.74.64.14.34.84.84.44.34
+ 74.24.4.94.74.34.34.44.74.64.14.34.84.84.44.34
+ 24.4.94.84.34.34.44.74.64.14.34.84.84.44.34
+ 4.94.84.74.34.44.74.64.14.34.84.84.44.34
+ 94.84.74.34.44.74.64.14.34.84.84.44.34
+ 84.74.34.34.74.64.14.34.84.84.44.34 74.34.34.44.64.14.34.84.84.44.34
+ 34.34.44.74.14.34.84.84.44.34 34.44.74.64.34.84.84.44.34
+ 44.74.64.14.84.84.44.34 74.64.14.34.84.44.34 64.14.34.84.44.34
+ 14.34.84.84.34 34.84.84.44
+ 35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 65.35.85.85.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 35.85.85.55.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.85.55.15.75.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 85.55.15.25.95.65.65.35.5.15.95.55.75.85.75.15.95
+ 55.15.25.75.65.65.35.5.15.95.55.75.85.75.15.95
+ 15.25.75.95.65.35.5.15.95.55.75.85.75.15.95
+ 25.75.95.65.35.5.15.95.55.75.85.75.15.95
+ 75.95.65.65.5.15.95.55.75.85.75.15.95 95.65.65.35.15.95.55.75.85.75.15.95
+ 65.65.35.5.95.55.75.85.75.15.95 65.35.5.15.55.75.85.75.15.95
+ 35.5.15.95.75.85.75.15.95 5.15.95.55.85.75.15.95 15.95.55.75.75.15.95
+ 95.55.75.85.15.95 55.75.85.75.95 75.85.75.15
+ 46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 96.46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 6.46.16.16.56.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 46.16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 16.86.56.56.16.36.76.96.96.26.26.36.66.36.36
+ 86.56.56.56.36.76.96.96.26.26.36.66.36.36
+ 56.56.56.16.76.96.96.26.26.36.66.36.36
+ 56.56.16.36.96.96.26.26.36.66.36.36 56.16.36.76.96.26.26.36.66.36.36
+ 16.36.76.96.26.26.36.66.36.36 36.76.96.96.26.36.66.36.36
+ 76.96.96.26.36.66.36.36 96.96.26.26.66.36.36 96.26.26.36.36.36
+ 26.26.36.66.36 26.36.66.36
+ 27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.27.97.67.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 27.97.67.77.7.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 97.67.77.47.47.87.37.87.77.7.57.47.47.37.27.17.7
+ 67.77.47.7.87.37.87.77.7.57.47.47.37.27.17.7
+ 77.47.7.47.37.87.77.7.57.47.47.37.27.17.7
+ 47.7.47.87.87.77.7.57.47.47.37.27.17.7
+ 7.47.87.37.77.7.57.47.47.37.27.17.7 47.87.37.87.7.57.47.47.37.27.17.7
+ 87.37.87.77.57.47.47.37.27.17.7 37.87.77.7.47.47.37.27.17.7
+ 87.77.7.57.47.37.27.17.7 77.7.57.47.37.27.17.7 7.57.47.47.27.17.7
+ 57.47.47.37.17.7 47.47.37.27.7 47.37.27.17
+ 68.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.78.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.8.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.28.98.78.58.98.8.88.8.58.58.58.38
+ 38.68.78.8.98.78.58.98.8.88.8.58.58.58.38
+ 68.78.8.28.78.58.98.8.88.8.58.58.58.38
+ 78.8.28.98.58.98.8.88.8.58.58.58.38 8.28.98.78.98.8.88.8.58.58.58.38
+ 28.98.78.58.8.88.8.58.58.58.38 98.78.58.98.88.8.58.58.58.38
+ 78.58.98.8.8.58.58.58.38 58.98.8.88.58.58.58.38 98.8.88.8.58.58.38
+ 8.88.8.58.58.38 88.8.58.58.38 8.58.58.58
+ 59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.29.59.19.39.9.9.99.69.39 9.79.49.59.59.19.39.9.9.99.69.39
+ 79.49.59.29.19.39.9.9.99.69.39 49.59.29.59.39.9.9.99.69.39
+ 59.29.59.19.9.9.99.69.39 29.59.19.39.9.99.69.39 59.19.39.9.99.69.39
+ 19.39.9.9.69.39 39.9.9.99.39 9.9.99.69}
+
+do_execsql_test 1.20.14.3 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.1.2.2.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 1.2.2.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.2.3.3.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 2.3.3.4.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.3.4.5.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 3.4.5.6.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 4.5.6.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 5.6.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 6.7.7.7.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.7.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.7.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 7.8.8.8.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.8.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.8.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 8.9.9.9.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.9.10.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.9.10.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 9.10.11.11.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 10.11.11.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.11.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 11.12.12.12.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.12.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.12.13.13.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 12.13.13.14.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.13.14.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 13.14.15.15.16.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 14.15.15.15.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.15.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.15.16.16.17.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 15.16.16.16.19.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.16.17.20.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.16.17.19.21.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 16.17.19.20.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 17.19.20.21.22.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 19.20.21.21.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 20.21.21.22.23.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.21.22.22.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 21.22.22.23.24.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.22.23.23.25.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 22.23.23.24.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.23.24.25.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 23.24.25.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 24.25.26.26.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 25.26.26.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.26.27.27.29.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 26.27.27.28.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.27.28.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 27.28.29.29.30.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 28.29.29.29.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.29.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.29.30.30.31.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 29.30.30.30.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.30.31.32.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.30.31.31.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 30.31.31.32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.31.32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 31.32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 32.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 33.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.34.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.34.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.34.35.35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 34.35.35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 35.36.36.36.37.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.36.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.36.37.38.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.36.37.37.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 36.37.37.38.39.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.37.38.38.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 37.38.38.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.38.39.39.40.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 38.39.39.39.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.39.40.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.39.40.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 39.40.41.41.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 40.41.41.42.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.41.42.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 41.42.43.43.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 42.43.43.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.43.44.44.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 43.44.44.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.44.46.46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 44.46.46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 46.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.47.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.47.49.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.47.49.50.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 47.49.50.51.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 49.50.51.52.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 50.51.52.53.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 51.52.53.54.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 52.53.54.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 53.54.55.55.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 54.55.55.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.55.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 55.56.56.56.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.56.57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.56.57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 56.57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 57.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 58.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.59.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.59.60.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.59.60.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 59.60.61.61.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 60.61.61.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.61.62.62.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 61.62.62.63.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.62.63.64.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 62.63.64.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 63.64.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 64.65.65.65.67.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.65.66.68.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.65.66.67.69.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 65.66.67.68.70.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 66.67.68.69.72.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 67.68.69.70.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 68.69.70.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 69.70.72.72.73.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 70.72.72.72.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.72.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.72.73.73.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 72.73.73.73.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.73.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.73.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 73.74.74.74.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.74.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.74.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 74.75.75.75.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.75.76.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.75.76.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 75.76.77.77.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 76.77.77.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.77.78.78.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 77.78.78.79.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.78.79.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 78.79.80.80.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 79.80.80.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.80.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 80.81.81.81.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.81.82.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.81.82.83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 81.82.83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 82.83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 83.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.84.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.84.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.84.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 84.85.85.85.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.85.86.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.85.86.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 85.86.87.87.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 86.87.87.88.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.87.88.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 87.88.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 88.89.89.89.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.89.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.89.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 89.90.90.90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 90.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.91.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.91.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.91.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99
+ 91.93.93.93.95.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.93.94.95.95.96.96.96.97.97.98.98.99.99
+ 93.93.94.95.95.96.96.96.97.97.98.98.99.99
+ 93.94.95.95.96.96.96.97.97.98.98.99.99
+ 94.95.95.95.96.96.97.97.98.98.99.99 95.95.95.96.96.97.97.98.98.99.99
+ 95.95.96.96.97.97.98.98.99.99 95.96.96.96.97.98.98.99.99
+ 96.96.96.97.98.98.99.99 96.96.97.97.98.99.99 96.97.97.98.99.99
+ 97.97.98.98.99 97.98.98.99}
+
+do_execsql_test 1.20.14.4 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {20.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.30.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.40.50.60.70.80.80.90.90.90
+ 10.20.30.30.40.50.60.70.80.80.90.90.90
+ 20.30.30.30.50.60.70.80.80.90.90.90 30.30.30.40.60.70.80.80.90.90.90
+ 30.30.40.50.70.80.80.90.90.90 30.40.50.60.80.80.90.90.90
+ 40.50.60.70.80.90.90.90 50.60.70.80.90.90.90 60.70.80.80.90.90
+ 70.80.80.90.90 80.80.90.90
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.21.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.1.11.11.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 1.11.11.21.31.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.11.21.21.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 11.21.21.31.41.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.21.31.31.41.51.61.61.81.81.81.91.91.91.91.91
+ 21.31.31.41.51.61.61.81.81.81.91.91.91.91.91
+ 31.31.41.41.61.61.81.81.81.91.91.91.91.91
+ 31.41.41.51.61.81.81.81.91.91.91.91.91
+ 41.41.51.61.81.81.81.91.91.91.91.91 41.51.61.61.81.81.91.91.91.91.91
+ 51.61.61.81.81.91.91.91.91.91 61.61.81.81.91.91.91.91.91
+ 61.81.81.81.91.91.91.91 81.81.81.91.91.91.91 81.81.91.91.91.91
+ 81.91.91.91.91 91.91.91.91 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.2.12.12.22.22.32.42.52.62.62.72.72.72.82
+ 2.12.12.12.22.32.42.52.62.62.72.72.72.82
+ 12.12.12.22.32.42.52.62.62.72.72.72.82
+ 12.12.22.22.42.52.62.62.72.72.72.82 12.22.22.32.52.62.62.72.72.72.82
+ 22.22.32.42.62.62.72.72.72.82 22.32.42.52.62.72.72.72.82
+ 32.42.52.62.72.72.72.82 42.52.62.62.72.72.82 52.62.62.72.72.82
+ 62.62.72.72.82 62.72.72.72
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.23.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.3.13.13.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 3.13.13.23.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.13.23.23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 13.23.23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 23.33.33.33.43.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.33.43.53.63.73.73.73.83.93.93.93
+ 33.33.33.43.53.63.73.73.73.83.93.93.93
+ 33.33.43.43.63.73.73.73.83.93.93.93 33.43.43.53.73.73.73.83.93.93.93
+ 43.43.53.63.73.73.83.93.93.93 43.53.63.73.73.83.93.93.93
+ 53.63.73.73.83.93.93.93 63.73.73.73.93.93.93 73.73.73.83.93.93
+ 73.73.83.93.93 73.83.93.93
+ 14.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.24.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.34.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 4.14.24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 14.24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 24.34.34.34.44.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.34.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.34.44.54.64.74.74.74.84.84.84.84.94
+ 34.34.44.44.64.74.74.74.84.84.84.84.94
+ 34.44.44.54.74.74.74.84.84.84.84.94 44.44.54.64.74.74.84.84.84.84.94
+ 44.54.64.74.74.84.84.84.84.94 54.64.74.74.84.84.84.84.94
+ 64.74.74.74.84.84.84.94 74.74.74.84.84.84.94 74.74.84.84.84.94
+ 74.84.84.84.94 84.84.84.84
+ 15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 5.15.15.15.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.15.25.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.15.25.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 15.25.35.35.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 25.35.35.55.65.65.65.75.75.75.85.85.85.95.95.95
+ 35.35.55.55.65.65.75.75.75.85.85.85.95.95.95
+ 35.55.55.65.65.75.75.75.85.85.85.95.95.95
+ 55.55.65.65.75.75.75.85.85.85.95.95.95
+ 55.65.65.65.75.75.85.85.85.95.95.95 65.65.65.75.75.85.85.85.95.95.95
+ 65.65.75.75.85.85.85.95.95.95 65.75.75.75.85.85.95.95.95
+ 75.75.75.85.85.95.95.95 75.75.85.85.95.95.95 75.85.85.85.95.95
+ 85.85.85.95.95 85.85.95.95
+ 16.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 6.16.16.16.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.16.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.16.26.26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 16.26.26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 26.36.36.36.46.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.36.46.56.56.56.66.76.86.96.96.96
+ 36.36.36.46.56.56.56.66.76.86.96.96.96
+ 36.36.46.46.56.56.66.76.86.96.96.96 36.46.46.56.56.66.76.86.96.96.96
+ 46.46.56.56.66.76.86.96.96.96 46.56.56.56.76.86.96.96.96
+ 56.56.56.66.86.96.96.96 56.56.66.76.96.96.96 56.66.76.86.96.96
+ 66.76.86.96.96 76.86.96.96
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.7.17.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.7.17.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 7.17.27.27.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 17.27.27.37.47.47.47.47.57.67.77.77.87.87.97.97
+ 27.27.37.37.47.47.47.57.67.77.77.87.87.97.97
+ 27.37.37.47.47.47.57.67.77.77.87.87.97.97
+ 37.37.47.47.47.57.67.77.77.87.87.97.97
+ 37.47.47.47.57.67.77.77.87.87.97.97 47.47.47.47.67.77.77.87.87.97.97
+ 47.47.47.57.77.77.87.87.97.97 47.47.57.67.77.87.87.97.97
+ 47.57.67.77.87.87.97.97 57.67.77.77.87.97.97 67.77.77.87.97.97
+ 77.77.87.87.97 77.87.87.97 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.38.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.8.28.38.58.58.58.58.68.78.78.88.98.98
+ 8.8.28.38.58.58.58.58.68.78.78.88.98.98
+ 8.28.38.38.58.58.58.68.78.78.88.98.98 28.38.38.58.58.58.68.78.78.88.98.98
+ 38.38.58.58.58.68.78.78.88.98.98 38.58.58.58.68.78.78.88.98.98
+ 58.58.58.58.78.78.88.98.98 58.58.58.68.78.88.98.98 58.58.68.78.88.98.98
+ 58.68.78.78.98.98 68.78.78.88.98 78.78.88.98
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.9.19.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.9.19.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 9.19.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 19.29.29.29.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.29.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.29.39.39.49.59.59.59.59.69.79.89.89.89.99.99
+ 29.39.39.39.59.59.59.59.69.79.89.89.89.99.99
+ 39.39.39.49.59.59.59.69.79.89.89.89.99.99
+ 39.39.49.59.59.59.69.79.89.89.89.99.99
+ 39.49.59.59.59.69.79.89.89.89.99.99 49.59.59.59.69.79.89.89.89.99.99
+ 59.59.59.59.79.89.89.89.99.99 59.59.59.69.89.89.89.99.99
+ 59.59.69.79.89.89.99.99 59.69.79.89.89.99.99 69.79.89.89.99.99
+ 79.89.89.89.99 89.89.89.99}
+
+do_execsql_test 1.20.14.5 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP ) FROM t2
+} {40.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.80.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.20.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.40.30.80.90.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 40.30.80.20.60.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.80.20.90.70.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.20.90.60.80.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 20.90.60.70.90.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.60.70.80.30.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 60.70.80.90.50.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 70.80.90.30.10.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 80.90.30.50.30.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 90.30.50.10.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.50.10.30.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 50.10.30.81.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 10.30.81.91.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 30.81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.61.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.61.91.91.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.91.91.1.41.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.1.81.61.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.1.81.41.1.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.81.41.61.21.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.41.61.1.11.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.61.1.21.51.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 61.1.21.11.41.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 1.21.11.51.31.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.11.51.41.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.51.41.31.11.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 51.41.31.31.81.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 41.31.31.11.91.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.31.11.81.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 31.11.81.91.21.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 11.81.91.91.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 81.91.91.21.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.91.21.62.32.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 91.21.62.12.22.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 21.62.12.32.42.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.12.32.22.2.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.32.22.42.72.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 32.22.42.2.12.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.42.2.72.22.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 42.2.72.12.2.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.12.22.72.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.22.2.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.22.2.72.12.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 22.2.72.72.62.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 2.72.72.12.52.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.72.12.62.82.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 72.12.62.52.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 12.62.52.82.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 62.52.82.93.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 52.82.93.23.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 82.93.23.93.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.93.43.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.93.43.3.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.43.3.43.53.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.3.43.33.63.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.43.33.53.73.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 43.33.53.63.13.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.53.63.73.73.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 53.63.73.13.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 63.73.13.73.33.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.13.73.73.93.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.73.73.33.23.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.73.33.93.13.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 73.33.93.23.33.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.93.23.13.3.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 93.23.13.33.33.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 23.13.33.3.83.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 13.33.3.33.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.3.33.83.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 3.33.83.54.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 33.83.54.84.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 83.54.84.74.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 54.84.74.24.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.24.4.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.24.4.94.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 24.4.94.84.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 4.94.84.74.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 94.84.74.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.74.34.34.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.34.34.44.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.34.44.74.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.44.74.64.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.74.64.14.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 74.64.14.34.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 64.14.34.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 14.34.84.84.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.84.84.44.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.84.44.34.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 84.44.34.65.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 44.34.65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 34.65.35.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.85.85.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.85.85.55.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.85.55.15.75.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.55.15.25.95.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.15.25.75.65.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.25.75.95.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 25.75.95.65.35.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.95.65.65.5.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.65.65.35.15.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.65.35.5.95.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 65.35.5.15.55.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 35.5.15.95.75.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 5.15.95.55.85.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.55.75.75.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.55.75.85.15.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 55.75.85.75.95.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.85.75.15.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 85.75.15.95.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 75.15.95.96.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 15.95.96.46.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 95.96.46.6.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.6.46.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 6.46.16.16.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 46.16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.16.86.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.86.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 86.56.56.56.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.56.16.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.56.16.36.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 56.16.36.76.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 16.36.76.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.76.96.96.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 76.96.96.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.96.26.26.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 96.26.26.36.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.26.36.66.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 26.36.66.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.66.36.36.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 66.36.36.97.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.36.97.27.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 36.97.27.97.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.27.97.67.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.97.67.77.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 97.67.77.47.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 67.77.47.7.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.47.7.47.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.7.47.87.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.47.87.37.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.87.37.87.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.37.87.77.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.87.77.7.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 87.77.7.57.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 77.7.57.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.57.47.47.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 57.47.47.37.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.47.37.27.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 47.37.27.17.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 37.27.17.7.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 27.17.7.38.78.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 17.7.38.68.8.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 7.38.68.78.28.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.68.78.8.98.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 68.78.8.28.78.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.8.28.98.58.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.28.98.78.98.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 28.98.78.58.8.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.78.58.98.88.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 78.58.98.8.8.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.98.8.88.58.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 98.8.88.8.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.88.8.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 88.8.58.58.38.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 8.58.58.58.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.58.38.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.58.38.89.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 58.38.89.59.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 38.89.59.39.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.59.39.99.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.39.99.29.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 39.99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 99.29.59.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 29.59.89.89.9.79.49.59.29.59.19.39.9.9.99.69.39
+ 59.89.89.29.79.49.59.29.59.19.39.9.9.99.69.39
+ 89.89.29.9.49.59.29.59.19.39.9.9.99.69.39
+ 89.29.9.79.59.29.59.19.39.9.9.99.69.39
+ 29.9.79.49.29.59.19.39.9.9.99.69.39 9.79.49.59.59.19.39.9.9.99.69.39
+ 79.49.59.29.19.39.9.9.99.69.39 49.59.29.59.39.9.9.99.69.39
+ 59.29.59.19.9.9.99.69.39 29.59.19.39.9.99.69.39 59.19.39.9.99.69.39
+ 19.39.9.9.69.39 39.9.9.99.39 9.9.99.69}
+
+do_execsql_test 1.20.14.6 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t2
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.14.7 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.14.8 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.14.9 {
+ SELECT group_concat(CAST(b AS TEXT), '.') OVER win2
+ FROM t2
+ WINDOW win1 AS (PARTITION BY b%2,a ORDER BY b%10),
+ win2 AS (win1 ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+ ORDER BY 1
+} {{} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}
+ {} {} {} {} {} {} {} {} {} {} {}}
+
+do_execsql_test 1.20.15.1 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+} {190 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 190 89.96.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 189 96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 188 96.38.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 187 38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 186 38.39.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 185 39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 184 39.91.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 183 91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 182 91.6.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 181 6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 180 6.97.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 179 97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 178 97.46.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 177 46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 176 46.54.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 175 54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 174 54.8.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 173 8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 172 8.29.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 171 29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 170 29.84.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 169 84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 168 84.23.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 167 23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 166 23.16.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 165 16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 164 16.65.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 163 65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 162 65.47.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 161 47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 160 47.86.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 159 86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 158 86.61.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 157 61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 156 61.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 155 85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 154 85.85.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 153 85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 152 85.59.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 151 59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 150 59.32.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 149 32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 148 32.3.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 147 3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 146 3.22.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 145 22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 144 22.55.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 143 55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 142 55.28.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 141 28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 140 28.25.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 139 25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 138 25.1.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 137 1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 136 1.40.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 135 40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 134 40.56.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 133 56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 132 56.75.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 131 75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 130 75.89.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 129 89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 128 89.76.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 127 76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 126 76.4.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 125 4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 124 4.42.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 123 42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 122 42.78.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 121 78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 120 78.29.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 119 29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 118 29.63.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 117 63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 116 63.87.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 115 87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 114 87.80.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 113 80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 112 80.72.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 111 72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 110 72.9.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 109 9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 108 9.73.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 107 73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 106 73.65.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 105 65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 104 65.58.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 103 58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 102 58.98.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 101 98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 100 98.21.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 99 21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 98 21.65.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 97 65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 96 65.5.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 95 5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 94 5.11.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 93 11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 92 11.87.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 91 87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 90 87.12.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 89 12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 88 12.20.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 87 20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 86 20.31.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 85 31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 84 31.95.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 83 95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 82 95.73.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 81 73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 80 73.88.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 79 88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 78 88.8.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 77 8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 76 8.49.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 75 49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 74 49.90.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 73 90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 72 90.96.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 71 96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 70 96.55.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 69 55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 68 55.77.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 67 77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 66 77.2.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 65 2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 64 2.85.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 63 85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 62 85.74.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 61 74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 60 74.70.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 59 70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 58 70.19.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 57 19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 56 19.26.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 55 26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 54 26.47.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 53 47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 52 47.90.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 51 90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 50 90.58.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 49 58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 48 58.9.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 47 9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 46 9.72.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 45 72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 44 72.33.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 43 33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 42 33.75.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 41 75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 40 75.81.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 39 81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 38 81.23.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 37 23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 36 23.13.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 35 13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 34 13.14.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 33 14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 32 14.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 31 91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 30 91.91.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 29 91.15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 28 91.15.3.69.52.50.10.33.39.58.38.83.82.7
+ 27 15.36.3.69.52.50.10.33.39.58.38.83.82.7
+ 26 15.36.69.52.50.10.33.39.58.38.83.82.7
+ 25 36.3.69.52.50.10.33.39.58.38.83.82.7
+ 24 36.3.52.50.10.33.39.58.38.83.82.7 23 3.69.52.50.10.33.39.58.38.83.82.7
+ 22 3.69.50.10.33.39.58.38.83.82.7 21 69.52.50.10.33.39.58.38.83.82.7
+ 20 69.52.10.33.39.58.38.83.82.7 19 52.50.10.33.39.58.38.83.82.7
+ 18 52.50.33.39.58.38.83.82.7 17 50.10.33.39.58.38.83.82.7
+ 16 50.10.39.58.38.83.82.7 15 10.33.39.58.38.83.82.7
+ 14 10.33.58.38.83.82.7 13 33.39.58.38.83.82.7 12 33.39.38.83.82.7
+ 11 39.58.38.83.82.7 10 39.58.83.82.7 9 58.38.83.82.7 8 58.38.82.7
+ 7 38.83.82.7 6 38.83.7 5 83.82.7 4 83.82}
+
+do_execsql_test 1.20.15.2 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 0=1) OVER win FROM t2
+ WINDOW win AS (ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+} {190 {} 190 {} 190 {} 190 {} 190 {} 189 {} 188 {} 187 {}
+ 186 {} 185 {} 184 {} 183 {} 182 {} 181 {} 180 {} 179 {}
+ 178 {} 177 {} 176 {} 175 {} 174 {} 173 {} 172 {} 171 {}
+ 170 {} 169 {} 168 {} 167 {} 166 {} 165 {} 164 {} 163 {}
+ 162 {} 161 {} 160 {} 159 {} 158 {} 157 {} 156 {} 155 {}
+ 154 {} 153 {} 152 {} 151 {} 150 {} 149 {} 148 {} 147 {}
+ 146 {} 145 {} 144 {} 143 {} 142 {} 141 {} 140 {} 139 {}
+ 138 {} 137 {} 136 {} 135 {} 134 {} 133 {} 132 {} 131 {}
+ 130 {} 129 {} 128 {} 127 {} 126 {} 125 {} 124 {} 123 {}
+ 122 {} 121 {} 120 {} 119 {} 118 {} 117 {} 116 {} 115 {}
+ 114 {} 113 {} 112 {} 111 {} 110 {} 109 {} 108 {} 107 {}
+ 106 {} 105 {} 104 {} 103 {} 102 {} 101 {} 100 {} 99 {}
+ 98 {} 97 {} 96 {} 95 {} 94 {} 93 {} 92 {} 91 {} 90 {}
+ 89 {} 88 {} 87 {} 86 {} 85 {} 84 {} 83 {} 82 {} 81 {}
+ 80 {} 79 {} 78 {} 77 {} 76 {} 75 {} 74 {} 73 {} 72 {}
+ 71 {} 70 {} 69 {} 68 {} 67 {} 66 {} 65 {} 64 {} 63 {}
+ 62 {} 61 {} 60 {} 59 {} 58 {} 57 {} 56 {} 55 {} 54 {}
+ 53 {} 52 {} 51 {} 50 {} 49 {} 48 {} 47 {} 46 {} 45 {}
+ 44 {} 43 {} 42 {} 41 {} 40 {} 39 {} 38 {} 37 {} 36 {}
+ 35 {} 34 {} 33 {} 32 {} 31 {} 30 {} 29 {} 28 {} 27 {}
+ 26 {} 25 {} 24 {} 23 {} 22 {} 21 {} 20 {} 19 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}}
+
+do_execsql_test 1.20.15.3 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE 1=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+} {19 {} 19 {} 19 {} 19 {} 19 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {} 18 {} 18 {} 18 {} 18 {} 18 {} 17 {} 16 {} 15 {}
+ 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {} 7 {} 6 {} 5 {}
+ 4 {}}
+
+do_execsql_test 1.20.15.4 {
+ SELECT count(*) OVER win, group_concat(CAST(b AS TEXT), '.')
+ FILTER (WHERE a%2=0) OVER win FROM t2
+ WINDOW win AS (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING AND UNBOUNDED FOLLOWING EXCLUDE GROUP)
+} {19 6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.6.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.6.29.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 19 89.6.29.47.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 18 6.29.47.59.75.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 17 29.47.59.28.78.72.98.87.73.96.74.90.75.91.69.39.7
+ 16 47.59.28.75.72.98.87.73.96.74.90.75.91.69.39.7
+ 15 59.28.75.78.98.87.73.96.74.90.75.91.69.39.7
+ 14 28.75.78.72.87.73.96.74.90.75.91.69.39.7
+ 13 75.78.72.98.73.96.74.90.75.91.69.39.7
+ 12 78.72.98.87.96.74.90.75.91.69.39.7 11 72.98.87.73.74.90.75.91.69.39.7
+ 10 98.87.73.96.90.75.91.69.39.7 9 87.73.96.74.75.91.69.39.7
+ 8 73.96.74.90.91.69.39.7 7 96.74.90.75.69.39.7 6 74.90.75.91.39.7
+ 5 90.75.91.69.7 4 75.91.69.39 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.97.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.97.84.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 18 96.97.84.86.25.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 17 97.84.86.32.89.29.9.21.12.88.55.70.58.81.91.52.58
+ 16 84.86.32.25.29.9.21.12.88.55.70.58.81.91.52.58
+ 15 86.32.25.89.9.21.12.88.55.70.58.81.91.52.58
+ 14 32.25.89.29.21.12.88.55.70.58.81.91.52.58
+ 13 25.89.29.9.12.88.55.70.58.81.91.52.58
+ 12 89.29.9.21.88.55.70.58.81.91.52.58 11 29.9.21.12.55.70.58.81.91.52.58
+ 10 9.21.12.88.70.58.81.91.52.58 9 21.12.88.55.58.81.91.52.58
+ 8 12.88.55.70.81.91.52.58 7 88.55.70.58.91.52.58 6 55.70.58.81.52.58
+ 5 70.58.81.91.58 4 58.81.91.52 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.46.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.46.23.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 18 38.46.23.61.1.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 17 46.23.61.3.76.63.73.65.20.8.77.19.9.23.15.50.38
+ 16 23.61.3.1.63.73.65.20.8.77.19.9.23.15.50.38
+ 15 61.3.1.76.73.65.20.8.77.19.9.23.15.50.38
+ 14 3.1.76.63.65.20.8.77.19.9.23.15.50.38
+ 13 1.76.63.73.20.8.77.19.9.23.15.50.38
+ 12 76.63.73.65.8.77.19.9.23.15.50.38 11 63.73.65.20.77.19.9.23.15.50.38
+ 10 73.65.20.8.19.9.23.15.50.38 9 65.20.8.77.9.23.15.50.38
+ 8 20.8.77.19.23.15.50.38 7 8.77.19.9.15.50.38 6 77.19.9.23.50.38
+ 5 19.9.23.15.38 4 9.23.15.50 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.54.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.54.16.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 18 39.54.16.85.40.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 17 54.16.85.22.4.87.65.5.31.49.2.26.72.13.36.10.83
+ 16 16.85.22.40.87.65.5.31.49.2.26.72.13.36.10.83
+ 15 85.22.40.4.65.5.31.49.2.26.72.13.36.10.83
+ 14 22.40.4.87.5.31.49.2.26.72.13.36.10.83
+ 13 40.4.87.65.31.49.2.26.72.13.36.10.83
+ 12 4.87.65.5.49.2.26.72.13.36.10.83 11 87.65.5.31.2.26.72.13.36.10.83
+ 10 65.5.31.49.26.72.13.36.10.83 9 5.31.49.2.72.13.36.10.83
+ 8 31.49.2.26.13.36.10.83 7 49.2.26.72.36.10.83 6 2.26.72.13.10.83
+ 5 26.72.13.36.83 4 72.13.36.10 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}
+ 18 8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.8.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.8.65.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 18 91.8.65.85.56.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 17 8.65.85.55.42.80.58.11.95.90.85.47.33.14.3.33.82
+ 16 65.85.55.56.80.58.11.95.90.85.47.33.14.3.33.82
+ 15 85.55.56.42.58.11.95.90.85.47.33.14.3.33.82
+ 14 55.56.42.80.11.95.90.85.47.33.14.3.33.82
+ 13 56.42.80.58.95.90.85.47.33.14.3.33.82
+ 12 42.80.58.11.90.85.47.33.14.3.33.82 11 80.58.11.95.85.47.33.14.3.33.82
+ 10 58.11.95.90.47.33.14.3.33.82 9 11.95.90.85.33.14.3.33.82
+ 8 95.90.85.47.14.3.33.82 7 90.85.47.33.3.33.82 6 85.47.33.14.33.82
+ 5 47.33.14.3.82 4 33.14.3.33 18 {} 18 {} 18 {} 18 {} 18 {}
+ 17 {} 16 {} 15 {} 14 {} 13 {} 12 {} 11 {} 10 {} 9 {} 8 {}
+ 7 {} 6 {} 5 {} 4 {}}
+
+finish_test