[mlpack-svn] r11477 - in mlpack/trunk/src/mlpack/tests: . data

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Sun Feb 12 01:30:18 EST 2012


Author: rcurtin
Date: 2012-02-12 01:30:18 -0500 (Sun, 12 Feb 2012)
New Revision: 11477

Added:
   mlpack/trunk/src/mlpack/tests/data/keller4.csv
Modified:
   mlpack/trunk/src/mlpack/tests/lrsdp_test.cpp
Log:
Clean up LRSDP test and add a dataset which we are not using (but the test is
written for it -- it's just commented out).


Added: mlpack/trunk/src/mlpack/tests/data/keller4.csv
===================================================================
--- mlpack/trunk/src/mlpack/tests/data/keller4.csv	                        (rev 0)
+++ mlpack/trunk/src/mlpack/tests/data/keller4.csv	2012-02-12 06:30:18 UTC (rev 11477)
@@ -0,0 +1,5100 @@
+1, 0
+2, 0
+2, 1
+3, 0
+3, 1
+3, 2
+4, 0
+4, 1
+4, 2
+4, 3
+5, 0
+5, 4
+6, 0
+6, 1
+6, 2
+6, 3
+6, 5
+7, 1
+7, 3
+8, 0
+8, 1
+8, 2
+8, 4
+8, 6
+8, 7
+9, 0
+9, 1
+9, 2
+9, 3
+9, 4
+9, 5
+9, 6
+9, 7
+9, 8
+10, 0
+10, 2
+10, 3
+10, 4
+10, 6
+10, 7
+10, 8
+10, 9
+11, 1
+11, 2
+11, 3
+11, 4
+11, 5
+11, 6
+11, 8
+11, 9
+11, 10
+12, 5
+12, 6
+12, 11
+13, 5
+13, 6
+13, 11
+13, 12
+14, 5
+14, 6
+14, 11
+14, 12
+14, 13
+15, 7
+15, 8
+15, 10
+15, 12
+15, 14
+16, 5
+16, 6
+16, 7
+16, 8
+16, 9
+16, 12
+16, 13
+16, 15
+17, 0
+17, 5
+17, 6
+17, 8
+17, 9
+17, 10
+17, 12
+17, 13
+17, 14
+17, 15
+17, 16
+18, 5
+18, 6
+18, 7
+18, 9
+18, 10
+18, 13
+18, 14
+18, 15
+18, 16
+18, 17
+19, 7
+19, 8
+19, 10
+19, 15
+19, 16
+19, 18
+20, 1
+20, 6
+20, 7
+20, 8
+20, 9
+20, 11
+20, 12
+20, 15
+20, 16
+20, 17
+20, 19
+21, 2
+21, 6
+21, 8
+21, 9
+21, 10
+21, 11
+21, 13
+21, 16
+21, 17
+21, 18
+21, 19
+21, 20
+22, 3
+22, 6
+22, 7
+22, 9
+22, 10
+22, 11
+22, 14
+22, 15
+22, 17
+22, 18
+22, 19
+22, 20
+22, 21
+23, 7
+23, 8
+23, 10
+23, 12
+23, 14
+23, 15
+23, 19
+23, 20
+23, 22
+24, 5
+24, 7
+24, 8
+24, 9
+24, 11
+24, 12
+24, 13
+24, 16
+24, 19
+24, 20
+24, 21
+24, 23
+25, 4
+25, 5
+25, 8
+25, 9
+25, 10
+25, 11
+25, 12
+25, 13
+25, 14
+25, 17
+25, 20
+25, 21
+25, 22
+25, 23
+25, 24
+26, 5
+26, 7
+26, 9
+26, 10
+26, 11
+26, 13
+26, 14
+26, 18
+26, 19
+26, 21
+26, 22
+26, 23
+26, 24
+26, 25
+27, 0
+27, 4
+27, 5
+27, 12
+27, 13
+27, 14
+27, 16
+27, 17
+27, 18
+27, 24
+27, 25
+27, 26
+28, 0
+28, 1
+28, 2
+28, 3
+28, 6
+28, 12
+28, 13
+28, 14
+28, 16
+28, 17
+28, 18
+28, 20
+28, 21
+28, 22
+28, 27
+29, 1
+29, 3
+29, 7
+29, 15
+29, 16
+29, 18
+29, 19
+29, 20
+29, 22
+29, 23
+29, 24
+29, 26
+30, 0
+30, 1
+30, 2
+30, 4
+30, 8
+30, 15
+30, 16
+30, 17
+30, 19
+30, 20
+30, 21
+30, 23
+30, 24
+30, 25
+30, 28
+30, 29
+31, 0
+31, 1
+31, 2
+31, 3
+31, 4
+31, 9
+31, 16
+31, 17
+31, 18
+31, 20
+31, 21
+31, 22
+31, 24
+31, 25
+31, 26
+31, 27
+31, 28
+31, 29
+31, 30
+32, 0
+32, 2
+32, 3
+32, 4
+32, 10
+32, 15
+32, 17
+32, 18
+32, 19
+32, 21
+32, 22
+32, 23
+32, 25
+32, 26
+32, 28
+32, 29
+32, 30
+32, 31
+33, 1
+33, 2
+33, 3
+33, 4
+33, 11
+33, 12
+33, 13
+33, 14
+33, 20
+33, 21
+33, 22
+33, 24
+33, 25
+33, 26
+33, 27
+33, 28
+33, 30
+33, 31
+33, 32
+34, 0
+34, 4
+34, 5
+34, 6
+34, 11
+34, 27
+34, 28
+34, 33
+35, 0
+35, 1
+35, 2
+35, 3
+35, 5
+35, 6
+35, 8
+35, 9
+35, 10
+35, 27
+35, 28
+35, 30
+35, 31
+35, 32
+35, 34
+36, 1
+36, 3
+36, 7
+36, 8
+36, 10
+36, 29
+36, 30
+36, 32
+37, 0
+37, 1
+37, 2
+37, 4
+37, 6
+37, 7
+37, 8
+37, 9
+37, 11
+37, 28
+37, 29
+37, 30
+37, 31
+37, 33
+37, 35
+37, 36
+38, 0
+38, 1
+38, 2
+38, 3
+38, 4
+38, 6
+38, 8
+38, 9
+38, 10
+38, 11
+38, 28
+38, 30
+38, 31
+38, 32
+38, 33
+38, 34
+38, 35
+38, 36
+38, 37
+39, 0
+39, 2
+39, 3
+39, 4
+39, 6
+39, 7
+39, 9
+39, 10
+39, 11
+39, 28
+39, 29
+39, 31
+39, 32
+39, 33
+39, 35
+39, 36
+39, 37
+39, 38
+40, 1
+40, 2
+40, 3
+40, 4
+40, 5
+40, 8
+40, 9
+40, 10
+40, 11
+40, 27
+40, 30
+40, 31
+40, 32
+40, 33
+40, 34
+40, 35
+40, 37
+40, 38
+40, 39
+41, 0
+41, 4
+41, 5
+41, 6
+41, 11
+41, 12
+41, 13
+41, 14
+41, 16
+41, 17
+41, 18
+41, 24
+41, 25
+41, 26
+41, 34
+41, 35
+41, 40
+42, 0
+42, 1
+42, 2
+42, 3
+42, 5
+42, 6
+42, 8
+42, 9
+42, 10
+42, 12
+42, 13
+42, 14
+42, 16
+42, 17
+42, 18
+42, 20
+42, 21
+42, 22
+42, 34
+42, 35
+42, 37
+42, 38
+42, 39
+42, 41
+43, 1
+43, 3
+43, 7
+43, 8
+43, 10
+43, 15
+43, 16
+43, 18
+43, 19
+43, 20
+43, 22
+43, 23
+43, 24
+43, 26
+43, 36
+43, 37
+43, 39
+44, 0
+44, 1
+44, 2
+44, 4
+44, 6
+44, 7
+44, 8
+44, 9
+44, 11
+44, 15
+44, 16
+44, 17
+44, 19
+44, 20
+44, 21
+44, 23
+44, 24
+44, 25
+44, 35
+44, 36
+44, 37
+44, 38
+44, 40
+44, 42
+44, 43
+45, 0
+45, 1
+45, 2
+45, 3
+45, 4
+45, 6
+45, 8
+45, 9
+45, 10
+45, 11
+45, 16
+45, 17
+45, 18
+45, 20
+45, 21
+45, 22
+45, 24
+45, 25
+45, 26
+45, 35
+45, 37
+45, 38
+45, 39
+45, 40
+45, 41
+45, 42
+45, 43
+45, 44
+46, 0
+46, 2
+46, 3
+46, 4
+46, 6
+46, 7
+46, 9
+46, 10
+46, 11
+46, 15
+46, 17
+46, 18
+46, 19
+46, 21
+46, 22
+46, 23
+46, 25
+46, 26
+46, 35
+46, 36
+46, 38
+46, 39
+46, 40
+46, 42
+46, 43
+46, 44
+46, 45
+47, 1
+47, 2
+47, 3
+47, 4
+47, 5
+47, 8
+47, 9
+47, 10
+47, 11
+47, 12
+47, 13
+47, 14
+47, 20
+47, 21
+47, 22
+47, 24
+47, 25
+47, 26
+47, 34
+47, 37
+47, 38
+47, 39
+47, 40
+47, 41
+47, 42
+47, 44
+47, 45
+47, 46
+48, 12
+48, 14
+48, 15
+48, 16
+48, 18
+48, 23
+48, 24
+48, 26
+49, 5
+49, 6
+49, 11
+49, 12
+49, 13
+49, 15
+49, 16
+49, 17
+49, 23
+49, 24
+49, 25
+49, 27
+49, 28
+49, 33
+49, 41
+49, 42
+49, 47
+49, 48
+50, 5
+50, 6
+50, 11
+50, 12
+50, 13
+50, 14
+50, 16
+50, 17
+50, 18
+50, 24
+50, 25
+50, 26
+50, 27
+50, 28
+50, 33
+50, 34
+50, 41
+50, 42
+50, 47
+50, 48
+50, 49
+51, 5
+51, 6
+51, 11
+51, 13
+51, 14
+51, 15
+51, 17
+51, 18
+51, 23
+51, 25
+51, 26
+51, 27
+51, 28
+51, 33
+51, 41
+51, 42
+51, 47
+51, 48
+51, 49
+51, 50
+52, 7
+52, 8
+52, 10
+52, 12
+52, 14
+52, 15
+52, 16
+52, 18
+52, 19
+52, 20
+52, 22
+52, 29
+52, 30
+52, 32
+52, 43
+52, 44
+52, 46
+52, 48
+52, 49
+52, 51
+53, 5
+53, 6
+53, 7
+53, 8
+53, 9
+53, 12
+53, 13
+53, 15
+53, 16
+53, 17
+53, 19
+53, 20
+53, 21
+53, 27
+53, 28
+53, 29
+53, 30
+53, 31
+53, 41
+53, 42
+53, 43
+53, 44
+53, 45
+53, 48
+53, 49
+53, 50
+53, 52
+54, 5
+54, 6
+54, 8
+54, 9
+54, 10
+54, 12
+54, 13
+54, 14
+54, 16
+54, 17
+54, 18
+54, 20
+54, 21
+54, 22
+54, 27
+54, 28
+54, 30
+54, 31
+54, 32
+54, 35
+54, 41
+54, 42
+54, 44
+54, 45
+54, 46
+54, 49
+54, 50
+54, 51
+54, 52
+54, 53
+55, 5
+55, 6
+55, 7
+55, 9
+55, 10
+55, 13
+55, 14
+55, 15
+55, 17
+55, 18
+55, 19
+55, 21
+55, 22
+55, 27
+55, 28
+55, 29
+55, 31
+55, 32
+55, 41
+55, 42
+55, 43
+55, 45
+55, 46
+55, 48
+55, 50
+55, 51
+55, 52
+55, 53
+55, 54
+56, 7
+56, 8
+56, 10
+56, 15
+56, 16
+56, 18
+56, 19
+56, 20
+56, 22
+56, 23
+56, 24
+56, 26
+56, 29
+56, 30
+56, 32
+56, 36
+56, 43
+56, 44
+56, 46
+56, 48
+56, 52
+56, 53
+56, 55
+57, 6
+57, 7
+57, 8
+57, 9
+57, 11
+57, 15
+57, 16
+57, 17
+57, 19
+57, 20
+57, 21
+57, 23
+57, 24
+57, 25
+57, 28
+57, 29
+57, 30
+57, 31
+57, 33
+57, 37
+57, 42
+57, 43
+57, 44
+57, 45
+57, 47
+57, 49
+57, 52
+57, 53
+57, 54
+57, 56
+58, 6
+58, 8
+58, 9
+58, 10
+58, 11
+58, 16
+58, 17
+58, 18
+58, 20
+58, 21
+58, 22
+58, 24
+58, 25
+58, 26
+58, 28
+58, 30
+58, 31
+58, 32
+58, 33
+58, 38
+58, 42
+58, 44
+58, 45
+58, 46
+58, 47
+58, 50
+58, 53
+58, 54
+58, 55
+58, 56
+58, 57
+59, 6
+59, 7
+59, 9
+59, 10
+59, 11
+59, 15
+59, 17
+59, 18
+59, 19
+59, 21
+59, 22
+59, 23
+59, 25
+59, 26
+59, 28
+59, 29
+59, 31
+59, 32
+59, 33
+59, 39
+59, 42
+59, 43
+59, 45
+59, 46
+59, 47
+59, 51
+59, 52
+59, 54
+59, 55
+59, 56
+59, 57
+59, 58
+60, 7
+60, 8
+60, 10
+60, 12
+60, 14
+60, 19
+60, 20
+60, 22
+60, 23
+60, 24
+60, 26
+60, 29
+60, 30
+60, 32
+60, 43
+60, 44
+60, 46
+60, 48
+60, 49
+60, 51
+60, 52
+60, 56
+60, 57
+60, 59
+61, 5
+61, 7
+61, 8
+61, 9
+61, 11
+61, 12
+61, 13
+61, 19
+61, 20
+61, 21
+61, 23
+61, 24
+61, 25
+61, 27
+61, 29
+61, 30
+61, 31
+61, 33
+61, 41
+61, 43
+61, 44
+61, 45
+61, 47
+61, 48
+61, 49
+61, 50
+61, 53
+61, 56
+61, 57
+61, 58
+61, 60
+62, 5
+62, 8
+62, 9
+62, 10
+62, 11
+62, 12
+62, 13
+62, 14
+62, 20
+62, 21
+62, 22
+62, 24
+62, 25
+62, 26
+62, 27
+62, 30
+62, 31
+62, 32
+62, 33
+62, 40
+62, 41
+62, 44
+62, 45
+62, 46
+62, 47
+62, 49
+62, 50
+62, 51
+62, 54
+62, 57
+62, 58
+62, 59
+62, 60
+62, 61
+63, 5
+63, 7
+63, 9
+63, 10
+63, 11
+63, 13
+63, 14
+63, 19
+63, 21
+63, 22
+63, 23
+63, 25
+63, 26
+63, 27
+63, 29
+63, 31
+63, 32
+63, 33
+63, 41
+63, 43
+63, 45
+63, 46
+63, 47
+63, 48
+63, 50
+63, 51
+63, 55
+63, 56
+63, 58
+63, 59
+63, 60
+63, 61
+63, 62
+64, 0
+64, 4
+64, 12
+64, 13
+64, 14
+64, 16
+64, 17
+64, 18
+64, 24
+64, 25
+64, 26
+64, 27
+64, 28
+64, 33
+64, 34
+64, 35
+64, 40
+64, 41
+64, 49
+64, 50
+64, 51
+64, 53
+64, 54
+64, 55
+64, 61
+64, 62
+64, 63
+65, 0
+65, 1
+65, 2
+65, 3
+65, 12
+65, 13
+65, 14
+65, 16
+65, 17
+65, 18
+65, 20
+65, 21
+65, 22
+65, 27
+65, 28
+65, 30
+65, 31
+65, 32
+65, 34
+65, 35
+65, 37
+65, 38
+65, 39
+65, 42
+65, 49
+65, 50
+65, 51
+65, 53
+65, 54
+65, 55
+65, 57
+65, 58
+65, 59
+65, 64
+66, 1
+66, 3
+66, 15
+66, 16
+66, 18
+66, 19
+66, 20
+66, 22
+66, 23
+66, 24
+66, 26
+66, 29
+66, 30
+66, 32
+66, 36
+66, 37
+66, 39
+66, 43
+66, 52
+66, 53
+66, 55
+66, 56
+66, 57
+66, 59
+66, 60
+66, 61
+66, 63
+67, 0
+67, 1
+67, 2
+67, 4
+67, 15
+67, 16
+67, 17
+67, 19
+67, 20
+67, 21
+67, 23
+67, 24
+67, 25
+67, 28
+67, 29
+67, 30
+67, 31
+67, 33
+67, 35
+67, 36
+67, 37
+67, 38
+67, 40
+67, 44
+67, 52
+67, 53
+67, 54
+67, 56
+67, 57
+67, 58
+67, 60
+67, 61
+67, 62
+67, 65
+67, 66
+68, 0
+68, 1
+68, 2
+68, 3
+68, 4
+68, 16
+68, 17
+68, 18
+68, 20
+68, 21
+68, 22
+68, 24
+68, 25
+68, 26
+68, 28
+68, 30
+68, 31
+68, 32
+68, 33
+68, 35
+68, 37
+68, 38
+68, 39
+68, 40
+68, 45
+68, 53
+68, 54
+68, 55
+68, 57
+68, 58
+68, 59
+68, 61
+68, 62
+68, 63
+68, 64
+68, 65
+68, 66
+68, 67
+69, 0
+69, 2
+69, 3
+69, 4
+69, 15
+69, 17
+69, 18
+69, 19
+69, 21
+69, 22
+69, 23
+69, 25
+69, 26
+69, 28
+69, 29
+69, 31
+69, 32
+69, 33
+69, 35
+69, 36
+69, 38
+69, 39
+69, 40
+69, 46
+69, 52
+69, 54
+69, 55
+69, 56
+69, 58
+69, 59
+69, 60
+69, 62
+69, 63
+69, 65
+69, 66
+69, 67
+69, 68
+70, 1
+70, 2
+70, 3
+70, 4
+70, 12
+70, 13
+70, 14
+70, 20
+70, 21
+70, 22
+70, 24
+70, 25
+70, 26
+70, 27
+70, 30
+70, 31
+70, 32
+70, 33
+70, 34
+70, 37
+70, 38
+70, 39
+70, 40
+70, 47
+70, 49
+70, 50
+70, 51
+70, 57
+70, 58
+70, 59
+70, 61
+70, 62
+70, 63
+70, 64
+70, 65
+70, 67
+70, 68
+70, 69
+71, 34
+71, 35
+71, 40
+71, 41
+71, 42
+71, 47
+71, 64
+71, 65
+71, 70
+72, 34
+72, 35
+72, 40
+72, 41
+72, 42
+72, 47
+72, 64
+72, 65
+72, 70
+72, 71
+73, 34
+73, 35
+73, 40
+73, 41
+73, 42
+73, 47
+73, 64
+73, 65
+73, 70
+73, 71
+73, 72
+74, 36
+74, 37
+74, 39
+74, 43
+74, 44
+74, 46
+74, 66
+74, 67
+74, 69
+74, 71
+74, 73
+75, 34
+75, 35
+75, 36
+75, 37
+75, 38
+75, 41
+75, 42
+75, 43
+75, 44
+75, 45
+75, 64
+75, 65
+75, 66
+75, 67
+75, 68
+75, 71
+75, 72
+75, 74
+76, 0
+76, 34
+76, 35
+76, 37
+76, 38
+76, 39
+76, 41
+76, 42
+76, 44
+76, 45
+76, 46
+76, 64
+76, 65
+76, 67
+76, 68
+76, 69
+76, 71
+76, 72
+76, 73
+76, 74
+76, 75
+77, 34
+77, 35
+77, 36
+77, 38
+77, 39
+77, 41
+77, 42
+77, 43
+77, 45
+77, 46
+77, 64
+77, 65
+77, 66
+77, 68
+77, 69
+77, 72
+77, 73
+77, 74
+77, 75
+77, 76
+78, 36
+78, 37
+78, 39
+78, 43
+78, 44
+78, 46
+78, 66
+78, 67
+78, 69
+78, 74
+78, 75
+78, 77
+79, 1
+79, 35
+79, 36
+79, 37
+79, 38
+79, 40
+79, 42
+79, 43
+79, 44
+79, 45
+79, 47
+79, 65
+79, 66
+79, 67
+79, 68
+79, 70
+79, 71
+79, 74
+79, 75
+79, 76
+79, 78
+80, 2
+80, 35
+80, 37
+80, 38
+80, 39
+80, 40
+80, 42
+80, 44
+80, 45
+80, 46
+80, 47
+80, 65
+80, 67
+80, 68
+80, 69
+80, 70
+80, 72
+80, 75
+80, 76
+80, 77
+80, 78
+80, 79
+81, 3
+81, 35
+81, 36
+81, 38
+81, 39
+81, 40
+81, 42
+81, 43
+81, 45
+81, 46
+81, 47
+81, 65
+81, 66
+81, 68
+81, 69
+81, 70
+81, 73
+81, 74
+81, 76
+81, 77
+81, 78
+81, 79
+81, 80
+82, 36
+82, 37
+82, 39
+82, 43
+82, 44
+82, 46
+82, 66
+82, 67
+82, 69
+82, 71
+82, 73
+82, 74
+82, 78
+82, 79
+82, 81
+83, 34
+83, 36
+83, 37
+83, 38
+83, 40
+83, 41
+83, 43
+83, 44
+83, 45
+83, 47
+83, 64
+83, 66
+83, 67
+83, 68
+83, 70
+83, 71
+83, 72
+83, 75
+83, 78
+83, 79
+83, 80
+83, 82
+84, 4
+84, 34
+84, 37
+84, 38
+84, 39
+84, 40
+84, 41
+84, 44
+84, 45
+84, 46
+84, 47
+84, 64
+84, 67
+84, 68
+84, 69
+84, 70
+84, 71
+84, 72
+84, 73
+84, 76
+84, 79
+84, 80
+84, 81
+84, 82
+84, 83
+85, 34
+85, 36
+85, 38
+85, 39
+85, 40
+85, 41
+85, 43
+85, 45
+85, 46
+85, 47
+85, 64
+85, 66
+85, 68
+85, 69
+85, 70
+85, 72
+85, 73
+85, 77
+85, 78
+85, 80
+85, 81
+85, 82
+85, 83
+85, 84
+86, 48
+86, 49
+86, 51
+86, 52
+86, 53
+86, 55
+86, 60
+86, 61
+86, 63
+86, 71
+86, 73
+86, 74
+86, 75
+86, 77
+86, 82
+86, 83
+86, 85
+87, 34
+87, 35
+87, 40
+87, 41
+87, 42
+87, 47
+87, 48
+87, 49
+87, 50
+87, 52
+87, 53
+87, 54
+87, 60
+87, 61
+87, 62
+87, 71
+87, 72
+87, 74
+87, 75
+87, 76
+87, 82
+87, 83
+87, 84
+87, 86
+88, 5
+88, 34
+88, 35
+88, 40
+88, 41
+88, 42
+88, 47
+88, 49
+88, 50
+88, 51
+88, 53
+88, 54
+88, 55
+88, 61
+88, 62
+88, 63
+88, 71
+88, 72
+88, 73
+88, 75
+88, 76
+88, 77
+88, 83
+88, 84
+88, 85
+88, 86
+88, 87
+89, 34
+89, 35
+89, 40
+89, 41
+89, 42
+89, 47
+89, 48
+89, 50
+89, 51
+89, 52
+89, 54
+89, 55
+89, 60
+89, 62
+89, 63
+89, 72
+89, 73
+89, 74
+89, 76
+89, 77
+89, 82
+89, 84
+89, 85
+89, 86
+89, 87
+89, 88
+90, 36
+90, 37
+90, 39
+90, 43
+90, 44
+90, 46
+90, 48
+90, 49
+90, 51
+90, 52
+90, 53
+90, 55
+90, 56
+90, 57
+90, 59
+90, 71
+90, 73
+90, 74
+90, 75
+90, 77
+90, 78
+90, 79
+90, 81
+90, 86
+90, 87
+90, 89
+91, 34
+91, 35
+91, 36
+91, 37
+91, 38
+91, 41
+91, 42
+91, 43
+91, 44
+91, 45
+91, 48
+91, 49
+91, 50
+91, 52
+91, 53
+91, 54
+91, 56
+91, 57
+91, 58
+91, 71
+91, 72
+91, 74
+91, 75
+91, 76
+91, 78
+91, 79
+91, 80
+91, 86
+91, 87
+91, 88
+91, 90
+92, 6
+92, 34
+92, 35
+92, 37
+92, 38
+92, 39
+92, 41
+92, 42
+92, 44
+92, 45
+92, 46
+92, 49
+92, 50
+92, 51
+92, 53
+92, 54
+92, 55
+92, 57
+92, 58
+92, 59
+92, 71
+92, 72
+92, 73
+92, 75
+92, 76
+92, 77
+92, 79
+92, 80
+92, 81
+92, 87
+92, 88
+92, 89
+92, 90
+92, 91
+93, 34
+93, 35
+93, 36
+93, 38
+93, 39
+93, 41
+93, 42
+93, 43
+93, 45
+93, 46
+93, 48
+93, 50
+93, 51
+93, 52
+93, 54
+93, 55
+93, 56
+93, 58
+93, 59
+93, 72
+93, 73
+93, 74
+93, 76
+93, 77
+93, 78
+93, 80
+93, 81
+93, 86
+93, 88
+93, 89
+93, 90
+93, 91
+93, 92
+94, 7
+94, 36
+94, 37
+94, 39
+94, 43
+94, 44
+94, 46
+94, 52
+94, 53
+94, 55
+94, 56
+94, 57
+94, 59
+94, 60
+94, 61
+94, 63
+94, 74
+94, 75
+94, 77
+94, 78
+94, 79
+94, 81
+94, 82
+94, 83
+94, 85
+94, 86
+94, 90
+94, 91
+94, 93
+95, 8
+95, 35
+95, 36
+95, 37
+95, 38
+95, 40
+95, 42
+95, 43
+95, 44
+95, 45
+95, 47
+95, 52
+95, 53
+95, 54
+95, 56
+95, 57
+95, 58
+95, 60
+95, 61
+95, 62
+95, 74
+95, 75
+95, 76
+95, 78
+95, 79
+95, 80
+95, 82
+95, 83
+95, 84
+95, 87
+95, 90
+95, 91
+95, 92
+95, 94
+96, 9
+96, 35
+96, 37
+96, 38
+96, 39
+96, 40
+96, 42
+96, 44
+96, 45
+96, 46
+96, 47
+96, 53
+96, 54
+96, 55
+96, 57
+96, 58
+96, 59
+96, 61
+96, 62
+96, 63
+96, 75
+96, 76
+96, 77
+96, 79
+96, 80
+96, 81
+96, 83
+96, 84
+96, 85
+96, 88
+96, 91
+96, 92
+96, 93
+96, 94
+96, 95
+97, 10
+97, 35
+97, 36
+97, 38
+97, 39
+97, 40
+97, 42
+97, 43
+97, 45
+97, 46
+97, 47
+97, 52
+97, 54
+97, 55
+97, 56
+97, 58
+97, 59
+97, 60
+97, 62
+97, 63
+97, 74
+97, 76
+97, 77
+97, 78
+97, 80
+97, 81
+97, 82
+97, 84
+97, 85
+97, 89
+97, 90
+97, 92
+97, 93
+97, 94
+97, 95
+97, 96
+98, 36
+98, 37
+98, 39
+98, 43
+98, 44
+98, 46
+98, 48
+98, 49
+98, 51
+98, 56
+98, 57
+98, 59
+98, 60
+98, 61
+98, 63
+98, 71
+98, 73
+98, 78
+98, 79
+98, 81
+98, 82
+98, 83
+98, 85
+98, 86
+98, 87
+98, 89
+98, 90
+98, 94
+98, 95
+98, 97
+99, 34
+99, 36
+99, 37
+99, 38
+99, 40
+99, 41
+99, 43
+99, 44
+99, 45
+99, 47
+99, 48
+99, 49
+99, 50
+99, 56
+99, 57
+99, 58
+99, 60
+99, 61
+99, 62
+99, 71
+99, 72
+99, 78
+99, 79
+99, 80
+99, 82
+99, 83
+99, 84
+99, 86
+99, 87
+99, 88
+99, 91
+99, 94
+99, 95
+99, 96
+99, 98
+100, 11
+100, 34
+100, 37
+100, 38
+100, 39
+100, 40
+100, 41
+100, 44
+100, 45
+100, 46
+100, 47
+100, 49
+100, 50
+100, 51
+100, 57
+100, 58
+100, 59
+100, 61
+100, 62
+100, 63
+100, 71
+100, 72
+100, 73
+100, 79
+100, 80
+100, 81
+100, 83
+100, 84
+100, 85
+100, 87
+100, 88
+100, 89
+100, 92
+100, 95
+100, 96
+100, 97
+100, 98
+100, 99
+101, 34
+101, 36
+101, 38
+101, 39
+101, 40
+101, 41
+101, 43
+101, 45
+101, 46
+101, 47
+101, 48
+101, 50
+101, 51
+101, 56
+101, 58
+101, 59
+101, 60
+101, 62
+101, 63
+101, 72
+101, 73
+101, 78
+101, 80
+101, 81
+101, 82
+101, 84
+101, 85
+101, 86
+101, 88
+101, 89
+101, 93
+101, 94
+101, 96
+101, 97
+101, 98
+101, 99
+101, 100
+102, 48
+102, 49
+102, 51
+102, 52
+102, 53
+102, 55
+102, 60
+102, 61
+102, 63
+102, 86
+102, 87
+102, 89
+102, 90
+102, 91
+102, 93
+102, 98
+102, 99
+102, 101
+103, 12
+103, 41
+103, 42
+103, 47
+103, 48
+103, 49
+103, 50
+103, 52
+103, 53
+103, 54
+103, 60
+103, 61
+103, 62
+103, 64
+103, 65
+103, 70
+103, 71
+103, 86
+103, 87
+103, 88
+103, 90
+103, 91
+103, 92
+103, 98
+103, 99
+103, 100
+103, 102
+104, 13
+104, 41
+104, 42
+104, 47
+104, 49
+104, 50
+104, 51
+104, 53
+104, 54
+104, 55
+104, 61
+104, 62
+104, 63
+104, 64
+104, 65
+104, 70
+104, 72
+104, 87
+104, 88
+104, 89
+104, 91
+104, 92
+104, 93
+104, 99
+104, 100
+104, 101
+104, 102
+104, 103
+105, 14
+105, 41
+105, 42
+105, 47
+105, 48
+105, 50
+105, 51
+105, 52
+105, 54
+105, 55
+105, 60
+105, 62
+105, 63
+105, 64
+105, 65
+105, 70
+105, 73
+105, 86
+105, 88
+105, 89
+105, 90
+105, 92
+105, 93
+105, 98
+105, 100
+105, 101
+105, 102
+105, 103
+105, 104
+106, 15
+106, 43
+106, 44
+106, 46
+106, 48
+106, 49
+106, 51
+106, 52
+106, 53
+106, 55
+106, 56
+106, 57
+106, 59
+106, 66
+106, 67
+106, 69
+106, 74
+106, 86
+106, 87
+106, 89
+106, 90
+106, 91
+106, 93
+106, 94
+106, 95
+106, 97
+106, 102
+106, 103
+106, 105
+107, 16
+107, 41
+107, 42
+107, 43
+107, 44
+107, 45
+107, 48
+107, 49
+107, 50
+107, 52
+107, 53
+107, 54
+107, 56
+107, 57
+107, 58
+107, 64
+107, 65
+107, 66
+107, 67
+107, 68
+107, 75
+107, 86
+107, 87
+107, 88
+107, 90
+107, 91
+107, 92
+107, 94
+107, 95
+107, 96
+107, 102
+107, 103
+107, 104
+107, 106
+108, 17
+108, 41
+108, 42
+108, 44
+108, 45
+108, 46
+108, 49
+108, 50
+108, 51
+108, 53
+108, 54
+108, 55
+108, 57
+108, 58
+108, 59
+108, 64
+108, 65
+108, 67
+108, 68
+108, 69
+108, 76
+108, 87
+108, 88
+108, 89
+108, 91
+108, 92
+108, 93
+108, 95
+108, 96
+108, 97
+108, 103
+108, 104
+108, 105
+108, 106
+108, 107
+109, 18
+109, 41
+109, 42
+109, 43
+109, 45
+109, 46
+109, 48
+109, 50
+109, 51
+109, 52
+109, 54
+109, 55
+109, 56
+109, 58
+109, 59
+109, 64
+109, 65
+109, 66
+109, 68
+109, 69
+109, 77
+109, 86
+109, 88
+109, 89
+109, 90
+109, 92
+109, 93
+109, 94
+109, 96
+109, 97
+109, 102
+109, 104
+109, 105
+109, 106
+109, 107
+109, 108
+110, 19
+110, 43
+110, 44
+110, 46
+110, 52
+110, 53
+110, 55
+110, 56
+110, 57
+110, 59
+110, 60
+110, 61
+110, 63
+110, 66
+110, 67
+110, 69
+110, 78
+110, 90
+110, 91
+110, 93
+110, 94
+110, 95
+110, 97
+110, 98
+110, 99
+110, 101
+110, 102
+110, 106
+110, 107
+110, 109
+111, 20
+111, 42
+111, 43
+111, 44
+111, 45
+111, 47
+111, 52
+111, 53
+111, 54
+111, 56
+111, 57
+111, 58
+111, 60
+111, 61
+111, 62
+111, 65
+111, 66
+111, 67
+111, 68
+111, 70
+111, 79
+111, 90
+111, 91
+111, 92
+111, 94
+111, 95
+111, 96
+111, 98
+111, 99
+111, 100
+111, 103
+111, 106
+111, 107
+111, 108
+111, 110
+112, 21
+112, 42
+112, 44
+112, 45
+112, 46
+112, 47
+112, 53
+112, 54
+112, 55
+112, 57
+112, 58
+112, 59
+112, 61
+112, 62
+112, 63
+112, 65
+112, 67
+112, 68
+112, 69
+112, 70
+112, 80
+112, 91
+112, 92
+112, 93
+112, 95
+112, 96
+112, 97
+112, 99
+112, 100
+112, 101
+112, 104
+112, 107
+112, 108
+112, 109
+112, 110
+112, 111
+113, 22
+113, 42
+113, 43
+113, 45
+113, 46
+113, 47
+113, 52
+113, 54
+113, 55
+113, 56
+113, 58
+113, 59
+113, 60
+113, 62
+113, 63
+113, 65
+113, 66
+113, 68
+113, 69
+113, 70
+113, 81
+113, 90
+113, 92
+113, 93
+113, 94
+113, 96
+113, 97
+113, 98
+113, 100
+113, 101
+113, 105
+113, 106
+113, 108
+113, 109
+113, 110
+113, 111
+113, 112
+114, 23
+114, 43
+114, 44
+114, 46
+114, 48
+114, 49
+114, 51
+114, 56
+114, 57
+114, 59
+114, 60
+114, 61
+114, 63
+114, 66
+114, 67
+114, 69
+114, 82
+114, 86
+114, 87
+114, 89
+114, 94
+114, 95
+114, 97
+114, 98
+114, 99
+114, 101
+114, 102
+114, 103
+114, 105
+114, 106
+114, 110
+114, 111
+114, 113
+115, 24
+115, 41
+115, 43
+115, 44
+115, 45
+115, 47
+115, 48
+115, 49
+115, 50
+115, 56
+115, 57
+115, 58
+115, 60
+115, 61
+115, 62
+115, 64
+115, 66
+115, 67
+115, 68
+115, 70
+115, 83
+115, 86
+115, 87
+115, 88
+115, 94
+115, 95
+115, 96
+115, 98
+115, 99
+115, 100
+115, 102
+115, 103
+115, 104
+115, 107
+115, 110
+115, 111
+115, 112
+115, 114
+116, 25
+116, 41
+116, 44
+116, 45
+116, 46
+116, 47
+116, 49
+116, 50
+116, 51
+116, 57
+116, 58
+116, 59
+116, 61
+116, 62
+116, 63
+116, 64
+116, 67
+116, 68
+116, 69
+116, 70
+116, 84
+116, 87
+116, 88
+116, 89
+116, 95
+116, 96
+116, 97
+116, 99
+116, 100
+116, 101
+116, 103
+116, 104
+116, 105
+116, 108
+116, 111
+116, 112
+116, 113
+116, 114
+116, 115
+117, 26
+117, 41
+117, 43
+117, 45
+117, 46
+117, 47
+117, 48
+117, 50
+117, 51
+117, 56
+117, 58
+117, 59
+117, 60
+117, 62
+117, 63
+117, 64
+117, 66
+117, 68
+117, 69
+117, 70
+117, 85
+117, 86
+117, 88
+117, 89
+117, 94
+117, 96
+117, 97
+117, 98
+117, 100
+117, 101
+117, 102
+117, 104
+117, 105
+117, 109
+117, 110
+117, 112
+117, 113
+117, 114
+117, 115
+117, 116
+118, 48
+118, 49
+118, 51
+118, 52
+118, 53
+118, 55
+118, 60
+118, 61
+118, 63
+118, 71
+118, 73
+118, 74
+118, 75
+118, 77
+118, 82
+118, 83
+118, 85
+118, 86
+118, 102
+118, 103
+118, 105
+118, 106
+118, 107
+118, 109
+118, 114
+118, 115
+118, 117
+119, 34
+119, 35
+119, 40
+119, 48
+119, 49
+119, 50
+119, 52
+119, 53
+119, 54
+119, 60
+119, 61
+119, 62
+119, 64
+119, 65
+119, 70
+119, 71
+119, 72
+119, 74
+119, 75
+119, 76
+119, 82
+119, 83
+119, 84
+119, 87
+119, 102
+119, 103
+119, 104
+119, 106
+119, 107
+119, 108
+119, 114
+119, 115
+119, 116
+119, 118
+120, 27
+120, 34
+120, 35
+120, 40
+120, 49
+120, 50
+120, 51
+120, 53
+120, 54
+120, 55
+120, 61
+120, 62
+120, 63
+120, 64
+120, 65
+120, 70
+120, 71
+120, 72
+120, 73
+120, 75
+120, 76
+120, 77
+120, 83
+120, 84
+120, 85
+120, 88
+120, 103
+120, 104
+120, 105
+120, 107
+120, 108
+120, 109
+120, 115
+120, 116
+120, 117
+120, 118
+120, 119
+121, 34
+121, 35
+121, 40
+121, 48
+121, 50
+121, 51
+121, 52
+121, 54
+121, 55
+121, 60
+121, 62
+121, 63
+121, 64
+121, 65
+121, 70
+121, 72
+121, 73
+121, 74
+121, 76
+121, 77
+121, 82
+121, 84
+121, 85
+121, 89
+121, 102
+121, 104
+121, 105
+121, 106
+121, 108
+121, 109
+121, 114
+121, 116
+121, 117
+121, 118
+121, 119
+121, 120
+122, 36
+122, 37
+122, 39
+122, 48
+122, 49
+122, 51
+122, 52
+122, 53
+122, 55
+122, 56
+122, 57
+122, 59
+122, 66
+122, 67
+122, 69
+122, 71
+122, 73
+122, 74
+122, 75
+122, 77
+122, 78
+122, 79
+122, 81
+122, 90
+122, 102
+122, 103
+122, 105
+122, 106
+122, 107
+122, 109
+122, 110
+122, 111
+122, 113
+122, 118
+122, 119
+122, 121
+123, 34
+123, 35
+123, 36
+123, 37
+123, 38
+123, 48
+123, 49
+123, 50
+123, 52
+123, 53
+123, 54
+123, 56
+123, 57
+123, 58
+123, 64
+123, 65
+123, 66
+123, 67
+123, 68
+123, 71
+123, 72
+123, 74
+123, 75
+123, 76
+123, 78
+123, 79
+123, 80
+123, 91
+123, 102
+123, 103
+123, 104
+123, 106
+123, 107
+123, 108
+123, 110
+123, 111
+123, 112
+123, 118
+123, 119
+123, 120
+123, 122
+124, 28
+124, 34
+124, 35
+124, 37
+124, 38
+124, 39
+124, 49
+124, 50
+124, 51
+124, 53
+124, 54
+124, 55
+124, 57
+124, 58
+124, 59
+124, 64
+124, 65
+124, 67
+124, 68
+124, 69
+124, 71
+124, 72
+124, 73
+124, 75
+124, 76
+124, 77
+124, 79
+124, 80
+124, 81
+124, 92
+124, 103
+124, 104
+124, 105
+124, 107
+124, 108
+124, 109
+124, 111
+124, 112
+124, 113
+124, 119
+124, 120
+124, 121
+124, 122
+124, 123
+125, 34
+125, 35
+125, 36
+125, 38
+125, 39
+125, 48
+125, 50
+125, 51
+125, 52
+125, 54
+125, 55
+125, 56
+125, 58
+125, 59
+125, 64
+125, 65
+125, 66
+125, 68
+125, 69
+125, 72
+125, 73
+125, 74
+125, 76
+125, 77
+125, 78
+125, 80
+125, 81
+125, 93
+125, 102
+125, 104
+125, 105
+125, 106
+125, 108
+125, 109
+125, 110
+125, 112
+125, 113
+125, 118
+125, 120
+125, 121
+125, 122
+125, 123
+125, 124
+126, 29
+126, 36
+126, 37
+126, 39
+126, 52
+126, 53
+126, 55
+126, 56
+126, 57
+126, 59
+126, 60
+126, 61
+126, 63
+126, 66
+126, 67
+126, 69
+126, 74
+126, 75
+126, 77
+126, 78
+126, 79
+126, 81
+126, 82
+126, 83
+126, 85
+126, 94
+126, 106
+126, 107
+126, 109
+126, 110
+126, 111
+126, 113
+126, 114
+126, 115
+126, 117
+126, 118
+126, 122
+126, 123
+126, 125
+127, 30
+127, 35
+127, 36
+127, 37
+127, 38
+127, 40
+127, 52
+127, 53
+127, 54
+127, 56
+127, 57
+127, 58
+127, 60
+127, 61
+127, 62
+127, 65
+127, 66
+127, 67
+127, 68
+127, 70
+127, 74
+127, 75
+127, 76
+127, 78
+127, 79
+127, 80
+127, 82
+127, 83
+127, 84
+127, 95
+127, 106
+127, 107
+127, 108
+127, 110
+127, 111
+127, 112
+127, 114
+127, 115
+127, 116
+127, 119
+127, 122
+127, 123
+127, 124
+127, 126
+128, 31
+128, 35
+128, 37
+128, 38
+128, 39
+128, 40
+128, 53
+128, 54
+128, 55
+128, 57
+128, 58
+128, 59
+128, 61
+128, 62
+128, 63
+128, 65
+128, 67
+128, 68
+128, 69
+128, 70
+128, 75
+128, 76
+128, 77
+128, 79
+128, 80
+128, 81
+128, 83
+128, 84
+128, 85
+128, 96
+128, 107
+128, 108
+128, 109
+128, 111
+128, 112
+128, 113
+128, 115
+128, 116
+128, 117
+128, 120
+128, 123
+128, 124
+128, 125
+128, 126
+128, 127
+129, 32
+129, 35
+129, 36
+129, 38
+129, 39
+129, 40
+129, 52
+129, 54
+129, 55
+129, 56
+129, 58
+129, 59
+129, 60
+129, 62
+129, 63
+129, 65
+129, 66
+129, 68
+129, 69
+129, 70
+129, 74
+129, 76
+129, 77
+129, 78
+129, 80
+129, 81
+129, 82
+129, 84
+129, 85
+129, 97
+129, 106
+129, 108
+129, 109
+129, 110
+129, 112
+129, 113
+129, 114
+129, 116
+129, 117
+129, 121
+129, 122
+129, 124
+129, 125
+129, 126
+129, 127
+129, 128
+130, 36
+130, 37
+130, 39
+130, 48
+130, 49
+130, 51
+130, 56
+130, 57
+130, 59
+130, 60
+130, 61
+130, 63
+130, 66
+130, 67
+130, 69
+130, 71
+130, 73
+130, 78
+130, 79
+130, 81
+130, 82
+130, 83
+130, 85
+130, 98
+130, 102
+130, 103
+130, 105
+130, 110
+130, 111
+130, 113
+130, 114
+130, 115
+130, 117
+130, 118
+130, 119
+130, 121
+130, 122
+130, 126
+130, 127
+130, 129
+131, 34
+131, 36
+131, 37
+131, 38
+131, 40
+131, 48
+131, 49
+131, 50
+131, 56
+131, 57
+131, 58
+131, 60
+131, 61
+131, 62
+131, 64
+131, 66
+131, 67
+131, 68
+131, 70
+131, 71
+131, 72
+131, 78
+131, 79
+131, 80
+131, 82
+131, 83
+131, 84
+131, 99
+131, 102
+131, 103
+131, 104
+131, 110
+131, 111
+131, 112
+131, 114
+131, 115
+131, 116
+131, 118
+131, 119
+131, 120
+131, 123
+131, 126
+131, 127
+131, 128
+131, 130
+132, 33
+132, 34
+132, 37
+132, 38
+132, 39
+132, 40
+132, 49
+132, 50
+132, 51
+132, 57
+132, 58
+132, 59
+132, 61
+132, 62
+132, 63
+132, 64
+132, 67
+132, 68
+132, 69
+132, 70
+132, 71
+132, 72
+132, 73
+132, 79
+132, 80
+132, 81
+132, 83
+132, 84
+132, 85
+132, 100
+132, 103
+132, 104
+132, 105
+132, 111
+132, 112
+132, 113
+132, 115
+132, 116
+132, 117
+132, 119
+132, 120
+132, 121
+132, 124
+132, 127
+132, 128
+132, 129
+132, 130
+132, 131
+133, 34
+133, 36
+133, 38
+133, 39
+133, 40
+133, 48
+133, 50
+133, 51
+133, 56
+133, 58
+133, 59
+133, 60
+133, 62
+133, 63
+133, 64
+133, 66
+133, 68
+133, 69
+133, 70
+133, 72
+133, 73
+133, 78
+133, 80
+133, 81
+133, 82
+133, 84
+133, 85
+133, 101
+133, 102
+133, 104
+133, 105
+133, 110
+133, 112
+133, 113
+133, 114
+133, 116
+133, 117
+133, 118
+133, 120
+133, 121
+133, 125
+133, 126
+133, 128
+133, 129
+133, 130
+133, 131
+133, 132
+134, 0
+134, 4
+134, 5
+134, 6
+134, 11
+134, 27
+134, 28
+134, 33
+134, 34
+134, 71
+134, 72
+134, 73
+134, 75
+134, 76
+134, 77
+134, 83
+134, 84
+134, 85
+134, 87
+134, 88
+134, 89
+134, 91
+134, 92
+134, 93
+134, 99
+134, 100
+134, 101
+134, 119
+134, 120
+134, 121
+134, 123
+134, 124
+134, 125
+134, 131
+134, 132
+134, 133
+135, 0
+135, 1
+135, 2
+135, 3
+135, 5
+135, 6
+135, 8
+135, 9
+135, 10
+135, 27
+135, 28
+135, 30
+135, 31
+135, 32
+135, 35
+135, 71
+135, 72
+135, 73
+135, 75
+135, 76
+135, 77
+135, 79
+135, 80
+135, 81
+135, 87
+135, 88
+135, 89
+135, 91
+135, 92
+135, 93
+135, 95
+135, 96
+135, 97
+135, 119
+135, 120
+135, 121
+135, 123
+135, 124
+135, 125
+135, 127
+135, 128
+135, 129
+135, 134
+136, 1
+136, 3
+136, 7
+136, 8
+136, 10
+136, 29
+136, 30
+136, 32
+136, 36
+136, 74
+136, 75
+136, 77
+136, 78
+136, 79
+136, 81
+136, 82
+136, 83
+136, 85
+136, 90
+136, 91
+136, 93
+136, 94
+136, 95
+136, 97
+136, 98
+136, 99
+136, 101
+136, 122
+136, 123
+136, 125
+136, 126
+136, 127
+136, 129
+136, 130
+136, 131
+136, 133
+137, 0
+137, 1
+137, 2
+137, 4
+137, 6
+137, 7
+137, 8
+137, 9
+137, 11
+137, 28
+137, 29
+137, 30
+137, 31
+137, 33
+137, 37
+137, 74
+137, 75
+137, 76
+137, 78
+137, 79
+137, 80
+137, 82
+137, 83
+137, 84
+137, 90
+137, 91
+137, 92
+137, 94
+137, 95
+137, 96
+137, 98
+137, 99
+137, 100
+137, 122
+137, 123
+137, 124
+137, 126
+137, 127
+137, 128
+137, 130
+137, 131
+137, 132
+137, 135
+137, 136
+138, 0
+138, 1
+138, 2
+138, 3
+138, 4
+138, 6
+138, 8
+138, 9
+138, 10
+138, 11
+138, 28
+138, 30
+138, 31
+138, 32
+138, 33
+138, 38
+138, 75
+138, 76
+138, 77
+138, 79
+138, 80
+138, 81
+138, 83
+138, 84
+138, 85
+138, 91
+138, 92
+138, 93
+138, 95
+138, 96
+138, 97
+138, 99
+138, 100
+138, 101
+138, 123
+138, 124
+138, 125
+138, 127
+138, 128
+138, 129
+138, 131
+138, 132
+138, 133
+138, 134
+138, 135
+138, 136
+138, 137
+139, 0
+139, 2
+139, 3
+139, 4
+139, 6
+139, 7
+139, 9
+139, 10
+139, 11
+139, 28
+139, 29
+139, 31
+139, 32
+139, 33
+139, 39
+139, 74
+139, 76
+139, 77
+139, 78
+139, 80
+139, 81
+139, 82
+139, 84
+139, 85
+139, 90
+139, 92
+139, 93
+139, 94
+139, 96
+139, 97
+139, 98
+139, 100
+139, 101
+139, 122
+139, 124
+139, 125
+139, 126
+139, 128
+139, 129
+139, 130
+139, 132
+139, 133
+139, 135
+139, 136
+139, 137
+139, 138
+140, 1
+140, 2
+140, 3
+140, 4
+140, 5
+140, 8
+140, 9
+140, 10
+140, 11
+140, 27
+140, 30
+140, 31
+140, 32
+140, 33
+140, 40
+140, 71
+140, 72
+140, 73
+140, 79
+140, 80
+140, 81
+140, 83
+140, 84
+140, 85
+140, 87
+140, 88
+140, 89
+140, 95
+140, 96
+140, 97
+140, 99
+140, 100
+140, 101
+140, 119
+140, 120
+140, 121
+140, 127
+140, 128
+140, 129
+140, 131
+140, 132
+140, 133
+140, 134
+140, 135
+140, 137
+140, 138
+140, 139
+141, 0
+141, 4
+141, 5
+141, 6
+141, 11
+141, 12
+141, 13
+141, 14
+141, 16
+141, 17
+141, 18
+141, 24
+141, 25
+141, 26
+141, 41
+141, 71
+141, 72
+141, 73
+141, 75
+141, 76
+141, 77
+141, 83
+141, 84
+141, 85
+141, 87
+141, 88
+141, 89
+141, 91
+141, 92
+141, 93
+141, 99
+141, 100
+141, 101
+141, 103
+141, 104
+141, 105
+141, 107
+141, 108
+141, 109
+141, 115
+141, 116
+141, 117
+141, 134
+141, 135
+141, 140
+142, 0
+142, 1
+142, 2
+142, 3
+142, 5
+142, 6
+142, 8
+142, 9
+142, 10
+142, 12
+142, 13
+142, 14
+142, 16
+142, 17
+142, 18
+142, 20
+142, 21
+142, 22
+142, 42
+142, 71
+142, 72
+142, 73
+142, 75
+142, 76
+142, 77
+142, 79
+142, 80
+142, 81
+142, 87
+142, 88
+142, 89
+142, 91
+142, 92
+142, 93
+142, 95
+142, 96
+142, 97
+142, 103
+142, 104
+142, 105
+142, 107
+142, 108
+142, 109
+142, 111
+142, 112
+142, 113
+142, 134
+142, 135
+142, 137
+142, 138
+142, 139
+142, 141
+143, 1
+143, 3
+143, 7
+143, 8
+143, 10
+143, 15
+143, 16
+143, 18
+143, 19
+143, 20
+143, 22
+143, 23
+143, 24
+143, 26
+143, 43
+143, 74
+143, 75
+143, 77
+143, 78
+143, 79
+143, 81
+143, 82
+143, 83
+143, 85
+143, 90
+143, 91
+143, 93
+143, 94
+143, 95
+143, 97
+143, 98
+143, 99
+143, 101
+143, 106
+143, 107
+143, 109
+143, 110
+143, 111
+143, 113
+143, 114
+143, 115
+143, 117
+143, 136
+143, 137
+143, 139
+144, 0
+144, 1
+144, 2
+144, 4
+144, 6
+144, 7
+144, 8
+144, 9
+144, 11
+144, 15
+144, 16
+144, 17
+144, 19
+144, 20
+144, 21
+144, 23
+144, 24
+144, 25
+144, 44
+144, 74
+144, 75
+144, 76
+144, 78
+144, 79
+144, 80
+144, 82
+144, 83
+144, 84
+144, 90
+144, 91
+144, 92
+144, 94
+144, 95
+144, 96
+144, 98
+144, 99
+144, 100
+144, 106
+144, 107
+144, 108
+144, 110
+144, 111
+144, 112
+144, 114
+144, 115
+144, 116
+144, 135
+144, 136
+144, 137
+144, 138
+144, 140
+144, 142
+144, 143
+145, 0
+145, 1
+145, 2
+145, 3
+145, 4
+145, 6
+145, 8
+145, 9
+145, 10
+145, 11
+145, 16
+145, 17
+145, 18
+145, 20
+145, 21
+145, 22
+145, 24
+145, 25
+145, 26
+145, 45
+145, 75
+145, 76
+145, 77
+145, 79
+145, 80
+145, 81
+145, 83
+145, 84
+145, 85
+145, 91
+145, 92
+145, 93
+145, 95
+145, 96
+145, 97
+145, 99
+145, 100
+145, 101
+145, 107
+145, 108
+145, 109
+145, 111
+145, 112
+145, 113
+145, 115
+145, 116
+145, 117
+145, 135
+145, 137
+145, 138
+145, 139
+145, 140
+145, 141
+145, 142
+145, 143
+145, 144
+146, 0
+146, 2
+146, 3
+146, 4
+146, 6
+146, 7
+146, 9
+146, 10
+146, 11
+146, 15
+146, 17
+146, 18
+146, 19
+146, 21
+146, 22
+146, 23
+146, 25
+146, 26
+146, 46
+146, 74
+146, 76
+146, 77
+146, 78
+146, 80
+146, 81
+146, 82
+146, 84
+146, 85
+146, 90
+146, 92
+146, 93
+146, 94
+146, 96
+146, 97
+146, 98
+146, 100
+146, 101
+146, 106
+146, 108
+146, 109
+146, 110
+146, 112
+146, 113
+146, 114
+146, 116
+146, 117
+146, 135
+146, 136
+146, 138
+146, 139
+146, 140
+146, 142
+146, 143
+146, 144
+146, 145
+147, 1
+147, 2
+147, 3
+147, 4
+147, 5
+147, 8
+147, 9
+147, 10
+147, 11
+147, 12
+147, 13
+147, 14
+147, 20
+147, 21
+147, 22
+147, 24
+147, 25
+147, 26
+147, 47
+147, 71
+147, 72
+147, 73
+147, 79
+147, 80
+147, 81
+147, 83
+147, 84
+147, 85
+147, 87
+147, 88
+147, 89
+147, 95
+147, 96
+147, 97
+147, 99
+147, 100
+147, 101
+147, 103
+147, 104
+147, 105
+147, 111
+147, 112
+147, 113
+147, 115
+147, 116
+147, 117
+147, 134
+147, 137
+147, 138
+147, 139
+147, 140
+147, 141
+147, 142
+147, 144
+147, 145
+147, 146
+148, 12
+148, 14
+148, 15
+148, 16
+148, 18
+148, 23
+148, 24
+148, 26
+148, 48
+148, 86
+148, 87
+148, 89
+148, 90
+148, 91
+148, 93
+148, 98
+148, 99
+148, 101
+148, 102
+148, 103
+148, 105
+148, 106
+148, 107
+148, 109
+148, 114
+148, 115
+148, 117
+148, 118
+148, 119
+148, 121
+148, 122
+148, 123
+148, 125
+148, 130
+148, 131
+148, 133
+149, 5
+149, 6
+149, 11
+149, 12
+149, 13
+149, 15
+149, 16
+149, 17
+149, 23
+149, 24
+149, 25
+149, 27
+149, 28
+149, 33
+149, 49
+149, 86
+149, 87
+149, 88
+149, 90
+149, 91
+149, 92
+149, 98
+149, 99
+149, 100
+149, 102
+149, 103
+149, 104
+149, 106
+149, 107
+149, 108
+149, 114
+149, 115
+149, 116
+149, 118
+149, 119
+149, 120
+149, 122
+149, 123
+149, 124
+149, 130
+149, 131
+149, 132
+149, 141
+149, 142
+149, 147
+149, 148
+150, 5
+150, 6
+150, 11
+150, 12
+150, 13
+150, 14
+150, 16
+150, 17
+150, 18
+150, 24
+150, 25
+150, 26
+150, 27
+150, 28
+150, 33
+150, 50
+150, 87
+150, 88
+150, 89
+150, 91
+150, 92
+150, 93
+150, 99
+150, 100
+150, 101
+150, 103
+150, 104
+150, 105
+150, 107
+150, 108
+150, 109
+150, 115
+150, 116
+150, 117
+150, 119
+150, 120
+150, 121
+150, 123
+150, 124
+150, 125
+150, 131
+150, 132
+150, 133
+150, 134
+150, 141
+150, 142
+150, 147
+150, 148
+150, 149
+151, 5
+151, 6
+151, 11
+151, 13
+151, 14
+151, 15
+151, 17
+151, 18
+151, 23
+151, 25
+151, 26
+151, 27
+151, 28
+151, 33
+151, 51
+151, 86
+151, 88
+151, 89
+151, 90
+151, 92
+151, 93
+151, 98
+151, 100
+151, 101
+151, 102
+151, 104
+151, 105
+151, 106
+151, 108
+151, 109
+151, 114
+151, 116
+151, 117
+151, 118
+151, 120
+151, 121
+151, 122
+151, 124
+151, 125
+151, 130
+151, 132
+151, 133
+151, 141
+151, 142
+151, 147
+151, 148
+151, 149
+151, 150
+152, 7
+152, 8
+152, 10
+152, 12
+152, 14
+152, 15
+152, 16
+152, 18
+152, 19
+152, 20
+152, 22
+152, 29
+152, 30
+152, 32
+152, 52
+152, 86
+152, 87
+152, 89
+152, 90
+152, 91
+152, 93
+152, 94
+152, 95
+152, 97
+152, 102
+152, 103
+152, 105
+152, 106
+152, 107
+152, 109
+152, 110
+152, 111
+152, 113
+152, 118
+152, 119
+152, 121
+152, 122
+152, 123
+152, 125
+152, 126
+152, 127
+152, 129
+152, 143
+152, 144
+152, 146
+152, 148
+152, 149
+152, 151
+153, 5
+153, 6
+153, 7
+153, 8
+153, 9
+153, 12
+153, 13
+153, 15
+153, 16
+153, 17
+153, 19
+153, 20
+153, 21
+153, 27
+153, 28
+153, 29
+153, 30
+153, 31
+153, 53
+153, 86
+153, 87
+153, 88
+153, 90
+153, 91
+153, 92
+153, 94
+153, 95
+153, 96
+153, 102
+153, 103
+153, 104
+153, 106
+153, 107
+153, 108
+153, 110
+153, 111
+153, 112
+153, 118
+153, 119
+153, 120
+153, 122
+153, 123
+153, 124
+153, 126
+153, 127
+153, 128
+153, 141
+153, 142
+153, 143
+153, 144
+153, 145
+153, 148
+153, 149
+153, 150
+153, 152
+154, 5
+154, 6
+154, 8
+154, 9
+154, 10
+154, 12
+154, 13
+154, 14
+154, 16
+154, 17
+154, 18
+154, 20
+154, 21
+154, 22
+154, 27
+154, 28
+154, 30
+154, 31
+154, 32
+154, 54
+154, 87
+154, 88
+154, 89
+154, 91
+154, 92
+154, 93
+154, 95
+154, 96
+154, 97
+154, 103
+154, 104
+154, 105
+154, 107
+154, 108
+154, 109
+154, 111
+154, 112
+154, 113
+154, 119
+154, 120
+154, 121
+154, 123
+154, 124
+154, 125
+154, 127
+154, 128
+154, 129
+154, 135
+154, 141
+154, 142
+154, 144
+154, 145
+154, 146
+154, 149
+154, 150
+154, 151
+154, 152
+154, 153
+155, 5
+155, 6
+155, 7
+155, 9
+155, 10
+155, 13
+155, 14
+155, 15
+155, 17
+155, 18
+155, 19
+155, 21
+155, 22
+155, 27
+155, 28
+155, 29
+155, 31
+155, 32
+155, 55
+155, 86
+155, 88
+155, 89
+155, 90
+155, 92
+155, 93
+155, 94
+155, 96
+155, 97
+155, 102
+155, 104
+155, 105
+155, 106
+155, 108
+155, 109
+155, 110
+155, 112
+155, 113
+155, 118
+155, 120
+155, 121
+155, 122
+155, 124
+155, 125
+155, 126
+155, 128
+155, 129
+155, 141
+155, 142
+155, 143
+155, 145
+155, 146
+155, 148
+155, 150
+155, 151
+155, 152
+155, 153
+155, 154
+156, 7
+156, 8
+156, 10
+156, 15
+156, 16
+156, 18
+156, 19
+156, 20
+156, 22
+156, 23
+156, 24
+156, 26
+156, 29
+156, 30
+156, 32
+156, 56
+156, 90
+156, 91
+156, 93
+156, 94
+156, 95
+156, 97
+156, 98
+156, 99
+156, 101
+156, 106
+156, 107
+156, 109
+156, 110
+156, 111
+156, 113
+156, 114
+156, 115
+156, 117
+156, 122
+156, 123
+156, 125
+156, 126
+156, 127
+156, 129
+156, 130
+156, 131
+156, 133
+156, 136
+156, 143
+156, 144
+156, 146
+156, 148
+156, 152
+156, 153
+156, 155
+157, 6
+157, 7
+157, 8
+157, 9
+157, 11
+157, 15
+157, 16
+157, 17
+157, 19
+157, 20
+157, 21
+157, 23
+157, 24
+157, 25
+157, 28
+157, 29
+157, 30
+157, 31
+157, 33
+157, 57
+157, 90
+157, 91
+157, 92
+157, 94
+157, 95
+157, 96
+157, 98
+157, 99
+157, 100
+157, 106
+157, 107
+157, 108
+157, 110
+157, 111
+157, 112
+157, 114
+157, 115
+157, 116
+157, 122
+157, 123
+157, 124
+157, 126
+157, 127
+157, 128
+157, 130
+157, 131
+157, 132
+157, 137
+157, 142
+157, 143
+157, 144
+157, 145
+157, 147
+157, 149
+157, 152
+157, 153
+157, 154
+157, 156
+158, 6
+158, 8
+158, 9
+158, 10
+158, 11
+158, 16
+158, 17
+158, 18
+158, 20
+158, 21
+158, 22
+158, 24
+158, 25
+158, 26
+158, 28
+158, 30
+158, 31
+158, 32
+158, 33
+158, 58
+158, 91
+158, 92
+158, 93
+158, 95
+158, 96
+158, 97
+158, 99
+158, 100
+158, 101
+158, 107
+158, 108
+158, 109
+158, 111
+158, 112
+158, 113
+158, 115
+158, 116
+158, 117
+158, 123
+158, 124
+158, 125
+158, 127
+158, 128
+158, 129
+158, 131
+158, 132
+158, 133
+158, 138
+158, 142
+158, 144
+158, 145
+158, 146
+158, 147
+158, 150
+158, 153
+158, 154
+158, 155
+158, 156
+158, 157
+159, 6
+159, 7
+159, 9
+159, 10
+159, 11
+159, 15
+159, 17
+159, 18
+159, 19
+159, 21
+159, 22
+159, 23
+159, 25
+159, 26
+159, 28
+159, 29
+159, 31
+159, 32
+159, 33
+159, 59
+159, 90
+159, 92
+159, 93
+159, 94
+159, 96
+159, 97
+159, 98
+159, 100
+159, 101
+159, 106
+159, 108
+159, 109
+159, 110
+159, 112
+159, 113
+159, 114
+159, 116
+159, 117
+159, 122
+159, 124
+159, 125
+159, 126
+159, 128
+159, 129
+159, 130
+159, 132
+159, 133
+159, 139
+159, 142
+159, 143
+159, 145
+159, 146
+159, 147
+159, 151
+159, 152
+159, 154
+159, 155
+159, 156
+159, 157
+159, 158
+160, 7
+160, 8
+160, 10
+160, 12
+160, 14
+160, 19
+160, 20
+160, 22
+160, 23
+160, 24
+160, 26
+160, 29
+160, 30
+160, 32
+160, 60
+160, 86
+160, 87
+160, 89
+160, 94
+160, 95
+160, 97
+160, 98
+160, 99
+160, 101
+160, 102
+160, 103
+160, 105
+160, 110
+160, 111
+160, 113
+160, 114
+160, 115
+160, 117
+160, 118
+160, 119
+160, 121
+160, 126
+160, 127
+160, 129
+160, 130
+160, 131
+160, 133
+160, 143
+160, 144
+160, 146
+160, 148
+160, 149
+160, 151
+160, 152
+160, 156
+160, 157
+160, 159
+161, 5
+161, 7
+161, 8
+161, 9
+161, 11
+161, 12
+161, 13
+161, 19
+161, 20
+161, 21
+161, 23
+161, 24
+161, 25
+161, 27
+161, 29
+161, 30
+161, 31
+161, 33
+161, 61
+161, 86
+161, 87
+161, 88
+161, 94
+161, 95
+161, 96
+161, 98
+161, 99
+161, 100
+161, 102
+161, 103
+161, 104
+161, 110
+161, 111
+161, 112
+161, 114
+161, 115
+161, 116
+161, 118
+161, 119
+161, 120
+161, 126
+161, 127
+161, 128
+161, 130
+161, 131
+161, 132
+161, 141
+161, 143
+161, 144
+161, 145
+161, 147
+161, 148
+161, 149
+161, 150
+161, 153
+161, 156
+161, 157
+161, 158
+161, 160
+162, 5
+162, 8
+162, 9
+162, 10
+162, 11
+162, 12
+162, 13
+162, 14
+162, 20
+162, 21
+162, 22
+162, 24
+162, 25
+162, 26
+162, 27
+162, 30
+162, 31
+162, 32
+162, 33
+162, 62
+162, 87
+162, 88
+162, 89
+162, 95
+162, 96
+162, 97
+162, 99
+162, 100
+162, 101
+162, 103
+162, 104
+162, 105
+162, 111
+162, 112
+162, 113
+162, 115
+162, 116
+162, 117
+162, 119
+162, 120
+162, 121
+162, 127
+162, 128
+162, 129
+162, 131
+162, 132
+162, 133
+162, 140
+162, 141
+162, 144
+162, 145
+162, 146
+162, 147
+162, 149
+162, 150
+162, 151
+162, 154
+162, 157
+162, 158
+162, 159
+162, 160
+162, 161
+163, 5
+163, 7
+163, 9
+163, 10
+163, 11
+163, 13
+163, 14
+163, 19
+163, 21
+163, 22
+163, 23
+163, 25
+163, 26
+163, 27
+163, 29
+163, 31
+163, 32
+163, 33
+163, 63
+163, 86
+163, 88
+163, 89
+163, 94
+163, 96
+163, 97
+163, 98
+163, 100
+163, 101
+163, 102
+163, 104
+163, 105
+163, 110
+163, 112
+163, 113
+163, 114
+163, 116
+163, 117
+163, 118
+163, 120
+163, 121
+163, 126
+163, 128
+163, 129
+163, 130
+163, 132
+163, 133
+163, 141
+163, 143
+163, 145
+163, 146
+163, 147
+163, 148
+163, 150
+163, 151
+163, 155
+163, 156
+163, 158
+163, 159
+163, 160
+163, 161
+163, 162
+164, 0
+164, 4
+164, 12
+164, 13
+164, 14
+164, 16
+164, 17
+164, 18
+164, 24
+164, 25
+164, 26
+164, 27
+164, 28
+164, 33
+164, 64
+164, 71
+164, 72
+164, 73
+164, 75
+164, 76
+164, 77
+164, 83
+164, 84
+164, 85
+164, 103
+164, 104
+164, 105
+164, 107
+164, 108
+164, 109
+164, 115
+164, 116
+164, 117
+164, 119
+164, 120
+164, 121
+164, 123
+164, 124
+164, 125
+164, 131
+164, 132
+164, 133
+164, 134
+164, 135
+164, 140
+164, 141
+164, 149
+164, 150
+164, 151
+164, 153
+164, 154
+164, 155
+164, 161
+164, 162
+164, 163
+165, 0
+165, 1
+165, 2
+165, 3
+165, 12
+165, 13
+165, 14
+165, 16
+165, 17
+165, 18
+165, 20
+165, 21
+165, 22
+165, 27
+165, 28
+165, 30
+165, 31
+165, 32
+165, 65
+165, 71
+165, 72
+165, 73
+165, 75
+165, 76
+165, 77
+165, 79
+165, 80
+165, 81
+165, 103
+165, 104
+165, 105
+165, 107
+165, 108
+165, 109
+165, 111
+165, 112
+165, 113
+165, 119
+165, 120
+165, 121
+165, 123
+165, 124
+165, 125
+165, 127
+165, 128
+165, 129
+165, 134
+165, 135
+165, 137
+165, 138
+165, 139
+165, 142
+165, 149
+165, 150
+165, 151
+165, 153
+165, 154
+165, 155
+165, 157
+165, 158
+165, 159
+165, 164
+166, 1
+166, 3
+166, 15
+166, 16
+166, 18
+166, 19
+166, 20
+166, 22
+166, 23
+166, 24
+166, 26
+166, 29
+166, 30
+166, 32
+166, 66
+166, 74
+166, 75
+166, 77
+166, 78
+166, 79
+166, 81
+166, 82
+166, 83
+166, 85
+166, 106
+166, 107
+166, 109
+166, 110
+166, 111
+166, 113
+166, 114
+166, 115
+166, 117
+166, 122
+166, 123
+166, 125
+166, 126
+166, 127
+166, 129
+166, 130
+166, 131
+166, 133
+166, 136
+166, 137
+166, 139
+166, 143
+166, 152
+166, 153
+166, 155
+166, 156
+166, 157
+166, 159
+166, 160
+166, 161
+166, 163
+167, 0
+167, 1
+167, 2
+167, 4
+167, 15
+167, 16
+167, 17
+167, 19
+167, 20
+167, 21
+167, 23
+167, 24
+167, 25
+167, 28
+167, 29
+167, 30
+167, 31
+167, 33
+167, 67
+167, 74
+167, 75
+167, 76
+167, 78
+167, 79
+167, 80
+167, 82
+167, 83
+167, 84
+167, 106
+167, 107
+167, 108
+167, 110
+167, 111
+167, 112
+167, 114
+167, 115
+167, 116
+167, 122
+167, 123
+167, 124
+167, 126
+167, 127
+167, 128
+167, 130
+167, 131
+167, 132
+167, 135
+167, 136
+167, 137
+167, 138
+167, 140
+167, 144
+167, 152
+167, 153
+167, 154
+167, 156
+167, 157
+167, 158
+167, 160
+167, 161
+167, 162
+167, 165
+167, 166
+168, 0
+168, 1
+168, 2
+168, 3
+168, 4
+168, 16
+168, 17
+168, 18
+168, 20
+168, 21
+168, 22
+168, 24
+168, 25
+168, 26
+168, 28
+168, 30
+168, 31
+168, 32
+168, 33
+168, 68
+168, 75
+168, 76
+168, 77
+168, 79
+168, 80
+168, 81
+168, 83
+168, 84
+168, 85
+168, 107
+168, 108
+168, 109
+168, 111
+168, 112
+168, 113
+168, 115
+168, 116
+168, 117
+168, 123
+168, 124
+168, 125
+168, 127
+168, 128
+168, 129
+168, 131
+168, 132
+168, 133
+168, 135
+168, 137
+168, 138
+168, 139
+168, 140
+168, 145
+168, 153
+168, 154
+168, 155
+168, 157
+168, 158
+168, 159
+168, 161
+168, 162
+168, 163
+168, 164
+168, 165
+168, 166
+168, 167
+169, 0
+169, 2
+169, 3
+169, 4
+169, 15
+169, 17
+169, 18
+169, 19
+169, 21
+169, 22
+169, 23
+169, 25
+169, 26
+169, 28
+169, 29
+169, 31
+169, 32
+169, 33
+169, 69
+169, 74
+169, 76
+169, 77
+169, 78
+169, 80
+169, 81
+169, 82
+169, 84
+169, 85
+169, 106
+169, 108
+169, 109
+169, 110
+169, 112
+169, 113
+169, 114
+169, 116
+169, 117
+169, 122
+169, 124
+169, 125
+169, 126
+169, 128
+169, 129
+169, 130
+169, 132
+169, 133
+169, 135
+169, 136
+169, 138
+169, 139
+169, 140
+169, 146
+169, 152
+169, 154
+169, 155
+169, 156
+169, 158
+169, 159
+169, 160
+169, 162
+169, 163
+169, 165
+169, 166
+169, 167
+169, 168
+170, 1
+170, 2
+170, 3
+170, 4
+170, 12
+170, 13
+170, 14
+170, 20
+170, 21
+170, 22
+170, 24
+170, 25
+170, 26
+170, 27
+170, 30
+170, 31
+170, 32
+170, 33
+170, 70
+170, 71
+170, 72
+170, 73
+170, 79
+170, 80
+170, 81
+170, 83
+170, 84
+170, 85
+170, 103
+170, 104
+170, 105
+170, 111
+170, 112
+170, 113
+170, 115
+170, 116
+170, 117
+170, 119
+170, 120
+170, 121
+170, 127
+170, 128
+170, 129
+170, 131
+170, 132
+170, 133
+170, 134
+170, 137
+170, 138
+170, 139
+170, 140
+170, 147
+170, 149
+170, 150
+170, 151
+170, 157
+170, 158
+170, 159
+170, 161
+170, 162
+170, 163
+170, 164
+170, 165
+170, 167
+170, 168
+170, 169

Modified: mlpack/trunk/src/mlpack/tests/lrsdp_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/tests/lrsdp_test.cpp	2012-02-12 06:29:53 UTC (rev 11476)
+++ mlpack/trunk/src/mlpack/tests/lrsdp_test.cpp	2012-02-12 06:30:18 UTC (rev 11477)
@@ -15,58 +15,10 @@
 BOOST_AUTO_TEST_SUITE(LRSDPTest);
 
 /**
- * Extremely simple test case for the Lovasz-Theta semidefinite program.
- *
-BOOST_AUTO_TEST_CASE(ExtremelySimpleLovaszThetaSDP)
-{
-  // Manually create the LRSDP object and set its constraints.
-  LRSDP lovasz;
-
-  // C = -(e e^T) = -ones().
-  lovasz.C().ones(2, 2);
-  lovasz.C() *= -1;
-
-  // b_0 = 1; b_1 = 0.
-  lovasz.B().zeros(2);
-  lovasz.B()[0] = 1;
-
-  // A_0 = I_n.
-  lovasz.A().push_back(arma::eye<arma::mat>(2, 2));
-
-  // A_1 = 1 - I_n.
-  lovasz.A().push_back(1 - arma::eye<arma::mat>(2, 2));
-
-  // Now generate the initial point.
-  arma::mat coordinates(2, 2);
-
-  double r = 0.5 + sqrt(4.25); // 2 constraints.
-
-  coordinates(0, 0) = sqrt(1.0 / r) + sqrt(0.25);
-  coordinates(0, 1) = sqrt(0.25);
-  coordinates(1, 0) = sqrt(0.25);
-  coordinates(1, 1) = sqrt(1.0 / r) + sqrt(0.25);
-
-  // Now that we have an initial point, run the optimization.
-  double finalValue = lovasz.Optimize(coordinates);
-
-  arma::mat x = coordinates * trans(coordinates);
-
-  BOOST_REQUIRE_CLOSE(finalValue, -1.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(x(0, 0) + x(1, 1), 1.0, 1e-5);
-  BOOST_REQUIRE_SMALL(x(0, 1), 1e-8);
-  BOOST_REQUIRE_SMALL(x(1, 0), 1e-8);
-}*/
-
-/**
- * Prepare an LRSDP object to solve the Lovasz-Theta SDP in the manner detailed
- * in Monteiro + Burer 2004.  The list of edges in the graph must be given; that
- * is all that is necessary to set up the problem.  A matrix which will contain
- * initial point coordinates should be given also.
+ * Create a Lovasz-Theta initial point.
  */
-void setupLovaszTheta(const arma::mat& edges,
-                      LRSDP& lovasz,
-                      arma::mat& coordinates)
+void createLovaszThetaInitialPoint(const arma::mat& edges,
+                                   arma::mat& coordinates)
 {
   // Get the number of vertices in the problem.
   const size_t vertices = max(max(edges)) + 1;
@@ -90,8 +42,19 @@
         coordinates(i, j) = sqrt(1.0 / (vertices * m));
     }
   }
+}
 
-  lovasz = LRSDP(coordinates);
+/**
+ * Prepare an LRSDP object to solve the Lovasz-Theta SDP in the manner detailed
+ * in Monteiro + Burer 2004.  The list of edges in the graph must be given; that
+ * is all that is necessary to set up the problem.  A matrix which will contain
+ * initial point coordinates should be given also.
+ */
+void setupLovaszTheta(const arma::mat& edges,
+                      LRSDP& lovasz)
+{
+  // Get the number of vertices in the problem.
+  const size_t vertices = max(max(edges)) + 1;
 
   // C = -(e e^T) = -ones().
   lovasz.C().ones(vertices, vertices);
@@ -121,6 +84,11 @@
 
     lovasz.A().push_back(a);
   }
+
+  // Set the Lagrange multipliers right.
+  lovasz.AugLag().Lambda().ones(edges.n_cols);
+  lovasz.AugLag().Lambda() *= -1;
+  lovasz.AugLag().Lambda()[0] = -double(vertices);
 }
 
 /**
@@ -135,10 +103,13 @@
 
   // The LRSDP itself and the initial point.
   arma::mat coordinates;
-  LRSDP lovasz;
 
-  setupLovaszTheta(edges, lovasz, coordinates);
+  createLovaszThetaInitialPoint(edges, coordinates);
 
+  LRSDP lovasz(edges.n_cols, coordinates);
+
+  setupLovaszTheta(edges, lovasz);
+
   double finalValue = lovasz.Optimize(coordinates);
 
   // Final value taken from Monteiro + Burer 2004.
@@ -157,40 +128,8 @@
 }
 
 /**
- * hamming6-4.co test case for Lovasz-Theta LRSDP.
- * See Monteiro and Burer 2004.
- *
-BOOST_AUTO_TEST_CASE(Hamming64LovaszThetaSDP)
-{
-  // Load the edges.
-  arma::mat edges;
-  data::Load("hamming6-4.csv", edges, true);
-
-  // The LRSDP itself and the initial point.
-  arma::mat coordinates;
-  LRSDP lovasz;
-
-  setupLovaszTheta(edges, lovasz, coordinates);
-
-  double finalValue = lovasz.Optimize(coordinates);
-
-  // Final value taken from Monteiro + Burer 2004.
-  BOOST_REQUIRE_CLOSE(finalValue, -5.333333, 1e-5);
-
-  // Now ensure that all the constraints are satisfied.
-  arma::mat rrt = coordinates * trans(coordinates);
-  BOOST_REQUIRE_CLOSE(trace(rrt), 1.0, 1e-5);
-
-  // All those edge constraints...
-  for (size_t i = 0; i < edges.n_cols; ++i)
-  {
-    BOOST_REQUIRE_SMALL(rrt(edges(0, i), edges(1, i)), 1e-5);
-    BOOST_REQUIRE_SMALL(rrt(edges(1, i), edges(0, i)), 1e-5);
-  }
-}*/
-
-/**
  * keller4.co test case for Lovasz-Theta LRSDP.
+ * This is commented out because it takes a long time to run.
  * See Monteiro and Burer 2004.
  *
 BOOST_AUTO_TEST_CASE(Keller4LovaszThetaSDP)
@@ -201,10 +140,13 @@
 
   // The LRSDP itself and the initial point.
   arma::mat coordinates;
-  LRSDP lovasz;
 
-  setupLovaszTheta(edges, lovasz, coordinates);
+  createLovaszThetaInitialPoint(edges, coordinates);
 
+  LRSDP lovasz(edges.n_cols, coordinates);
+
+  setupLovaszTheta(edges, lovasz);
+
   double finalValue = lovasz.Optimize(coordinates);
 
   // Final value taken from Monteiro + Burer 2004.




More information about the mlpack-svn mailing list