commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 07/39: fec: LDPC: Adding QA test and alist


From: git
Subject: [Commit-gnuradio] [gnuradio] 07/39: fec: LDPC: Adding QA test and alist files.
Date: Thu, 15 Oct 2015 21:21:25 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit bbaa0294e50f2aab02b6413f7e2f17a23fca81b2
Author: tracierenea <address@hidden>
Date:   Wed Jul 9 20:19:55 2014 -0500

    fec: LDPC: Adding QA test and alist files.
    
    Adding qa file - pretty much copied the structure of the dummy
    encoder/decoder qa file.
    
    Adding a small library of alist files, which are LDPC parity check
    matrix files that can be used with the Richardson Urbanke
    encoder. They have different rates and work with codeword lengths
    ranging between 100 and 1800 bits.
---
 gr-fec/lib/ldpc_par_chk_mtrx.cc                   |    2 +-
 gr-fec/python/fec/LDPC/n_0100_k_0023_gap_10.alist |  181 ++
 gr-fec/python/fec/LDPC/n_0100_k_0027_gap_04.alist |  177 ++
 gr-fec/python/fec/LDPC/n_0100_k_0042_gap_02.alist |  162 ++
 gr-fec/python/fec/LDPC/n_0300_k_0103_gap_24.alist |  501 ++++
 gr-fec/python/fec/LDPC/n_0300_k_0122_gap_06.alist |  482 ++++
 gr-fec/python/fec/LDPC/n_0300_k_0152_gap_03.alist |  452 ++++
 gr-fec/python/fec/LDPC/n_0500_k_0127_gap_21.alist |  877 +++++++
 gr-fec/python/fec/LDPC/n_0500_k_0202_gap_11.alist |  802 ++++++
 gr-fec/python/fec/LDPC/n_0512_k_0130_gap_21.alist |  898 +++++++
 gr-fec/python/fec/LDPC/n_0700_k_0282_gap_16.alist | 1122 +++++++++
 gr-fec/python/fec/LDPC/n_1100_k_0442_gap_24.alist | 1762 ++++++++++++++
 gr-fec/python/fec/LDPC/n_1300_k_0522_gap_30.alist | 2082 ++++++++++++++++
 gr-fec/python/fec/LDPC/n_1800_k_0902_gap_28.alist | 2702 +++++++++++++++++++++
 gr-fec/python/fec/qa_fecapi_ldpc.py               |  239 ++
 15 files changed, 12440 insertions(+), 1 deletion(-)

diff --git a/gr-fec/lib/ldpc_par_chk_mtrx.cc b/gr-fec/lib/ldpc_par_chk_mtrx.cc
index 121a32b..3045b15 100644
--- a/gr-fec/lib/ldpc_par_chk_mtrx.cc
+++ b/gr-fec/lib/ldpc_par_chk_mtrx.cc
@@ -123,7 +123,7 @@ namespace gr {
         inputFile.open((*alist_file).c_str());
         if (!inputFile) {
           std::cout << "There was a problem opening file "
-                    << alist_file << " for reading.\n";
+                    << *alist_file << " for reading.\n";
           exit(1);
         }
 
diff --git a/gr-fec/python/fec/LDPC/n_0100_k_0023_gap_10.alist 
b/gr-fec/python/fec/LDPC/n_0100_k_0023_gap_10.alist
new file mode 100644
index 0000000..0595eaf
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0100_k_0023_gap_10.alist
@@ -0,0 +1,181 @@
+100 77
+4 5
+3 4 3 4 4 3 4 3 4 3 4 4 4 4 3 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 3 4 3 3 4 4 4 4 4 
3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 3 4 4 
4 4 4 4 4 4 4 4 4 4 4 3 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 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
+1 68 72 
+2 69 72 73 
+2 3 75 
+3 4 69 73 
+3 5 73 75 
+5 6 74 
+5 7 73 76 
+7 8 74 
+1 9 70 74 
+8 10 71 
+5 6 10 11 
+12 68 75 77 
+5 13 76 77 
+8 13 14 74 
+13 14 15 
+11 14 15 16 
+11 16 17 70 
+11 17 18 68 
+6 18 19 71 
+16 18 20 69 
+14 19 21 73 
+12 21 22 
+2 22 23 76 
+10 20 23 24 
+15 22 24 25 
+2 23 26 70 
+1 14 26 27 
+10 19 24 28 
+20 24 29 68 
+15 29 30 68 
+18 27 31 
+12 28 32 75 
+20 32 33 
+12 26 34 
+2 22 34 35 
+17 25 35 36 
+20 28 36 37 
+3 25 37 38 
+23 38 39 77 
+34 40 77 
+7 30 40 41 
+13 15 37 42 
+30 36 40 43 
+6 22 39 44 
+4 34 45 70 
+29 31 41 46 
+4 7 45 47 
+19 27 46 48 
+8 27 42 49 
+1 39 42 50 
+29 50 51 71 
+43 52 72 76 
+31 36 49 53 
+34 39 44 54 
+12 43 55 69 
+21 53 55 56 
+4 36 53 57 
+33 44 58 
+6 33 52 59 
+10 43 49 60 
+19 58 59 61 
+44 48 61 62 
+13 42 63 75 
+9 26 55 64 
+11 16 64 65 
+25 46 64 66 
+3 45 56 67 
+1 57 66 67 
+45 60 65 67 
+21 40 53 
+9 17 57 66 
+7 28 31 69 
+32 43 57 60 
+16 33 38 42 
+40 61 62 72 
+35 50 52 55 
+49 56 58 
+35 38 62 77 
+50 63 70 71 
+24 28 60 65 
+41 56 59 76 
+17 18 26 27 
+32 46 58 63 
+25 56 57 59 
+39 47 54 64 
+29 61 63 67 
+33 47 63 65 
+38 41 65 71 
+23 37 48 64 
+37 55 60 62 
+9 48 51 
+31 45 66 67 
+30 47 51 54 
+8 49 50 54 
+35 41 52 72 
+48 51 53 61 
+30 51 59 62 
+32 47 52 74 
+4 21 58 66 
+9 44 46 54 
+1 9 27 50 68 
+2 3 23 26 35 
+3 4 5 38 67 
+4 45 47 57 99 
+5 6 7 11 13 
+6 11 19 44 59 
+7 8 41 47 72 
+8 10 14 49 94 
+9 64 71 91 100 
+10 11 24 28 60 
+11 16 17 18 65 
+12 22 32 34 55 
+13 14 15 42 63 
+14 15 16 21 27 
+15 16 25 30 42 
+16 17 20 65 74 
+17 18 36 71 82 
+18 19 20 31 82 
+19 21 28 48 61 
+20 24 29 33 37 
+21 22 56 70 99 
+22 23 25 35 44 
+23 24 26 39 89 
+24 25 28 29 80 
+25 36 38 66 84 
+26 27 34 64 82 
+27 31 48 49 82 
+28 32 37 72 80 
+29 30 46 51 86 
+30 41 43 93 97 
+31 46 53 72 92 
+32 33 73 83 98 
+33 58 59 74 87 
+34 35 40 45 54 
+35 36 76 78 95 
+36 37 43 53 57 
+37 38 42 89 90 
+38 39 74 78 88 
+39 44 50 54 85 
+40 41 43 70 75 
+41 46 81 88 95 
+42 49 50 63 74 
+43 52 55 60 73 
+44 54 58 62 100 
+45 47 67 69 92 
+46 48 66 83 100 
+47 85 87 93 98 
+48 62 89 91 96 
+49 53 60 77 94 
+50 51 76 79 94 
+51 91 93 96 97 
+52 59 76 95 98 
+53 56 57 70 96 
+54 85 93 94 100 
+55 56 64 76 90 
+56 67 77 81 84 
+57 68 71 73 84 
+58 61 77 83 99 
+59 61 81 84 97 
+60 69 73 80 90 
+61 62 75 86 96 
+62 75 78 90 97 
+63 79 83 86 87 
+64 65 66 85 89 
+65 69 80 87 88 
+66 68 71 92 99 
+67 68 69 86 92 
+1 12 18 29 30 
+2 4 20 55 72 
+9 17 26 45 79 
+10 19 51 79 88 
+1 2 52 75 95 
+2 4 5 7 21 
+6 8 9 14 98 
+3 5 12 32 63 
+7 13 23 52 81 
+12 13 39 40 78 
diff --git a/gr-fec/python/fec/LDPC/n_0100_k_0027_gap_04.alist 
b/gr-fec/python/fec/LDPC/n_0100_k_0027_gap_04.alist
new file mode 100644
index 0000000..6aa7ac8
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0100_k_0027_gap_04.alist
@@ -0,0 +1,177 @@
+100 73
+3 4
+2 2 3 3 2 3 3 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 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 3 3 3 3 3 3 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 3 3 
+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
+1 70 
+2 73 
+2 3 70 
+3 4 71 
+5 71 
+2 6 71 
+6 7 70 
+5 8 
+7 9 71 
+7 9 10 
+1 11 72 
+11 12 
+8 12 13 
+10 12 14 
+6 15 72 
+2 14 16 
+3 12 17 
+10 15 18 
+16 18 19 
+1 17 20 
+18 21 72 
+14 21 22 
+9 19 23 
+22 24 
+24 25 
+6 23 26 
+13 26 27 
+1 27 28 
+20 28 29 
+23 29 30 
+27 29 31 
+29 32 70 
+26 32 33 
+25 31 34 
+15 30 35 
+28 34 36 
+11 35 37 
+31 32 38 
+17 36 39 
+18 38 40 
+13 37 41 
+13 34 42 
+36 43 73 
+24 42 44 
+26 42 45 
+11 45 46 
+15 44 47 
+25 33 48 
+40 48 49 
+20 45 50 
+36 38 51 
+8 48 52 
+8 39 53 
+39 54 73 
+3 50 55 
+35 46 56 
+21 56 57 
+23 56 58 
+4 55 59 
+16 43 60 
+47 53 61 
+37 56 62 
+30 62 63 
+47 64 72 
+34 62 65 
+45 63 66 
+46 57 67 
+5 67 68 
+32 57 69 
+20 21 22 
+44 47 48 
+17 61 67 
+65 69 73 
+44 61 66 
+10 54 69 
+40 60 63 
+46 53 66 
+25 35 43 
+31 58 60 
+58 65 68 
+62 64 65 
+27 33 50 
+22 41 64 
+4 30 33 
+51 60 63 
+9 51 69 
+24 41 68 
+14 50 52 
+4 42 53 
+19 49 52 
+39 52 59 
+49 55 61 
+37 55 59 
+5 51 54 
+16 43 67 
+7 41 68 
+38 54 57 
+58 59 
+19 40 66 
+28 49 64 
+1 11 20 28 
+2 3 6 16 
+3 4 17 55 
+4 59 84 89 
+5 8 68 94 
+6 7 15 26 
+7 9 10 96 
+8 13 52 53 
+9 10 23 86 
+10 14 18 75 
+11 12 37 46 
+12 13 14 17 
+13 27 41 42 
+14 16 22 88 
+15 18 35 47 
+16 19 60 95 
+17 20 39 72 
+18 19 21 40 
+19 23 90 99 
+20 29 50 70 
+21 22 57 70 
+22 24 70 83 
+23 26 30 58 
+24 25 44 87 
+25 34 48 78 
+26 27 33 45 
+27 28 31 82 
+28 29 36 100 
+29 30 31 32 
+30 35 63 84 
+31 34 38 79 
+32 33 38 69 
+33 48 82 84 
+34 36 42 65 
+35 37 56 78 
+36 39 43 51 
+37 41 62 93 
+38 40 51 97 
+39 53 54 91 
+40 49 76 99 
+41 83 87 96 
+42 44 45 89 
+43 60 78 95 
+44 47 71 74 
+45 46 50 66 
+46 56 67 77 
+47 61 64 71 
+48 49 52 71 
+49 90 92 100 
+50 55 82 88 
+51 85 86 94 
+52 88 90 91 
+53 61 77 89 
+54 75 94 97 
+55 59 92 93 
+56 57 58 62 
+57 67 69 97 
+58 79 80 98 
+59 91 93 98 
+60 76 79 85 
+61 72 74 92 
+62 63 65 81 
+63 66 76 85 
+64 81 83 100 
+65 73 80 81 
+66 74 77 99 
+67 68 72 95 
+68 80 87 96 
+69 73 75 86 
+1 3 7 32 
+4 5 6 9 
+11 15 21 64 
+2 43 54 73 
diff --git a/gr-fec/python/fec/LDPC/n_0100_k_0042_gap_02.alist 
b/gr-fec/python/fec/LDPC/n_0100_k_0042_gap_02.alist
new file mode 100644
index 0000000..f43a484
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0100_k_0042_gap_02.alist
@@ -0,0 +1,162 @@
+100 58
+3 5
+1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 2 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 
3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 
+5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
+1 
+1 2 
+2 3 57 
+2 4 57 
+1 5 57 
+3 6 58 
+4 7 58 
+3 8 58 
+3 8 9 
+7 9 10 
+4 8 11 
+1 11 12 
+5 11 13 
+10 14 58 
+11 14 15 
+13 16 
+8 15 17 
+6 17 18 
+16 19 
+7 17 20 
+10 16 21 
+2 20 22 
+9 20 23 
+21 23 24 
+12 22 25 
+4 22 26 
+23 25 27 
+19 28 
+10 26 29 
+3 22 30 
+19 26 31 
+22 28 32 
+12 18 33 
+6 33 34 
+20 35 57 
+5 15 36 
+33 35 37 
+13 33 38 
+7 31 39 
+5 36 40 
+9 35 41 
+18 38 42 
+25 36 43 
+21 32 44 
+41 45 
+6 45 46 
+38 46 47 
+28 39 48 
+25 47 49 
+13 47 50 
+2 46 51 
+44 45 52 
+14 32 53 
+27 49 54 
+32 43 55 
+21 41 56 
+34 42 
+26 37 55 
+4 53 56 
+18 28 51 
+16 51 52 
+16 27 37 
+9 23 34 
+37 47 56 
+30 32 48 
+27 52 56 
+8 19 55 
+19 28 45 
+31 38 54 
+24 38 42 
+48 54 56 
+30 39 53 
+31 50 54 
+24 26 57 
+20 21 
+12 52 53 
+14 52 53 
+12 41 47 
+34 48 50 
+1 29 35 
+18 29 49 
+27 35 40 
+17 40 50 
+41 43 51 
+33 40 44 
+10 42 43 
+15 23 29 
+15 49 55 
+6 25 29 
+14 40 45 
+13 30 31 
+36 44 46 
+11 44 46 
+24 49 51 
+37 48 
+17 24 43 
+7 34 42 
+36 39 50 
+5 54 55 
+30 39 58 
+1 2 5 12 80 
+2 3 4 22 51 
+3 6 8 9 30 
+4 7 11 26 59 
+5 13 36 40 99 
+6 18 34 46 89 
+7 10 20 39 97 
+8 9 11 17 67 
+9 10 23 41 63 
+10 14 21 29 86 
+11 12 13 15 93 
+12 25 33 76 78 
+13 16 38 50 91 
+14 15 53 77 90 
+15 17 36 87 88 
+16 19 21 61 62 
+17 18 20 83 96 
+18 33 42 60 81 
+19 28 31 67 68 
+20 22 23 35 75 
+21 24 44 56 75 
+22 25 26 30 32 
+23 24 27 63 87 
+24 70 74 94 96 
+25 27 43 49 89 
+26 29 31 58 74 
+27 54 62 66 82 
+28 32 48 60 68 
+29 80 81 87 89 
+30 65 72 91 100 
+31 39 69 73 91 
+32 44 53 55 65 
+33 34 37 38 85 
+34 57 63 79 97 
+35 37 41 80 82 
+36 40 43 92 98 
+37 58 62 64 95 
+38 42 47 69 70 
+39 48 72 98 100 
+40 82 83 85 90 
+41 45 56 78 84 
+42 57 70 86 97 
+43 55 84 86 96 
+44 52 85 92 93 
+45 46 52 68 90 
+46 47 51 92 93 
+47 49 50 64 78 
+48 65 71 79 95 
+49 54 81 88 94 
+50 73 79 83 98 
+51 60 61 84 94 
+52 61 66 76 77 
+53 59 72 76 77 
+54 69 71 73 99 
+55 58 67 88 99 
+56 59 64 66 71 
+3 4 5 35 74 
+6 7 8 14 100 
diff --git a/gr-fec/python/fec/LDPC/n_0300_k_0103_gap_24.alist 
b/gr-fec/python/fec/LDPC/n_0300_k_0103_gap_24.alist
new file mode 100644
index 0000000..7f5a606
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0300_k_0103_gap_24.alist
@@ -0,0 +1,501 @@
+300 197
+4 6
+3 3 4 4 4 4 4 4 3 4 4 3 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 3 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 3 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 3 4  [...]
+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 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 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 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 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 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 
+1 183 189 
+1 2 185 
+2 3 184 196 
+3 4 181 191 
+1 5 175 191 
+2 6 180 191 
+1 7 175 188 
+7 8 191 192 
+7 8 9 
+5 10 174 185 
+5 11 185 187 
+11 12 174 
+12 13 193 
+12 14 175 193 
+6 15 180 194 
+6 9 15 16 
+17 182 187 193 
+4 18 179 183 
+14 19 183 190 
+3 19 20 179 
+18 21 197 
+21 22 179 196 
+19 22 23 188 
+17 24 188 197 
+13 23 25 184 
+23 25 26 186 
+22 27 195 196 
+14 28 188 195 
+19 29 178 
+13 19 30 176 
+24 31 174 176 
+10 19 32 177 
+12 33 177 187 
+21 32 33 34 
+26 29 34 35 
+22 35 36 195 
+36 37 178 187 
+14 34 38 197 
+17 38 39 196 
+16 34 39 40 
+18 20 39 41 
+36 37 40 42 
+8 29 36 43 
+30 40 44 
+37 44 45 187 
+43 46 177 187 
+11 41 47 175 
+43 46 47 48 
+7 10 48 49 
+43 49 50 181 
+16 50 51 194 
+49 50 52 192 
+49 51 53 186 
+9 12 53 54 
+26 41 54 55 
+26 30 49 56 
+10 55 57 174 
+21 55 58 178 
+45 47 54 59 
+11 56 60 183 
+58 61 177 180 
+9 13 57 62 
+11 24 62 63 
+45 63 64 
+39 64 65 191 
+61 66 188 190 
+54 59 63 67 
+20 61 68 189 
+9 21 62 69 
+32 61 70 180 
+2 37 67 71 
+62 69 72 184 
+51 52 71 73 
+10 64 72 74 
+4 55 65 75 
+1 59 68 76 
+24 67 71 77 
+14 35 76 78 
+52 69 79 174 
+59 79 80 192 
+42 53 66 81 
+27 78 82 183 
+53 78 83 176 
+38 73 79 84 
+44 48 80 85 
+41 80 86 181 
+37 73 78 87 
+5 68 87 88 
+27 87 89 179 
+77 88 90 
+40 85 91 183 
+14 86 92 175 
+30 64 93 196 
+31 60 86 94 
+16 17 74 95 
+66 76 93 96 
+25 33 94 97 
+16 40 75 98 
+34 90 99 190 
+15 33 90 100 
+21 61 76 101 
+59 81 84 102 
+79 91 103 178 
+18 86 94 104 
+29 57 102 105 
+46 104 106 185 
+24 36 97 107 
+36 103 108 
+33 35 91 109 
+43 47 97 110 
+69 95 101 111 
+17 57 95 112 
+9 48 111 113 
+69 105 114 190 
+50 97 115 189 
+88 98 111 116 
+34 46 114 117 
+69 96 118 
+29 94 110 119 
+18 54 100 120 
+4 77 115 121 
+35 96 118 122 
+65 101 123 182 
+10 38 98 124 
+51 79 121 125 
+67 116 126 189 
+22 27 117 127 
+3 56 126 128 
+32 90 107 129 
+20 64 113 130 
+27 71 116 131 
+66 75 100 132 
+6 116 133 186 
+86 93 117 134 
+26 55 128 135 
+71 135 136 195 
+31 100 137 181 
+79 102 130 138 
+74 82 125 139 
+31 96 140 193 
+82 139 141 180 
+42 123 142 180 
+68 70 114 143 
+46 129 137 144 
+58 138 145 188 
+94 99 128 146 
+131 140 147 192 
+99 138 147 148 
+7 124 145 149 
+74 143 150 193 
+74 99 119 151 
+124 131 152 177 
+25 37 142 153 
+133 154 182 
+125 131 144 155 
+56 119 128 156 
+115 138 145 157 
+56 113 124 158 
+96 119 159 
+60 93 95 160 
+102 106 158 161 
+82 84 118 162 
+23 103 110 163 
+22 157 164 194 
+101 106 159 165 
+2 28 158 166 
+155 159 167 184 
+93 125 155 168 
+103 122 149 169 
+45 83 168 170 
+91 139 171 182 
+28 163 172 174 
+136 167 173 193 
+105 116 120 143 
+47 120 121 141 
+15 170 171 173 
+5 39 122 126 
+106 110 112 115 
+68 83 95 142 
+87 92 93 141 
+80 130 134 158 
+72 135 153 159 
+58 129 132 189 
+102 140 155 161 
+28 136 157 194 
+17 28 101 146 
+77 80 139 164 
+85 107 123 157 
+1 81 141 152 
+2 149 151 154 
+41 58 107 123 
+32 38 133 142 
+18 78 134 149 
+15 89 139 140 
+30 41 132 149 
+92 108 147 181 
+43 91 127 166 
+113 165 195 
+85 99 119 161 
+44 104 131 162 
+64 67 76 84 
+72 120 130 132 
+66 99 161 163 
+65 98 134 175 
+23 25 136 160 
+8 55 152 161 
+73 114 170 195 
+72 104 113 173 
+7 15 115 122 
+87 110 148 173 
+57 118 161 171 
+13 86 104 111 
+60 131 149 
+78 105 113 186 
+150 154 167 196 
+89 109 152 169 
+27 91 166 176 
+57 88 96 100 
+127 164 178 179 
+65 70 83 168 
+66 80 126 128 
+13 68 115 152 
+35 44 167 172 
+23 46 119 134 
+25 73 151 157 
+3 76 120 130 
+5 8 163 168 
+52 126 143 181 
+42 109 159 160 
+134 156 158 169 
+42 49 132 164 
+16 53 144 170 
+118 153 171 184 
+50 137 141 177 
+51 109 137 145 
+77 94 109 178 
+87 97 108 137 
+6 63 117 120 
+38 123 172 197 
+31 153 162 176 
+45 148 165 182 
+51 71 156 162 
+83 105 117 166 
+53 112 133 162 
+75 90 132 
+73 148 160 185 
+62 108 135 191 
+32 102 111 123 
+98 136 164 190 
+45 52 144 155 
+60 89 105 111 
+77 110 160 165 
+3 92 133 190 
+101 145 186 
+75 81 89 92 
+4 112 127 156 
+4 74 121 126 
+40 72 104 162 
+12 62 147 156 
+139 164 166 169 
+67 95 117 160 
+54 63 122 125 
+89 103 118 130 
+52 88 129 197 
+6 81 150 157 
+50 83 146 148 
+122 155 167 186 
+85 98 121 169 
+8 114 147 197 
+44 65 97 151 
+121 144 151 170 
+39 143 152 176 
+28 33 112 127 
+11 129 150 167 
+20 61 106 148 
+20 124 135 154 
+48 138 159 165 
+24 82 165 168 
+56 81 169 172 
+59 70 128 166 
+48 90 108 146 
+82 144 158 182 
+75 107 135 146 
+88 127 138 192 
+153 172 173 194 
+29 150 156 185 
+84 154 163 173 
+70 84 145 150 
+31 85 100 168 
+26 63 140 153 
+58 151 172 194 
+107 109 114 116 
+70 140 141 154 
+112 137 147 171 
+42 106 133 143 
+103 124 142 163 
+92 129 142 179 
+136 146 189 192 
+47 60 108 125 
+30 170 171 184 
+1 2 5 7 76 189 
+2 3 6 71 166 190 
+3 4 20 128 226 253 
+4 18 75 121 256 257 
+5 10 11 88 177 227 
+6 15 16 133 238 265 
+7 8 9 49 149 209 
+8 9 43 206 227 269 
+9 16 54 62 69 113 
+10 32 49 57 74 124 
+11 12 47 60 63 274 
+12 13 14 33 54 259 
+13 25 30 62 212 222 
+14 19 28 38 78 92 
+15 16 100 176 194 209 
+16 40 51 95 98 232 
+17 24 39 95 112 186 
+18 21 41 104 120 193 
+19 20 23 29 30 32 
+20 41 68 130 275 276 
+21 22 34 58 69 101 
+22 23 27 36 127 164 
+23 25 26 163 205 224 
+24 31 63 77 107 278 
+25 26 97 153 205 225 
+26 35 55 56 135 290 
+27 82 89 127 131 217 
+28 166 172 185 186 273 
+29 35 43 105 119 286 
+30 44 56 93 195 300 
+31 94 137 140 240 289 
+32 34 70 129 192 248 
+33 34 97 100 109 273 
+34 35 38 40 99 117 
+35 36 78 109 122 223 
+36 37 42 43 107 108 
+37 42 45 71 87 153 
+38 39 84 124 192 239 
+39 40 41 65 177 272 
+40 42 44 91 98 258 
+41 47 55 86 191 195 
+42 81 142 229 231 295 
+43 46 48 50 110 197 
+44 45 85 200 223 270 
+45 59 64 170 241 250 
+46 48 106 117 144 224 
+47 48 59 110 175 299 
+48 49 85 113 277 281 
+49 50 52 53 56 231 
+50 51 52 115 234 266 
+51 53 73 125 235 242 
+52 73 79 228 250 264 
+53 54 81 83 232 244 
+54 55 59 67 120 262 
+55 57 58 75 135 206 
+56 60 128 156 158 279 
+57 62 105 112 211 218 
+58 61 145 183 191 291 
+59 67 76 80 102 280 
+60 94 160 213 251 299 
+61 66 68 70 101 275 
+62 63 69 72 247 259 
+63 64 67 238 262 290 
+64 65 74 93 130 201 
+65 75 123 204 220 270 
+66 81 96 132 203 221 
+67 71 77 126 201 261 
+68 76 88 143 179 222 
+69 72 79 111 114 118 
+70 143 220 280 288 293 
+71 73 77 131 136 242 
+72 74 182 202 208 258 
+73 84 87 207 225 246 
+74 95 139 150 151 257 
+75 98 132 245 255 283 
+76 78 96 101 201 226 
+77 90 121 187 236 252 
+78 82 83 87 193 214 
+79 80 84 103 125 138 
+80 85 86 181 187 221 
+81 102 189 255 265 279 
+82 139 141 162 278 282 
+83 170 179 220 243 266 
+84 102 162 201 287 288 
+85 91 188 199 268 289 
+86 92 94 104 134 212 
+87 88 89 180 210 237 
+88 90 116 218 264 284 
+89 194 216 251 255 263 
+90 99 100 129 245 281 
+91 103 109 171 197 217 
+92 180 196 253 255 297 
+93 96 134 160 168 180 
+94 97 104 119 146 236 
+95 111 112 160 179 261 
+96 118 122 140 159 218 
+97 107 110 115 237 270 
+98 116 124 204 249 268 
+99 146 148 151 199 203 
+100 120 132 137 218 289 
+101 111 123 165 186 254 
+102 105 138 161 184 248 
+103 108 163 169 263 296 
+104 106 200 208 212 258 
+105 114 174 214 243 251 
+106 161 165 178 275 295 
+107 129 188 191 283 292 
+108 196 237 247 281 299 
+109 216 229 235 236 292 
+110 119 163 178 210 252 
+111 113 116 212 248 251 
+112 178 244 256 273 294 
+113 130 158 198 208 214 
+114 117 143 207 269 292 
+115 121 157 178 209 222 
+116 126 131 133 174 292 
+117 127 134 238 243 261 
+118 122 162 211 233 263 
+119 151 156 159 199 224 
+120 174 175 202 226 238 
+121 125 175 257 268 271 
+122 169 177 209 262 267 
+123 142 188 191 239 248 
+124 149 152 158 276 296 
+125 139 155 168 262 299 
+126 128 177 221 228 257 
+127 197 219 256 273 284 
+128 135 146 156 221 280 
+129 144 183 264 274 297 
+130 138 181 202 226 263 
+131 147 152 155 200 213 
+132 183 195 202 231 245 
+133 154 192 244 253 295 
+134 181 193 204 224 230 
+135 136 182 247 276 283 
+136 173 185 205 249 298 
+137 144 234 235 237 294 
+138 145 148 157 277 284 
+139 141 171 187 194 260 
+140 147 184 194 290 293 
+141 175 180 189 234 293 
+142 153 179 192 296 297 
+143 150 174 228 272 295 
+144 155 232 250 271 282 
+145 149 157 235 254 288 
+146 186 266 281 283 298 
+147 148 196 259 269 294 
+148 210 241 246 266 275 
+149 169 190 193 195 213 
+150 215 265 274 286 288 
+151 190 225 270 271 291 
+152 189 206 216 222 272 
+153 182 233 240 285 290 
+154 190 215 276 287 293 
+155 167 168 184 250 267 
+156 230 242 256 259 286 
+157 164 185 188 225 265 
+158 161 166 181 230 282 
+159 165 167 182 229 277 
+160 205 229 246 252 261 
+161 184 199 203 206 211 
+162 200 240 242 244 258 
+163 172 203 227 287 296 
+164 187 219 231 249 260 
+165 198 241 252 277 278 
+166 197 217 243 260 280 
+167 173 215 223 267 274 
+168 170 220 227 278 289 
+169 216 230 260 268 279 
+170 176 207 232 271 300 
+171 176 211 233 294 300 
+172 223 239 279 285 291 
+173 176 208 210 285 287 
+10 12 31 57 79 172 
+5 7 14 47 92 204 
+30 31 83 217 240 272 
+32 33 46 61 152 234 
+29 37 58 103 219 236 
+18 20 22 89 219 297 
+6 15 61 70 141 142 
+4 50 86 137 196 228 
+17 123 154 171 241 282 
+1 18 19 60 82 91 
+3 25 72 167 233 300 
+2 10 11 106 246 286 
+26 53 133 214 254 267 
+11 17 33 37 45 46 
+7 23 24 28 66 145 
+1 68 115 126 183 298 
+19 66 99 114 249 253 
+4 5 6 8 65 247 
+8 52 80 147 284 298 
+13 14 17 140 150 173 
+15 51 164 185 285 291 
+27 28 36 136 198 207 
+3 22 27 39 93 215 
+21 24 38 239 264 269 
diff --git a/gr-fec/python/fec/LDPC/n_0300_k_0122_gap_06.alist 
b/gr-fec/python/fec/LDPC/n_0300_k_0122_gap_06.alist
new file mode 100644
index 0000000..64dc80b
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0300_k_0122_gap_06.alist
@@ -0,0 +1,482 @@
+300 178
+3 5
+2 2 2 3 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 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 2 3 3 3 3 3 3 3 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 2 3 3 3 3 3 3 
3 3 3 3 3 3 3  [...]
+5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
+1 178 
+2 178 
+3 174 
+1 4 177 
+5 173 
+6 173 177 
+7 173 177 
+1 8 175 
+5 9 175 
+4 10 175 
+10 11 177 
+6 11 12 
+12 13 173 
+4 10 14 
+9 14 15 
+8 15 16 
+12 17 176 
+14 18 176 
+11 18 19 
+15 19 20 
+3 20 21 
+18 21 22 
+13 21 23 
+23 24 174 
+2 23 25 
+11 24 26 
+26 27 176 
+21 23 28 
+28 29 178 
+27 29 30 
+22 29 31 
+26 30 32 
+16 32 33 
+7 29 34 
+21 34 35 
+25 34 36 
+24 30 37 
+18 37 38 
+38 39 177 
+8 37 40 
+20 39 41 
+40 42 178 
+40 43 174 
+36 43 44 
+41 45 176 
+35 44 46 
+40 46 47 
+15 47 48 
+4 44 49 
+34 45 50 
+9 50 51 
+16 49 52 
+49 53 176 
+31 48 54 
+2 53 55 
+43 49 56 
+17 52 57 
+13 53 58 
+52 54 59 
+31 52 60 
+39 55 61 
+40 42 62 
+47 48 63 
+61 62 64 
+51 65 
+15 54 66 
+36 52 67 
+7 46 68 
+22 65 69 
+8 67 70 
+13 62 71 
+43 51 72 
+30 53 73 
+46 70 74 
+57 63 75 
+45 58 76 
+45 46 77 
+5 68 78 
+26 66 79 
+69 77 80 
+72 81 178 
+35 54 82 
+42 80 83 
+18 74 84 
+60 75 85 
+29 49 86 
+33 65 87 
+2 80 88 
+39 56 89 
+57 86 90 
+27 89 91 
+75 81 92 
+34 69 93 
+19 90 94 
+3 80 95 
+79 88 96 
+32 74 97 
+61 84 98 
+3 88 99 
+38 71 100 
+59 66 101 
+22 83 102 
+8 71 103 
+17 102 104 
+50 86 105 
+35 84 106 
+9 59 107 
+28 82 108 
+38 92 109 
+69 78 110 
+26 109 111 
+28 77 112 
+19 55 113 
+51 72 114 
+1 99 115 
+42 97 116 
+42 85 117 
+58 103 118 
+54 85 119 
+33 106 120 
+73 95 121 
+74 94 122 
+1 110 123 
+59 123 124 
+113 124 125 
+62 118 126 
+38 79 127 
+71 87 128 
+27 78 129 
+67 120 130 
+56 120 131 
+77 83 132 
+10 89 133 
+93 123 134 
+65 114 135 
+96 115 136 
+12 123 137 
+63 93 138 
+22 113 139 
+36 80 140 
+60 120 141 
+84 142 174 
+58 81 143 
+19 112 144 
+37 70 145 
+79 124 146 
+111 115 147 
+61 105 148 
+102 120 149 
+100 128 150 
+116 127 151 
+84 135 152 
+76 125 153 
+60 117 154 
+33 133 155 
+55 116 156 
+81 152 157 
+88 146 158 
+89 150 159 
+64 128 160 
+76 103 161 
+94 126 162 
+64 99 163 
+62 91 164 
+108 142 165 
+81 130 166 
+150 154 167 
+76 104 168 
+71 103 169 
+7 157 170 
+144 156 171 
+16 121 172 
+94 110 154 
+67 113 
+147 149 166 
+25 135 167 
+45 104 140 
+6 149 166 
+61 122 138 
+73 106 130 
+73 86 175 
+104 137 
+122 157 170 
+101 128 158 
+24 91 165 
+56 109 111 
+115 168 169 
+85 92 121 
+90 97 156 
+83 141 163 
+114 158 174 
+37 119 164 
+118 131 134 
+36 125 152 
+74 148 153 
+140 168 171 
+47 113 171 
+30 108 168 
+76 112 135 
+99 101 144 
+50 59 66 
+63 143 165 
+101 154 161 
+14 146 164 
+32 107 169 
+43 73 133 
+65 132 136 
+152 158 171 
+6 96 139 
+119 129 159 
+77 123 142 
+57 125 136 
+11 98 150 
+87 124 141 
+93 117 155 
+111 166 172 
+17 91 112 
+6 121 170 
+24 78 107 
+3 110 132 
+90 118 119 
+51 82 162 
+105 108 169 
+100 106 130 
+17 72 96 
+2 67 89 
+27 165 166 
+48 126 163 
+159 160 165 
+119 153 160 
+41 109 157 
+58 116 170 
+93 126 
+35 121 140 
+133 134 145 
+95 134 145 
+41 98 169 
+14 151 172 
+132 147 160 
+109 129 131 
+98 138 139 
+20 60 70 
+25 63 75 
+87 101 125 
+5 68 114 
+66 92 100 
+95 111 122 
+88 97 105 
+116 129 138 
+91 136 151 
+75 154 160 
+95 142 151 
+53 136 141 
+7 92 167 
+31 150 151 
+64 127 149 
+25 167 172 
+152 159 
+39 117 163 
+69 82 139 
+72 99 164 
+143 164 171 
+10 107 114 
+5 145 162 
+44 145 158 
+97 122 156 
+79 141 170 
+110 134 138 
+100 117 162 
+50 70 146 
+57 98 161 
+85 127 128 
+55 143 155 
+130 168 175 
+4 102 105 
+20 107 137 
+129 135 148 
+131 155 163 
+23 102 142 
+13 140 148 
+68 94 144 
+47 137 161 
+31 146 156 
+82 155 
+32 106 112 
+33 127 147 
+96 137 143 
+9 139 144 
+28 115 149 
+41 103 104 
+78 90 118 
+48 124 172 
+12 87 148 
+133 153 167 
+68 83 173 
+44 126 131 
+64 157 162 
+86 108 147 
+56 159 161 
+16 132 153 
+1 4 8 115 123 
+2 25 55 88 226 
+3 21 95 99 220 
+4 10 14 49 275 
+5 9 78 245 264 
+6 12 178 209 218 
+7 34 68 170 254 
+8 16 40 70 103 
+9 15 51 107 288 
+10 11 14 133 263 
+11 12 19 26 213 
+12 13 17 137 293 
+13 23 58 71 280 
+14 15 18 204 238 
+15 16 20 48 66 
+16 33 52 172 300 
+17 57 104 217 225 
+18 19 22 38 84 
+19 20 94 113 144 
+20 21 41 242 276 
+21 22 23 28 35 
+22 31 69 102 139 
+23 24 25 28 279 
+24 26 37 185 219 
+25 36 176 243 257 
+26 27 32 79 111 
+27 30 91 129 227 
+28 29 108 112 289 
+29 30 31 34 86 
+30 32 37 73 198 
+31 54 60 255 283 
+32 33 97 205 285 
+33 87 120 155 286 
+34 35 36 50 93 
+35 46 82 106 234 
+36 44 67 140 194 
+37 38 40 145 192 
+38 39 100 109 127 
+39 41 61 89 259 
+40 42 43 47 62 
+41 45 231 237 290 
+42 62 83 116 117 
+43 44 56 72 206 
+44 46 49 265 296 
+45 50 76 77 177 
+46 47 68 74 77 
+47 48 63 197 282 
+48 54 63 228 292 
+49 52 53 56 86 
+50 51 105 201 270 
+51 65 72 114 222 
+52 57 59 60 67 
+53 55 58 73 253 
+54 59 66 82 119 
+55 61 113 156 273 
+56 89 131 186 299 
+57 75 90 212 271 
+58 76 118 143 232 
+59 101 107 124 201 
+60 85 141 154 242 
+61 64 98 148 179 
+62 64 71 126 164 
+63 75 138 202 243 
+64 160 163 256 297 
+65 69 87 135 207 
+66 79 101 201 246 
+67 70 130 174 226 
+68 78 245 281 295 
+69 80 93 110 260 
+70 74 145 242 270 
+71 100 103 128 169 
+72 81 114 225 261 
+73 121 180 181 206 
+74 84 97 122 195 
+75 85 92 243 251 
+76 153 161 168 199 
+77 80 112 132 211 
+78 110 129 219 291 
+79 96 127 146 267 
+80 83 88 95 140 
+81 92 143 157 166 
+82 108 222 260 284 
+83 102 132 190 295 
+84 98 106 142 152 
+85 117 119 188 272 
+86 90 105 181 298 
+87 128 214 244 293 
+88 96 99 158 248 
+89 91 133 159 226 
+90 94 189 221 291 
+91 164 185 217 250 
+92 109 188 246 254 
+93 134 138 215 233 
+94 122 162 173 281 
+95 121 236 247 252 
+96 136 209 225 287 
+97 116 189 248 266 
+98 213 237 241 271 
+99 115 163 200 261 
+100 150 224 246 269 
+101 184 200 203 244 
+102 104 149 275 279 
+103 118 161 169 290 
+104 168 177 182 290 
+105 148 223 248 275 
+106 120 180 224 285 
+107 205 219 263 276 
+108 165 198 223 298 
+109 111 186 231 240 
+110 123 173 220 268 
+111 147 186 216 247 
+112 144 199 217 285 
+113 125 139 174 197 
+114 135 191 245 263 
+115 136 147 187 289 
+116 151 156 232 249 
+117 154 215 259 269 
+118 126 193 221 291 
+119 192 210 221 230 
+120 130 131 141 149 
+121 172 188 218 234 
+122 179 183 247 266 
+123 124 134 137 211 
+124 125 146 214 292 
+125 153 194 212 244 
+126 162 228 233 296 
+127 151 256 272 286 
+128 150 160 184 272 
+129 210 240 249 277 
+130 166 180 224 274 
+131 193 240 278 296 
+132 207 220 239 300 
+133 155 206 235 294 
+134 193 235 236 268 
+135 152 176 199 277 
+136 207 212 250 253 
+137 182 276 282 287 
+138 179 241 249 268 
+139 209 241 260 288 
+140 177 196 234 280 
+141 190 214 253 267 
+142 165 211 252 279 
+143 202 262 273 287 
+144 171 200 281 288 
+145 235 236 264 265 
+146 158 204 270 283 
+147 175 239 286 298 
+148 195 277 280 293 
+149 175 178 256 289 
+150 159 167 213 255 
+151 238 250 252 255 
+152 157 194 208 258 
+153 195 230 294 300 
+154 167 173 203 251 
+155 215 273 278 284 
+156 171 189 266 283 
+157 170 183 231 297 
+158 184 191 208 265 
+159 210 229 258 299 
+160 229 230 239 251 
+161 203 271 282 299 
+162 222 264 269 297 
+163 190 228 259 278 
+164 192 204 261 262 
+165 185 202 227 229 
+166 175 178 216 227 
+167 176 254 257 294 
+168 187 196 198 274 
+169 187 205 223 237 
+170 183 218 232 267 
+171 196 197 208 262 
+172 216 238 257 292 
+5 6 7 13 295 
+3 24 43 142 191 
+8 9 10 181 274 
+17 18 27 45 53 
+4 6 7 11 39 
+1 2 29 42 81 
diff --git a/gr-fec/python/fec/LDPC/n_0300_k_0152_gap_03.alist 
b/gr-fec/python/fec/LDPC/n_0300_k_0152_gap_03.alist
new file mode 100644
index 0000000..d731445
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0300_k_0152_gap_03.alist
@@ -0,0 +1,452 @@
+300 148
+3 6
+2 3 3 3 3 3 3 2 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 
3 3 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 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 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 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  [...]
+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 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 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 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 6 6 6 6 6 6 6 6 6 6 6 6 
+1 146 
+1 2 146 
+2 3 147 
+3 4 146 
+1 4 5 
+2 6 148 
+3 7 148 
+7 8 
+8 9 147 
+6 9 10 
+1 10 11 
+11 12 147 
+12 13 148 
+10 13 14 
+8 15 
+12 15 16 
+1 13 17 
+4 14 18 
+2 18 19 
+9 15 20 
+11 20 21 
+3 17 22 
+20 22 23 
+8 22 24 
+20 24 25 
+2 19 26 
+6 16 27 
+19 25 28 
+12 26 29 
+13 14 30 
+24 29 31 
+11 23 32 
+28 33 
+11 34 
+1 24 35 
+32 35 36 
+35 37 148 
+14 36 38 
+17 35 39 
+32 36 40 
+27 38 41 
+23 42 
+39 43 147 
+36 38 44 
+28 35 45 
+35 46 148 
+22 46 47 
+24 34 48 
+5 44 49 
+40 47 50 
+29 41 51 
+28 49 52 
+15 52 53 
+26 52 54 
+27 52 55 
+29 47 56 
+43 51 57 
+39 49 58 
+45 47 59 
+29 31 60 
+22 39 61 
+37 62 146 
+48 60 63 
+27 31 64 
+28 63 65 
+64 66 148 
+31 54 67 
+14 40 68 
+48 68 69 
+30 57 70 
+41 61 71 
+5 57 72 
+8 61 73 
+48 58 74 
+26 69 75 
+14 59 76 
+13 74 77 
+5 29 78 
+62 77 79 
+30 71 80 
+54 69 81 
+57 64 82 
+25 82 83 
+55 63 84 
+5 56 85 
+76 85 86 
+68 78 87 
+50 73 88 
+33 76 89 
+25 81 90 
+34 73 91 
+82 89 92 
+64 88 93 
+13 92 94 
+48 60 95 
+46 88 96 
+75 97 146 
+17 66 98 
+38 79 99 
+87 90 100 
+4 92 101 
+15 79 102 
+30 102 103 
+47 56 104 
+17 98 105 
+16 101 106 
+27 85 107 
+45 102 108 
+72 83 109 
+40 86 110 
+82 103 111 
+3 71 112 
+16 106 113 
+49 86 114 
+23 92 115 
+19 70 116 
+37 116 117 
+38 99 118 
+61 80 119 
+65 77 120 
+40 99 121 
+77 80 122 
+79 101 123 
+18 121 124 
+112 121 125 
+69 126 
+57 125 127 
+25 81 128 
+58 80 129 
+39 127 130 
+51 111 131 
+7 39 132 
+66 114 133 
+81 104 134 
+108 129 135 
+9 120 136 
+37 96 137 
+16 74 138 
+37 126 139 
+118 130 140 
+10 86 141 
+18 42 142 
+130 143 
+18 142 144 
+50 124 145 
+56 111 139 
+82 95 96 
+65 94 144 
+9 68 144 
+41 68 126 
+69 100 126 
+57 136 
+91 98 103 
+30 120 141 
+71 112 120 
+76 104 120 
+68 95 117 
+115 131 132 
+4 66 82 
+125 131 132 
+62 99 131 
+60 96 131 
+59 105 136 
+21 37 53 
+59 128 140 
+59 107 113 
+55 94 107 
+75 107 136 
+49 95 140 
+2 107 110 
+54 128 139 
+17 53 144 
+23 121 133 
+30 121 126 
+59 84 95 
+6 43 58 
+6 75 109 
+15 46 62 
+6 70 113 
+87 138 143 
+63 109 119 
+56 58 119 
+74 102 116 
+38 86 112 
+7 56 139 
+43 97 140 
+67 105 115 
+20 73 101 
+87 128 138 
+20 117 137 
+5 142 144 
+83 126 138 
+61 98 103 
+36 43 118 
+23 117 118 
+83 132 141 
+118 136 142 
+72 74 101 
+51 70 92 
+44 60 72 
+44 114 122 
+44 110 133 
+61 133 135 
+44 65 84 
+46 65 147 
+3 76 122 
+49 128 139 
+83 84 142 
+88 103 129 
+93 127 141 
+18 87 90 
+32 119 127 
+40 110 134 
+32 112 
+25 51 63 
+32 85 101 
+94 105 133 
+50 85 91 
+50 122 140 
+50 109 130 
+81 105 122 
+21 34 53 
+62 84 93 
+42 67 75 
+42 96 138 
+42 84 85 
+105 109 117 
+7 95 145 
+26 48 103 
+27 78 115 
+116 129 144 
+78 130 137 
+41 60 62 
+9 132 143 
+55 93 108 
+110 129 134 
+4 58 97 
+67 134 141 
+89 127 134 
+67 115 134 
+91 93 122 
+67 111 120 
+31 123 138 
+31 88 89 
+80 96 136 
+65 143 146 
+93 115 
+73 78 145 
+55 116 143 
+26 92 104 
+54 97 108 
+81 106 130 
+70 83 99 
+45 123 137 
+78 94 123 
+73 86 88 
+45 98 100 
+45 51 124 
+42 99 111 
+55 100 135 
+72 113 135 
+47 70 135 
+63 108 124 
+114 135 141 
+66 104 145 
+66 71 116 
+21 102 106 
+12 53 114 
+41 89 139 
+12 102 110 
+52 119 132 
+90 109 123 
+53 90 137 
+7 36 90 
+11 69 108 
+46 89 140 
+19 111 137 
+91 97 124 
+52 113 125 
+72 76 106 
+8 71 113 
+74 100 125 
+21 124 128 
+16 33 145 
+77 118 125 
+33 54 100 
+87 121 147 
+33 77 104 
+97 112 117 
+21 64 143 
+19 64 94 
+22 91 106 
+10 79 123 
+75 79 
+98 114 131 
+34 127 133 
+33 142 145 
+24 80 129 
+10 107 119 
+28 34 43 
+1 2 5 11 17 35 
+2 3 6 19 26 170 
+3 4 7 22 112 206 
+4 5 18 101 159 237 
+5 49 72 78 85 191 
+6 10 27 176 177 179 
+7 8 132 185 228 274 
+8 9 15 24 73 281 
+9 10 20 136 149 234 
+10 11 14 141 293 299 
+11 12 21 32 34 275 
+12 13 16 29 268 270 
+13 14 17 30 77 94 
+14 18 30 38 68 76 
+15 16 20 53 102 178 
+16 27 106 113 138 284 
+17 22 39 98 105 172 
+18 19 124 142 144 211 
+19 26 28 116 277 291 
+20 21 23 25 188 190 
+21 164 222 267 283 290 
+22 23 24 47 61 292 
+23 32 42 115 173 195 
+24 25 31 35 48 298 
+25 28 83 90 128 215 
+26 29 54 75 229 250 
+27 41 55 64 107 230 
+28 33 45 52 65 300 
+29 31 51 56 60 78 
+30 70 80 103 154 174 
+31 60 64 67 243 244 
+32 36 40 212 214 216 
+33 89 284 286 288 297 
+34 48 91 222 296 300 
+35 36 37 39 45 46 
+36 38 40 44 194 274 
+37 62 117 137 139 164 
+38 41 44 99 118 184 
+39 43 58 61 130 132 
+40 50 68 110 121 213 
+41 51 71 150 233 269 
+42 142 224 225 226 259 
+43 57 176 186 194 300 
+44 49 200 201 202 204 
+45 59 108 254 257 258 
+46 47 96 178 205 276 
+47 50 56 59 104 262 
+48 63 69 74 95 229 
+49 52 58 114 169 207 
+50 88 145 218 219 220 
+51 57 131 199 215 258 
+52 53 54 55 271 279 
+53 164 172 222 268 273 
+54 67 81 171 251 286 
+55 84 167 235 249 260 
+56 85 104 146 182 185 
+57 70 72 82 127 152 
+58 74 129 176 182 237 
+59 76 163 165 166 175 
+60 63 95 162 200 233 
+61 71 73 119 193 203 
+62 79 161 178 223 233 
+63 65 84 181 215 263 
+64 66 82 93 290 291 
+65 120 148 204 205 246 
+66 98 133 159 265 266 
+67 187 224 238 240 242 
+68 69 87 149 150 157 
+69 75 81 126 151 275 
+70 116 179 199 253 262 
+71 80 112 155 266 281 
+72 109 198 200 261 280 
+73 88 91 188 248 256 
+74 77 138 183 198 282 
+75 97 168 177 224 294 
+76 86 89 156 206 280 
+77 79 120 122 285 288 
+78 87 230 232 248 255 
+79 99 102 123 293 294 
+80 119 122 129 245 298 
+81 90 128 134 221 252 
+82 83 92 111 147 159 
+83 109 192 196 208 253 
+84 175 204 208 223 226 
+85 86 107 216 218 226 
+86 110 114 141 184 256 
+87 100 180 189 211 287 
+88 93 96 209 244 256 
+89 92 239 244 269 276 
+90 100 211 272 273 274 
+91 153 218 241 278 292 
+92 94 101 115 199 250 
+93 210 223 235 241 247 
+94 148 167 217 255 291 
+95 147 157 169 175 228 
+96 137 147 162 225 245 
+97 186 237 251 278 289 
+98 105 153 193 257 295 
+99 118 121 161 253 259 
+100 151 257 260 282 286 
+101 106 123 188 198 216 
+102 103 108 183 267 270 
+103 111 153 193 209 229 
+104 134 156 250 265 288 
+105 163 187 217 221 227 
+106 113 252 267 280 292 
+107 166 167 168 170 299 
+108 135 235 251 263 275 
+109 177 181 220 227 272 
+110 170 202 213 236 270 
+111 131 146 242 259 277 
+112 125 155 184 214 289 
+113 166 179 261 279 281 
+114 133 201 264 268 295 
+115 158 187 230 240 247 
+116 117 183 231 249 266 
+117 157 190 195 227 289 
+118 140 194 195 197 285 
+119 181 182 212 271 299 
+120 136 154 155 156 242 
+121 124 125 173 174 287 
+122 201 206 219 221 241 
+123 243 254 255 272 293 
+124 145 258 263 278 283 
+125 127 160 279 282 285 
+126 139 150 151 174 192 
+127 130 210 212 239 296 
+128 165 171 189 207 283 
+129 135 209 231 236 298 
+130 140 143 220 232 252 
+131 158 160 161 162 295 
+132 158 160 196 234 271 
+133 173 202 203 217 296 
+134 213 236 238 239 240 
+135 203 260 261 262 264 
+136 152 163 168 197 245 
+137 190 232 254 273 277 
+138 180 189 192 225 243 
+139 146 171 185 207 269 
+140 165 169 186 219 276 
+141 154 196 210 238 264 
+142 144 191 197 208 297 
+143 180 234 246 249 290 
+144 148 149 172 191 231 
+145 228 248 265 284 297 
+1 2 4 62 97 246 
+3 9 12 43 205 287 
+6 7 13 37 46 66 
diff --git a/gr-fec/python/fec/LDPC/n_0500_k_0127_gap_21.alist 
b/gr-fec/python/fec/LDPC/n_0500_k_0127_gap_21.alist
new file mode 100644
index 0000000..3506aba
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0500_k_0127_gap_21.alist
@@ -0,0 +1,877 @@
+500 373
+3 4
+2 3 3 3 2 3 2 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 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 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 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  [...]
+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4  [...]
+1 367 
+1 2 365 
+3 358 365 
+2 4 360 
+4 5 
+1 6 362 
+7 371 
+8 356 365 
+8 9 
+10 355 
+11 355 362 
+12 353 356 
+6 13 370 
+12 14 368 
+14 15 371 
+15 16 362 
+7 17 364 
+16 18 364 
+19 364 366 
+12 20 366 
+20 21 356 
+21 22 356 
+17 21 23 
+23 24 355 
+25 361 
+14 25 26 
+26 27 357 
+28 366 372 
+29 353 363 
+20 30 359 
+18 31 359 
+21 32 359 
+33 360 373 
+24 34 354 
+24 35 354 
+27 36 369 
+31 36 37 
+37 38 373 
+1 36 39 
+9 39 40 
+29 38 41 
+12 38 42 
+25 39 43 
+27 42 44 
+23 43 45 
+37 44 46 
+40 46 47 
+8 47 48 
+45 48 49 
+13 48 50 
+50 51 366 
+51 52 373 
+51 53 365 
+5 53 54 
+31 54 55 
+32 53 56 
+5 55 57 
+15 55 58 
+52 56 59 
+32 57 60 
+57 61 
+52 60 62 
+62 63 368 
+63 64 370 
+41 64 65 
+45 65 66 
+19 66 67 
+48 65 68 
+2 67 69 
+43 69 70 
+9 70 71 
+66 71 72 
+70 73 367 
+71 74 358 
+61 73 75 
+20 73 76 
+50 68 77 
+2 74 78 
+31 71 79 
+49 68 80 
+59 74 81 
+35 69 82 
+80 83 369 
+22 78 84 
+49 77 85 
+42 67 86 
+11 77 87 
+85 88 373 
+34 87 89 
+28 87 90 
+84 91 370 
+33 88 92 
+57 88 93 
+39 90 94 
+42 89 95 
+59 87 96 
+96 97 371 
+34 96 98 
+90 98 99 
+32 97 100 
+37 95 101 
+100 102 360 
+98 102 103 
+19 102 104 
+81 104 105 
+58 99 106 
+106 107 361 
+38 106 108 
+6 103 109 
+30 109 110 
+49 110 111 
+75 107 112 
+33 112 113 
+100 113 114 
+113 115 
+10 112 116 
+111 117 358 
+79 117 118 
+117 118 119 
+81 116 120 
+11 119 121 
+7 113 122 
+112 121 123 
+120 124 354 
+63 124 125 
+109 122 126 
+7 119 127 
+118 127 128 
+122 127 129 
+125 130 357 
+76 130 131 
+22 129 132 
+18 125 133 
+116 128 134 
+108 120 135 
+8 135 136 
+91 132 137 
+116 133 138 
+54 136 139 
+126 136 140 
+83 133 141 
+73 139 142 
+25 140 143 
+58 130 144 
+35 134 145 
+86 141 146 
+91 135 147 
+138 148 359 
+27 140 149 
+40 148 150 
+45 148 151 
+75 147 152 
+97 152 153 
+153 154 357 
+107 151 155 
+24 140 156 
+115 155 157 
+84 154 158 
+62 150 159 
+78 145 160 
+159 160 161 
+3 146 162 
+154 163 370 
+13 158 164 
+98 152 165 
+64 162 166 
+83 144 167 
+145 157 168 
+90 167 169 
+114 168 170 
+33 165 171 
+4 162 172 
+128 141 173 
+128 141 174 
+82 168 175 
+157 171 176 
+23 169 177 
+68 175 178 
+56 172 179 
+50 165 180 
+130 178 181 
+104 150 182 
+182 183 361 
+3 148 184 
+147 170 185 
+185 186 360 
+144 187 364 
+123 137 188 
+69 149 189 
+55 174 190 
+95 163 191 
+135 161 192 
+153 193 363 
+129 183 194 
+170 180 195 
+149 176 196 
+82 187 197 
+177 198 362 
+65 197 199 
+187 196 200 
+188 198 201 
+56 186 202 
+115 181 203 
+85 203 204 
+79 182 205 
+92 180 206 
+53 161 207 
+19 202 208 
+133 190 209 
+82 208 210 
+26 185 211 
+145 156 212 
+102 212 213 
+6 212 214 
+146 203 215 
+85 165 216 
+123 204 217 
+30 206 218 
+60 201 219 
+142 174 220 
+139 199 221 
+170 208 222 
+92 202 223 
+72 188 224 
+103 207 225 
+26 221 226 
+54 211 227 
+161 195 228 
+46 222 229 
+149 220 230 
+89 181 231 
+44 184 232 
+66 173 233 
+46 223 234 
+138 221 235 
+143 233 236 
+83 228 237 
+179 215 238 
+79 233 239 
+172 235 240 
+164 214 241 
+76 239 242 
+178 239 243 
+80 228 244 
+225 242 245 
+158 241 246 
+162 239 247 
+209 237 248 
+178 247 249 
+194 230 250 
+78 186 251 
+62 214 252 
+29 139 253 
+138 237 254 
+5 236 255 
+51 216 256 
+10 243 257 
+160 249 258 
+222 259 369 
+143 231 260 
+96 192 261 
+131 230 262 
+197 226 263 
+176 264 353 
+256 265 372 
+108 248 266 
+215 266 267 
+265 268 358 
+205 252 269 
+217 245 270 
+10 247 271 
+249 272 368 
+34 222 273 
+224 257 274 
+189 259 275 
+131 250 276 
+155 264 277 
+151 224 278 
+190 250 279 
+124 203 280 
+163 271 281 
+28 262 282 
+177 276 283 
+218 258 284 
+86 283 285 
+143 283 286 
+205 250 287 
+261 284 288 
+11 274 289 
+251 266 290 
+101 267 291 
+28 264 292 
+204 219 293 
+15 293 294 
+92 289 295 
+103 285 296 
+177 207 297 
+236 278 298 
+154 267 299 
+93 287 300 
+127 274 301 
+29 278 302 
+99 213 303 
+137 230 304 
+63 279 305 
+4 217 306 
+17 305 307 
+268 295 308 
+158 285 309 
+101 277 310 
+107 310 311 
+157 216 312 
+270 313 361 
+200 210 314 
+121 308 315 
+184 300 316 
+136 275 317 
+255 261 318 
+114 315 319 
+105 277 320 
+206 311 321 
+304 322 371 
+187 311 323 
+16 240 324 
+159 266 325 
+44 309 326 
+61 291 327 
+84 263 328 
+264 295 329 
+232 323 330 
+132 171 331 
+144 329 332 
+294 305 333 
+150 309 334 
+129 289 335 
+290 292 336 
+94 319 337 
+95 238 338 
+272 318 339 
+197 317 340 
+80 286 341 
+219 304 342 
+287 341 343 
+254 326 344 
+234 332 345 
+105 321 346 
+282 322 347 
+333 336 348 
+314 337 349 
+328 343 350 
+317 344 351 
+105 307 352 
+58 253 281 
+110 296 316 
+60 189 290 
+125 169 255 
+309 310 335 
+36 251 332 
+16 327 338 
+201 321 351 
+153 259 297 
+67 192 193 
+152 234 299 
+315 334 367 
+238 281 283 
+254 338 345 
+190 226 238 
+40 257 280 
+194 288 315 
+229 284 306 
+108 179 298 
+126 247 352 
+41 278 344 
+196 255 322 
+168 273 274 
+88 224 243 
+123 159 183 
+252 269 369 
+131 288 291 
+181 232 234 
+175 287 342 
+76 325 342 
+74 246 313 
+117 210 280 
+211 276 323 
+265 273 367 
+22 215 246 
+134 200 233 
+126 294 350 
+147 220 349 
+246 328 348 
+70 256 301 
+240 253 254 
+207 212 237 
+196 208 240 
+119 267 301 
+171 333 345 
+18 216 351 
+241 271 355 
+179 297 357 
+47 275 299 
+244 320 336 
+263 288 328 
+94 299 346 
+110 251 313 
+94 296 308 
+295 320 351 
+151 346 349 
+257 262 284 
+100 218 341 
+86 142 194 
+167 333 337 
+156 265 273 
+223 298 317 
+231 236 330 
+225 268 281 
+142 226 258 
+47 193 218 
+347 349 368 
+198 258 302 
+175 313 323 
+338 347 350 
+14 293 325 
+223 343 348 
+124 195 201 
+166 191 227 
+75 156 191 
+72 280 318 
+134 192 213 
+35 290 339 
+115 235 285 
+199 213 221 
+174 184 235 
+173 204 263 
+101 217 249 
+300 301 302 
+52 241 253 
+227 260 270 
+259 297 324 
+269 330 350 
+243 312 327 
+227 291 303 
+191 225 242 
+214 302 332 
+41 279 289 
+260 270 354 
+173 337 346 
+3 324 326 
+219 327 335 
+114 202 209 
+97 310 340 
+111 166 205 
+77 277 348 
+339 344 347 
+262 286 292 
+195 199 372 
+13 308 352 
+99 294 300 
+155 193 345 
+164 228 325 
+91 172 334 
+104 166 169 
+93 279 319 
+269 282 303 
+242 312 363 
+163 232 296 
+9 331 341 
+64 304 324 
+106 229 260 
+17 282 307 
+182 272 293 
+307 314 326 
+109 188 198 
+61 340 342 
+286 329 363 
+72 209 211 
+121 303 322 
+30 220 335 
+81 248 330 
+118 261 272 
+231 306 321 
+164 268 331 
+137 244 256 
+93 245 320 
+298 318 353 
+176 314 336 
+122 185 305 
+146 206 210 
+276 311 352 
+111 189 252 
+245 306 372 
+183 244 248 
+89 160 329 
+186 316 319 
+339 340 343 
+43 275 292 
+200 229 312 
+59 271 316 
+132 331 334 
+120 167 180 
+1 2 6 39 
+2 4 69 78 
+3 162 184 448 
+4 5 172 306 
+5 54 57 255 
+6 13 109 214 
+7 17 122 127 
+8 9 48 136 
+9 40 71 467 
+10 116 257 271 
+11 87 121 289 
+12 14 20 42 
+13 50 164 457 
+14 15 26 423 
+15 16 58 294 
+16 18 324 359 
+17 23 307 470 
+18 31 133 398 
+19 67 104 208 
+20 21 30 76 
+21 22 23 32 
+22 84 132 387 
+23 24 45 177 
+24 34 35 156 
+25 26 43 143 
+26 27 211 226 
+27 36 44 149 
+28 90 282 292 
+29 41 253 302 
+30 110 218 478 
+31 37 55 79 
+32 56 60 100 
+33 92 113 171 
+34 89 98 273 
+35 82 145 430 
+36 37 39 358 
+37 38 46 101 
+38 41 42 108 
+39 40 43 94 
+40 47 150 368 
+41 65 373 445 
+42 44 86 95 
+43 45 70 496 
+44 46 232 326 
+45 49 66 151 
+46 47 229 234 
+47 48 401 418 
+48 49 50 68 
+49 80 85 111 
+50 51 77 180 
+51 52 53 256 
+52 59 62 437 
+53 54 56 207 
+54 55 139 227 
+55 57 58 190 
+56 59 179 202 
+57 60 61 93 
+58 106 144 353 
+59 81 96 498 
+60 62 219 355 
+61 75 327 474 
+62 63 159 252 
+63 64 125 305 
+64 65 166 468 
+65 66 68 199 
+66 67 72 233 
+67 69 86 362 
+68 77 80 178 
+69 70 82 189 
+70 71 73 392 
+71 72 74 79 
+72 224 428 476 
+73 75 76 142 
+74 78 81 383 
+75 112 152 427 
+76 131 242 382 
+77 85 87 453 
+78 84 160 251 
+79 118 205 239 
+80 83 244 341 
+81 105 120 479 
+82 175 197 210 
+83 141 167 237 
+84 91 158 328 
+85 88 204 216 
+86 146 285 411 
+87 89 90 96 
+88 92 93 376 
+89 95 231 493 
+90 94 99 169 
+91 137 147 461 
+92 206 223 295 
+93 300 463 484 
+94 337 404 406 
+95 101 191 338 
+96 97 98 261 
+97 100 153 451 
+98 99 103 165 
+99 106 303 458 
+100 102 114 410 
+101 291 310 435 
+102 103 104 213 
+103 109 225 296 
+104 105 182 462 
+105 320 346 352 
+106 107 108 469 
+107 112 155 311 
+108 135 266 371 
+109 110 126 473 
+110 111 354 405 
+111 117 452 490 
+112 113 116 123 
+113 114 115 122 
+114 170 319 450 
+115 157 203 431 
+116 120 134 138 
+117 118 119 384 
+118 119 128 480 
+119 121 127 396 
+120 124 135 500 
+121 123 315 477 
+122 126 129 487 
+123 188 217 377 
+124 125 280 425 
+125 130 133 356 
+126 140 372 389 
+127 128 129 301 
+128 134 173 174 
+129 132 194 335 
+130 131 144 181 
+131 262 276 379 
+132 137 331 499 
+133 138 141 209 
+134 145 388 429 
+135 136 147 192 
+136 139 140 317 
+137 188 304 483 
+138 148 235 254 
+139 142 221 253 
+140 143 149 156 
+141 146 173 174 
+142 220 411 417 
+143 236 260 286 
+144 167 187 332 
+145 160 168 212 
+146 162 215 488 
+147 152 185 390 
+148 150 151 184 
+149 189 196 230 
+150 159 182 334 
+151 155 278 408 
+152 153 165 363 
+153 154 193 361 
+154 158 163 299 
+155 157 277 459 
+156 212 413 427 
+157 168 176 312 
+158 164 246 309 
+159 161 325 377 
+160 161 258 493 
+161 192 207 228 
+162 166 172 247 
+163 191 281 466 
+164 241 460 482 
+165 171 180 216 
+166 426 452 462 
+167 169 412 500 
+168 170 175 375 
+169 177 356 462 
+170 185 195 222 
+171 176 331 397 
+172 179 240 461 
+173 233 434 447 
+174 190 220 433 
+175 178 381 421 
+176 196 264 486 
+177 198 283 297 
+178 181 243 249 
+179 238 371 400 
+180 195 206 500 
+181 203 231 380 
+182 183 205 471 
+183 194 377 492 
+184 232 316 433 
+185 186 211 487 
+186 202 251 494 
+187 197 200 323 
+188 201 224 473 
+189 275 355 490 
+190 209 279 367 
+191 426 427 443 
+192 261 362 429 
+193 362 418 459 
+194 250 369 411 
+195 228 425 456 
+196 200 374 395 
+197 199 263 340 
+198 201 420 473 
+199 221 432 456 
+200 314 388 497 
+201 219 360 425 
+202 208 223 450 
+203 204 215 280 
+204 217 293 434 
+205 269 287 452 
+206 218 321 488 
+207 225 297 394 
+208 210 222 395 
+209 248 450 476 
+210 314 384 488 
+211 227 385 476 
+212 213 214 394 
+213 303 429 432 
+214 241 252 444 
+215 238 267 387 
+216 256 312 398 
+217 270 306 435 
+218 284 410 418 
+219 293 342 449 
+220 230 390 478 
+221 226 235 432 
+222 229 259 273 
+223 234 414 424 
+224 274 278 376 
+225 245 416 443 
+226 263 367 417 
+227 426 438 442 
+228 237 244 460 
+229 370 469 497 
+230 250 262 304 
+231 260 415 481 
+232 330 380 466 
+233 236 239 388 
+234 345 363 380 
+235 240 431 433 
+236 255 298 415 
+237 248 254 394 
+238 338 365 367 
+239 242 243 247 
+240 324 393 395 
+241 246 399 437 
+242 245 443 465 
+243 257 376 441 
+244 402 483 492 
+245 270 484 491 
+246 383 387 391 
+247 249 271 372 
+248 266 479 492 
+249 258 272 435 
+250 276 279 287 
+251 290 358 405 
+252 269 378 490 
+253 353 393 437 
+254 344 366 393 
+255 318 356 374 
+256 265 392 483 
+257 274 368 409 
+258 284 417 420 
+259 275 361 439 
+260 438 446 469 
+261 288 318 480 
+262 282 409 455 
+263 328 403 434 
+264 277 292 329 
+265 268 386 413 
+266 267 290 325 
+267 291 299 396 
+268 308 416 482 
+269 378 440 464 
+270 313 438 446 
+271 281 399 498 
+272 339 471 480 
+273 375 386 413 
+274 289 301 375 
+275 317 401 496 
+276 283 385 489 
+277 310 320 453 
+278 298 302 373 
+279 305 445 463 
+280 368 384 428 
+281 353 365 416 
+282 347 464 470 
+283 285 286 365 
+284 288 370 409 
+285 296 309 431 
+286 341 455 475 
+287 300 343 381 
+288 369 379 403 
+289 295 335 445 
+290 336 355 430 
+291 327 379 442 
+292 336 455 496 
+293 294 423 471 
+294 333 389 458 
+295 308 329 407 
+296 354 406 466 
+297 361 400 439 
+298 371 414 485 
+299 363 401 404 
+300 316 436 458 
+301 392 396 436 
+302 420 436 444 
+303 442 464 477 
+304 322 342 468 
+305 307 333 487 
+306 370 481 491 
+307 352 470 472 
+308 315 406 457 
+309 326 334 357 
+310 311 357 451 
+311 321 323 489 
+312 441 465 497 
+313 383 405 421 
+314 349 472 486 
+315 319 364 369 
+316 354 494 498 
+317 340 351 414 
+318 339 428 485 
+319 337 463 494 
+320 402 407 484 
+321 346 360 481 
+322 347 374 477 
+323 330 385 421 
+324 439 448 468 
+325 382 423 460 
+326 344 448 472 
+327 359 441 449 
+328 350 391 403 
+329 332 475 493 
+330 415 440 479 
+331 467 482 499 
+332 345 358 444 
+333 348 397 412 
+334 364 461 499 
+335 357 449 478 
+336 348 402 486 
+337 349 412 447 
+338 359 366 422 
+339 430 454 495 
+340 451 474 495 
+341 343 410 467 
+342 381 382 474 
+343 350 424 495 
+344 351 373 454 
+345 366 397 459 
+346 404 408 447 
+347 419 422 454 
+348 391 424 453 
+349 390 408 419 
+350 389 422 440 
+351 360 398 407 
+352 372 457 489 
+12 29 264 485 
+34 35 124 446 
+10 11 24 399 
+8 12 21 22 
+27 130 154 400 
+3 74 117 268 
+30 31 32 148 
+4 33 102 186 
+25 107 183 313 
+6 11 16 198 
+29 193 465 475 
+17 18 19 187 
+2 3 8 53 
+19 20 28 51 
+1 73 364 386 
+14 63 272 419 
+36 83 259 378 
+13 64 91 163 
+7 15 97 322 
+28 265 456 491 
+33 38 52 88 
diff --git a/gr-fec/python/fec/LDPC/n_0500_k_0202_gap_11.alist 
b/gr-fec/python/fec/LDPC/n_0500_k_0202_gap_11.alist
new file mode 100644
index 0000000..eee4a1f
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0500_k_0202_gap_11.alist
@@ -0,0 +1,802 @@
+500 298
+3 5
+2 3 3 2 3 3 3 3 3 3 3 2 3 3 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 3 3 3 3 3 3 3 3 3 3 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 2 3 3 3 3 3 3 3 3 
3 3 3 2 3 3 3 3 3 3 3 3 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  [...]
+5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5  [...]
+1 288 
+2 288 289 
+3 289 290 
+4 291 
+3 5 291 
+1 6 292 
+2 7 293 
+2 8 294 
+1 9 295 
+4 10 295 
+11 293 296 
+11 12 
+12 13 296 
+6 13 14 
+14 15 
+16 297 
+6 16 17 
+16 18 290 
+9 19 297 
+19 20 293 
+8 19 21 
+19 22 295 
+5 20 23 
+9 23 24 
+12 22 25 
+7 24 26 
+21 22 27 
+10 28 298 
+10 29 298 
+12 29 30 
+30 31 293 
+18 31 32 
+31 33 291 
+31 33 34 
+13 30 35 
+33 36 296 
+36 37 292 
+31 38 295 
+13 34 39 
+33 38 40 
+35 41 291 
+21 34 42 
+29 37 43 
+15 43 44 
+30 40 45 
+38 43 46 
+10 35 47 
+37 42 48 
+29 45 49 
+5 44 50 
+39 51 291 
+34 50 52 
+19 52 53 
+36 53 54 
+28 39 55 
+37 48 56 
+55 57 294 
+49 58 289 
+8 51 59 
+57 60 290 
+27 59 61 
+12 61 62 
+27 59 63 
+46 59 64 
+22 54 65 
+1 64 66 
+61 67 294 
+67 68 288 
+62 69 
+2 60 70 
+53 59 71 
+70 72 297 
+43 65 73 
+73 74 292 
+23 70 75 
+42 63 76 
+58 69 77 
+44 68 78 
+72 79 296 
+77 78 80 
+35 72 81 
+74 75 82 
+58 75 83 
+76 80 84 
+6 71 85 
+82 86 298 
+43 82 87 
+78 88 289 
+54 87 89 
+62 81 90 
+67 91 290 
+3 66 92 
+25 82 93 
+55 87 94 
+63 95 289 
+54 88 96 
+17 83 97 
+94 97 98 
+34 91 99 
+15 66 100 
+25 81 101 
+27 93 102 
+85 96 103 
+99 104 292 
+47 102 105 
+100 101 106 
+76 103 107 
+35 78 108 
+104 107 109 
+23 88 110 
+110 111 
+74 91 112 
+77 106 113 
+70 107 114 
+61 97 115 
+71 77 116 
+39 69 117 
+56 113 118 
+84 101 119 
+51 113 120 
+32 90 121 
+26 109 122 
+111 123 
+21 119 124 
+98 124 125 
+24 84 126 
+26 101 127 
+86 116 128 
+117 129 293 
+94 106 130 
+74 108 131 
+103 132 
+7 125 133 
+96 127 134 
+85 89 135 
+20 115 136 
+86 103 137 
+32 93 138 
+23 129 139 
+64 91 140 
+68 124 141 
+28 139 142 
+125 136 143 
+116 139 144 
+9 144 145 
+56 119 146 
+51 137 147 
+56 91 148 
+49 135 149 
+24 141 150 
+65 148 151 
+45 89 152 
+41 123 153 
+138 154 297 
+57 153 155 
+7 121 156 
+125 148 157 
+106 148 158 
+137 142 159 
+8 145 160 
+99 142 161 
+115 160 162 
+20 158 163 
+25 153 164 
+107 134 165 
+147 149 166 
+52 150 167 
+17 102 168 
+161 165 169 
+53 75 170 
+132 143 171 
+63 124 172 
+45 133 173 
+77 166 174 
+69 169 175 
+164 170 176 
+156 159 177 
+27 174 178 
+1 130 179 
+109 122 180 
+99 171 181 
+90 142 182 
+112 132 183 
+98 170 184 
+94 164 185 
+96 143 186 
+146 173 187 
+67 183 188 
+48 185 189 
+61 182 190 
+106 126 191 
+135 139 192 
+16 126 193 
+94 155 194 
+8 149 195 
+152 178 196 
+80 195 197 
+113 193 198 
+115 164 199 
+72 134 200 
+58 122 201 
+14 157 202 
+150 202 203 
+134 204 288 
+79 195 205 
+180 189 206 
+90 204 207 
+30 203 208 
+84 113 209 
+26 192 210 
+161 204 211 
+5 198 212 
+173 191 213 
+78 90 214 
+15 142 215 
+100 190 216 
+133 177 217 
+181 206 218 
+185 201 219 
+136 176 220 
+118 173 221 
+130 216 222 
+141 208 223 
+36 223 224 
+104 203 225 
+137 213 226 
+98 194 227 
+200 209 228 
+190 221 229 
+205 217 230 
+29 167 231 
+104 140 232 
+80 156 233 
+93 154 234 
+97 215 235 
+123 221 236 
+210 237 288 
+76 192 238 
+120 157 239 
+125 225 240 
+151 238 241 
+60 144 242 
+161 240 243 
+65 239 244 
+48 221 245 
+166 205 246 
+64 198 247 
+68 188 248 
+187 205 249 
+7 210 250 
+85 237 251 
+84 222 252 
+186 211 253 
+128 254 290 
+130 232 255 
+155 247 256 
+172 237 257 
+51 249 258 
+108 131 259 
+50 220 260 
+109 119 261 
+50 154 262 
+79 228 263 
+207 253 264 
+17 166 265 
+45 224 266 
+41 209 267 
+165 218 268 
+6 260 269 
+168 227 270 
+95 268 271 
+117 211 272 
+14 214 273 
+179 273 274 
+89 250 275 
+165 194 276 
+5 230 277 
+4 158 278 
+100 197 279 
+109 226 280 
+14 274 281 
+198 277 282 
+157 214 283 
+158 237 284 
+280 284 285 
+132 143 286 
+259 270 287 
+174 197 228 
+102 249 269 
+110 245 248 
+46 122 153 
+228 268 278 
+172 180 274 
+163 271 294 
+155 206 228 
+117 201 235 
+117 176 252 
+10 95 151 
+75 102 234 
+48 95 177 
+80 95 191 
+40 128 181 
+130 204 275 
+168 240 246 
+121 184 220 
+118 185 189 
+123 178 195 
+104 145 234 
+83 131 208 
+189 208 287 
+49 105 256 
+176 245 280 
+152 179 220 
+152 201 214 
+199 231 284 
+129 246 256 
+162 216 217 
+107 241 282 
+198 262 267 
+174 281 286 
+145 200 256 
+178 180 220 
+64 223 237 
+57 171 263 
+163 241 282 
+114 221 242 
+71 251 260 
+88 250 260 
+18 72 92 
+69 199 222 
+194 211 272 
+18 169 192 
+167 182 217 
+157 240 262 
+47 116 215 
+230 239 276 
+119 156 261 
+199 271 287 
+16 92 128 
+140 179 235 
+4 207 231 
+133 244 252 
+110 212 216 
+185 251 287 
+144 272 278 
+141 256 272 
+32 68 86 
+47 236 257 
+86 207 236 
+41 112 197 
+87 196 264 
+55 264 279 
+22 149 279 
+262 279 284 
+263 268 279 
+208 209 258 
+129 184 255 
+47 231 258 
+108 175 255 
+165 255 285 
+81 171 250 
+79 242 261 
+241 244 273 
+89 273 276 
+82 146 273 
+83 146 250 
+136 260 265 
+46 219 283 
+136 257 286 
+36 175 177 
+192 197 243 
+93 112 160 
+169 190 277 
+162 264 266 
+24 148 216 
+18 248 270 
+131 159 257 
+134 258 261 
+240 243 268 
+170 193 235 
+105 132 212 
+124 127 210 
+11 214 227 
+114 129 243 
+11 146 196 
+96 262 274 
+38 186 218 
+151 202 234 
+128 212 218 
+103 105 218 
+13 249 274 
+20 209 259 
+152 219 286 
+71 154 175 
+49 169 282 
+74 145 245 
+181 206 248 
+150 203 265 
+159 202 206 
+188 266 295 
+76 144 239 
+215 238 267 
+52 229 238 
+52 251 280 
+115 238 251 
+88 114 135 
+195 207 276 
+3 219 222 
+99 155 179 
+66 83 140 
+163 200 275 
+62 227 229 
+65 131 147 
+37 105 111 
+111 196 244 
+135 147 292 
+85 255 258 
+41 183 265 
+73 246 248 
+174 280 283 
+127 168 222 
+171 199 263 
+224 247 259 
+81 261 264 
+98 259 283 
+9 160 201 
+162 182 275 
+100 166 183 
+33 239 266 
+92 213 283 
+236 281 
+21 225 242 
+58 116 118 
+11 92 149 
+111 164 232 
+271 281 287 
+55 120 121 
+70 114 121 
+46 108 110 
+4 173 210 
+172 254 278 
+217 235 254 
+44 225 232 
+15 184 219 
+57 118 284 
+215 271 281 
+137 170 242 
+50 141 191 
+17 154 163 
+2 191 229 
+54 73 168 
+143 227 233 
+123 223 233 
+79 167 213 
+53 233 276 
+26 122 158 
+126 161 234 
+28 162 178 
+160 245 247 
+28 184 267 
+156 211 253 
+25 247 278 
+126 140 298 
+193 266 270 
+44 97 120 
+139 147 253 
+60 62 63 
+67 181 183 
+150 188 223 
+233 277 282 
+133 263 286 
+159 226 294 
+187 202 249 
+73 187 272 
+153 187 277 
+3 175 200 
+101 138 188 
+87 265 275 
+127 138 236 
+138 226 285 
+151 254 257 
+56 196 203 
+120 204 224 
+167 180 186 
+39 225 252 
+194 226 232 
+60 252 253 
+172 182 296 
+42 193 241 
+42 244 270 
+230 267 298 
+229 269 297 
+38 190 243 
+112 269 285 
+189 246 269 
+212 230 285 
+40 176 205 
+32 186 213 
+40 177 231 
+66 224 254 
+1 6 9 66 179 
+2 7 8 70 450 
+3 5 92 408 476 
+4 10 278 341 440 
+5 23 50 212 277 
+6 14 17 85 269 
+7 26 133 156 250 
+8 21 59 160 195 
+9 19 24 145 426 
+10 28 29 47 298 
+11 12 383 385 434 
+12 13 25 30 62 
+13 14 35 39 391 
+14 15 202 273 281 
+15 44 100 215 444 
+16 17 18 193 339 
+17 97 168 265 449 
+18 32 329 332 376 
+19 20 21 22 53 
+20 23 136 163 392 
+21 27 42 124 432 
+22 25 27 65 353 
+23 24 75 110 139 
+24 26 126 150 375 
+25 93 101 164 462 
+26 122 127 210 456 
+27 61 63 102 178 
+28 55 142 458 460 
+29 30 43 49 231 
+30 31 35 45 208 
+31 32 33 34 38 
+32 121 138 347 498 
+33 34 36 40 429 
+34 39 42 52 99 
+35 41 47 81 108 
+36 37 54 224 370 
+37 43 48 56 414 
+38 40 46 387 493 
+39 51 55 117 485 
+40 45 302 497 499 
+41 153 267 350 418 
+42 48 76 489 490 
+43 44 46 73 87 
+44 50 78 443 465 
+45 49 152 173 266 
+46 64 291 368 439 
+47 105 335 348 358 
+48 56 189 245 300 
+49 58 149 311 395 
+50 52 260 262 448 
+51 59 120 147 258 
+52 53 167 403 404 
+53 54 71 170 455 
+54 65 89 96 451 
+55 57 94 352 437 
+56 118 146 148 482 
+57 60 155 324 445 
+58 77 83 201 433 
+59 61 63 64 71 
+60 70 242 467 487 
+61 62 67 115 190 
+62 69 90 412 467 
+63 76 95 172 467 
+64 66 140 247 323 
+65 73 151 244 413 
+66 92 100 410 500 
+67 68 91 188 468 
+68 78 141 248 347 
+69 77 117 175 330 
+70 72 75 114 438 
+71 85 116 327 394 
+72 79 81 200 329 
+73 74 419 451 474 
+74 82 112 131 396 
+75 82 83 170 299 
+76 84 107 238 401 
+77 80 113 116 174 
+78 80 88 108 214 
+79 205 263 362 454 
+80 84 197 233 301 
+81 90 101 361 424 
+82 86 87 93 365 
+83 97 309 366 410 
+84 119 126 209 252 
+85 103 135 251 417 
+86 128 137 347 349 
+87 89 94 351 478 
+88 96 110 328 406 
+89 135 152 275 364 
+90 121 182 207 214 
+91 99 112 140 148 
+92 329 339 430 434 
+93 102 138 234 372 
+94 98 130 185 194 
+95 271 298 300 301 
+96 103 134 186 386 
+97 98 115 235 465 
+98 125 184 227 425 
+99 104 161 181 409 
+100 106 216 279 428 
+101 106 119 127 477 
+102 105 168 289 299 
+103 107 132 137 390 
+104 109 225 232 308 
+105 311 381 390 414 
+106 113 130 158 191 
+107 109 114 165 318 
+108 131 259 359 439 
+109 122 180 261 280 
+110 111 290 343 439 
+111 123 414 415 435 
+112 183 350 372 494 
+113 118 120 198 209 
+114 326 384 406 438 
+115 136 162 199 405 
+116 128 144 335 433 
+117 129 272 296 297 
+118 221 306 433 445 
+119 124 146 261 337 
+120 239 437 465 483 
+121 156 305 437 438 
+122 180 201 291 456 
+123 153 236 307 453 
+124 125 141 172 382 
+125 133 143 157 240 
+126 191 193 457 463 
+127 134 382 421 479 
+128 254 302 339 389 
+129 139 316 357 384 
+130 179 222 255 303 
+131 259 309 377 413 
+132 171 183 286 381 
+133 173 217 342 471 
+134 165 200 204 378 
+135 149 192 406 416 
+136 143 220 367 369 
+137 147 159 226 447 
+138 154 477 479 480 
+139 142 144 192 466 
+140 232 340 410 463 
+141 150 223 346 448 
+142 159 161 182 215 
+143 171 186 286 452 
+144 145 242 345 401 
+145 160 308 321 396 
+146 187 365 366 385 
+147 166 413 416 466 
+148 151 157 158 375 
+149 166 195 353 434 
+150 167 203 398 469 
+151 241 298 388 481 
+152 196 313 314 393 
+153 155 164 291 475 
+154 234 262 394 449 
+155 194 256 295 409 
+156 177 233 337 461 
+157 202 239 283 334 
+158 163 278 284 456 
+159 177 377 399 472 
+160 162 372 426 459 
+161 169 211 243 457 
+162 317 374 427 458 
+163 294 325 411 449 
+164 176 185 199 435 
+165 169 268 276 360 
+166 174 246 265 428 
+167 231 333 454 484 
+168 270 304 421 451 
+169 175 332 373 395 
+170 176 184 380 447 
+171 181 324 361 422 
+172 257 293 441 488 
+173 187 213 221 440 
+174 178 288 320 420 
+175 359 370 394 476 
+176 220 297 312 497 
+177 217 300 370 499 
+178 196 307 322 458 
+179 274 313 340 409 
+180 206 293 322 484 
+181 218 302 397 468 
+182 190 333 427 488 
+183 188 418 428 468 
+184 305 357 444 460 
+185 189 219 306 344 
+186 253 387 484 498 
+187 249 473 474 475 
+188 248 400 469 477 
+189 206 306 310 495 
+190 216 229 373 493 
+191 213 301 448 450 
+192 210 238 332 371 
+193 198 380 464 489 
+194 227 276 331 486 
+195 197 205 307 407 
+196 351 385 415 482 
+197 279 288 350 371 
+198 212 247 282 319 
+199 315 330 338 422 
+200 228 321 411 476 
+201 219 296 314 426 
+202 203 388 399 473 
+203 208 225 398 482 
+204 207 211 303 483 
+205 230 246 249 497 
+206 218 295 397 399 
+207 264 341 349 407 
+208 223 309 310 356 
+209 228 267 356 392 
+210 237 250 382 440 
+211 253 272 331 461 
+212 343 381 389 496 
+213 226 430 454 498 
+214 273 283 314 383 
+215 235 335 402 446 
+216 222 317 343 375 
+217 230 317 333 442 
+218 268 387 389 390 
+219 368 393 408 444 
+220 260 305 313 322 
+221 229 236 245 326 
+222 252 330 408 421 
+223 224 323 453 469 
+224 266 423 483 500 
+225 240 432 443 485 
+226 280 472 480 486 
+227 270 383 412 452 
+228 263 288 292 295 
+229 403 412 450 492 
+230 277 336 491 496 
+231 315 341 358 499 
+232 255 435 443 486 
+233 452 453 455 470 
+234 299 308 388 457 
+235 296 340 380 442 
+236 348 349 431 479 
+237 251 257 284 323 
+238 241 402 403 405 
+239 244 336 401 429 
+240 243 304 334 379 
+241 318 325 363 489 
+242 326 362 432 447 
+243 371 379 384 493 
+244 342 363 415 490 
+245 290 312 396 459 
+246 304 316 419 495 
+247 256 423 459 462 
+248 290 376 397 419 
+249 258 289 391 473 
+250 275 328 361 366 
+251 327 344 404 405 
+252 297 342 485 487 
+253 264 461 466 487 
+254 441 442 481 500 
+255 357 359 360 417 
+256 311 316 321 346 
+257 348 369 377 481 
+258 356 358 378 417 
+259 287 392 423 425 
+260 269 327 328 367 
+261 337 362 378 424 
+262 319 334 354 386 
+263 324 355 422 471 
+264 351 352 374 424 
+265 367 398 418 478 
+266 374 400 429 464 
+267 319 402 460 491 
+268 271 292 355 379 
+269 289 492 494 495 
+270 287 376 464 490 
+271 294 338 436 446 
+272 331 345 346 474 
+273 274 363 364 365 
+274 281 293 386 391 
+275 303 411 427 478 
+276 336 364 407 455 
+277 282 373 470 475 
+278 292 345 441 462 
+279 352 353 354 355 
+280 285 312 404 420 
+281 320 431 436 446 
+282 318 325 395 470 
+283 368 420 425 430 
+284 285 315 354 445 
+285 360 480 494 496 
+286 320 369 393 471 
+287 310 338 344 436 
+1 2 68 204 237 
+2 3 58 88 95 
+3 18 60 91 254 
+4 5 33 41 51 
+6 37 74 104 416 
+7 11 20 31 129 
+8 57 67 294 472 
+9 10 22 38 400 
+11 13 36 79 488 
+16 19 72 154 492 
+28 29 86 463 491 
diff --git a/gr-fec/python/fec/LDPC/n_0512_k_0130_gap_21.alist 
b/gr-fec/python/fec/LDPC/n_0512_k_0130_gap_21.alist
new file mode 100644
index 0000000..45ce5a2
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0512_k_0130_gap_21.alist
@@ -0,0 +1,898 @@
+512 382
+3 4
+1 3 2 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
3 3 3 3 3 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 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  [...]
+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
4 4 4 4 4 4 4  [...]
+1 
+1 2 363 
+3 379 
+4 381 
+3 5 381 
+6 363 382 
+4 7 362 
+8 370 
+9 363 378 
+4 10 377 
+11 369 377 
+12 366 370 
+12 13 364 
+10 14 364 
+15 364 374 
+8 16 374 
+15 17 382 
+6 16 18 
+19 363 367 
+19 20 366 
+19 21 378 
+21 22 
+23 369 380 
+24 371 379 
+25 367 371 
+25 26 378 
+21 25 27 
+23 26 28 
+28 29 362 
+3 30 372 
+29 31 372 
+12 32 375 
+14 32 33 
+24 33 34 
+11 34 35 
+34 36 377 
+31 36 37 
+1 37 38 
+20 36 39 
+31 40 373 
+2 40 41 
+13 41 42 
+42 43 379 
+29 43 44 
+43 45 
+44 46 372 
+3 47 376 
+22 48 376 
+45 48 49 
+47 50 364 
+27 50 51 
+19 47 52 
+46 48 53 
+6 48 54 
+40 53 55 
+2 54 56 
+51 56 57 
+46 58 368 
+50 58 59 
+29 59 60 
+56 60 61 
+38 59 62 
+62 63 381 
+57 61 64 
+7 63 65 
+43 64 66 
+64 67 380 
+60 68 371 
+65 69 375 
+28 70 368 
+49 68 71 
+14 58 72 
+64 73 
+72 73 74 
+71 75 372 
+66 72 76 
+26 62 77 
+66 75 78 
+37 76 79 
+53 79 80 
+80 81 366 
+79 82 365 
+52 83 365 
+51 83 84 
+54 84 85 
+56 83 86 
+46 85 87 
+80 87 88 
+87 89 382 
+76 82 90 
+10 89 91 
+8 88 92 
+36 91 93 
+77 91 94 
+94 95 369 
+34 94 96 
+94 97 373 
+73 82 98 
+49 98 99 
+71 89 100 
+4 99 101 
+76 101 102 
+24 101 103 
+96 104 381 
+47 98 105 
+74 105 106 
+78 102 107 
+81 98 108 
+37 106 109 
+69 107 110 
+90 110 111 
+96 109 112 
+26 112 113 
+104 114 370 
+17 114 115 
+106 115 116 
+16 114 117 
+75 114 118 
+97 117 119 
+58 119 120 
+52 115 121 
+22 119 122 
+39 110 123 
+31 116 124 
+82 124 125 
+7 115 126 
+123 127 368 
+87 113 128 
+109 127 129 
+102 129 130 
+15 129 131 
+95 124 132 
+106 123 133 
+121 126 134 
+18 126 135 
+91 132 136 
+74 133 137 
+8 122 138 
+12 137 139 
+93 135 140 
+35 127 141 
+108 135 142 
+15 116 143 
+113 132 144 
+141 145 374 
+102 139 146 
+103 145 147 
+11 140 148 
+92 147 149 
+61 141 150 
+66 146 151 
+55 151 152 
+42 148 153 
+125 145 154 
+132 155 362 
+20 131 156 
+99 144 157 
+44 134 158 
+137 152 159 
+27 159 160 
+69 159 161 
+133 141 162 
+84 148 163 
+118 130 164 
+70 142 165 
+24 143 166 
+128 134 167 
+127 151 168 
+33 165 169 
+104 131 170 
+18 119 171 
+160 172 382 
+121 161 173 
+28 172 174 
+30 138 175 
+157 176 373 
+17 149 177 
+78 147 178 
+142 154 179 
+71 163 180 
+25 158 181 
+116 168 182 
+154 170 183 
+153 160 184 
+161 185 380 
+95 182 186 
+103 173 187 
+110 164 188 
+10 169 189 
+97 169 190 
+30 157 191 
+149 189 192 
+163 187 193 
+78 175 194 
+133 134 195 
+35 178 196 
+152 170 197 
+39 174 198 
+139 193 199 
+49 184 200 
+135 185 201 
+188 202 373 
+142 192 203 
+93 189 204 
+177 194 205 
+139 176 206 
+153 162 207 
+5 168 208 
+23 143 209 
+138 204 210 
+187 211 366 
+6 170 212 
+62 205 213 
+125 153 214 
+105 197 215 
+199 208 216 
+40 178 217 
+184 216 218 
+100 146 219 
+100 192 220 
+164 196 221 
+136 181 222 
+86 195 223 
+77 191 224 
+176 224 225 
+211 226 369 
+107 197 227 
+154 221 228 
+84 202 229 
+162 229 230 
+50 220 231 
+9 217 232 
+86 120 233 
+86 195 234 
+99 159 235 
+151 235 236 
+85 215 237 
+136 233 238 
+117 217 239 
+188 216 240 
+41 194 241 
+188 239 242 
+202 222 243 
+173 236 244 
+18 227 245 
+1 219 246 
+169 247 379 
+96 232 248 
+201 206 249 
+211 243 250 
+155 165 251 
+228 234 252 
+183 214 253 
+32 214 254 
+226 233 255 
+203 247 256 
+100 183 257 
+112 172 258 
+182 207 259 
+146 247 260 
+171 242 261 
+130 193 262 
+222 234 263 
+13 254 264 
+121 171 265 
+246 250 266 
+160 176 267 
+200 202 268 
+246 269 365 
+67 207 270 
+124 229 271 
+208 262 272 
+177 246 273 
+152 254 274 
+187 228 275 
+248 249 276 
+205 228 277 
+203 243 278 
+234 279 367 
+63 264 280 
+67 214 281 
+167 196 282 
+185 205 283 
+149 251 284 
+70 280 285 
+268 283 286 
+181 200 287 
+23 281 288 
+89 276 289 
+158 240 290 
+220 255 291 
+14 166 292 
+226 253 293 
+219 294 375 
+186 232 295 
+245 285 296 
+217 260 297 
+275 290 298 
+27 257 299 
+163 298 300 
+210 238 301 
+126 258 302 
+68 302 303 
+165 295 304 
+88 294 305 
+118 289 306 
+199 260 307 
+238 256 308 
+230 242 309 
+140 269 310 
+38 237 311 
+32 305 312 
+69 312 313 
+223 280 314 
+175 299 315 
+52 263 316 
+266 286 317 
+177 255 318 
+266 309 319 
+227 249 320 
+5 294 321 
+55 313 322 
+179 231 323 
+242 321 324 
+117 319 325 
+92 272 326 
+122 267 327 
+327 328 376 
+2 218 329 
+195 303 330 
+307 308 331 
+53 327 332 
+90 244 333 
+212 294 334 
+209 296 335 
+252 273 336 
+250 335 337 
+274 334 338 
+277 302 339 
+198 306 340 
+111 321 341 
+212 265 342 
+196 210 343 
+21 338 344 
+101 344 345 
+304 341 346 
+11 332 347 
+207 333 348 
+85 290 349 
+287 300 350 
+309 341 351 
+180 349 352 
+136 340 353 
+288 339 354 
+222 335 355 
+216 298 356 
+272 357 368 
+130 337 358 
+266 282 359 
+283 360 377 
+248 332 361 
+173 244 293 
+144 342 357 
+44 237 311 
+67 279 354 
+291 337 355 
+172 250 264 
+210 316 343 
+33 192 197 
+167 256 350 
+90 251 257 
+22 314 318 
+70 190 239 
+336 352 376 
+41 233 235 
+65 194 276 
+55 351 353 
+208 306 329 
+138 345 346 
+88 227 241 
+150 161 229 
+105 318 322 
+245 271 279 
+220 221 245 
+168 273 343 
+45 261 319 
+209 241 261 
+274 316 370 
+45 349 360 
+16 310 315 
+200 341 346 
+316 344 353 
+237 244 293 
+123 253 271 
+282 291 347 
+38 256 267 
+155 239 375 
+240 300 371 
+107 334 358 
+61 232 301 
+35 336 352 
+178 206 255 
+92 284 326 
+145 269 330 
+120 329 340 
+322 333 367 
+280 324 362 
+291 325 359 
+271 287 323 
+155 270 298 
+17 282 312 
+259 330 350 
+174 305 358 
+218 333 348 
+230 278 340 
+128 230 319 
+287 304 318 
+175 268 292 
+140 296 331 
+60 267 304 
+111 249 343 
+122 247 310 
+118 292 324 
+223 273 361 
+93 314 323 
+108 306 307 
+68 164 167 
+109 240 317 
+206 355 361 
+9 253 263 
+156 288 359 
+201 203 224 
+81 327 360 
+180 281 292 
+150 295 297 
+57 225 331 
+166 274 320 
+74 259 288 
+162 342 347 
+137 295 345 
+181 191 226 
+157 299 325 
+218 337 355 
+20 223 286 
+179 297 313 
+293 303 336 
+183 189 204 
+39 310 317 
+150 265 322 
+190 326 356 
+57 277 314 
+171 185 299 
+204 347 350 
+156 213 317 
+215 225 360 
+81 236 345 
+9 285 358 
+143 278 290 
+184 258 259 
+346 361 365 
+72 315 338 
+7 279 338 
+83 174 209 
+104 236 275 
+80 211 302 
+97 156 158 
+166 235 289 
+201 300 315 
+215 303 357 
+108 252 311 
+254 301 308 
+179 248 262 
+261 275 301 
+191 320 321 
+95 284 308 
+212 262 297 
+252 257 286 
+260 268 342 
+59 324 348 
+54 284 326 
+128 231 243 
+307 328 351 
+112 281 320 
+73 349 356 
+42 125 129 
+111 221 296 
+65 193 278 
+339 344 351 
+131 241 265 
+144 263 264 
+30 198 335 
+180 231 378 
+199 270 374 
+77 258 270 
+120 213 225 
+79 186 190 
+289 312 313 
+63 147 148 
+103 283 285 
+113 251 269 
+325 353 354 
+13 186 339 
+198 213 331 
+238 354 357 
+5 309 311 
+182 277 359 
+51 272 348 
+219 305 330 
+75 329 352 
+323 332 380 
+224 276 328 
+328 334 356 
+1 2 38 246 
+2 41 56 329 
+3 5 30 47 
+4 7 10 101 
+5 208 321 505 
+6 18 54 212 
+7 65 126 462 
+8 16 92 138 
+9 232 430 457 
+10 14 91 189 
+11 35 148 347 
+12 13 32 139 
+13 42 264 502 
+14 33 72 292 
+15 17 131 143 
+16 18 117 390 
+17 115 177 411 
+18 135 171 245 
+19 20 21 52 
+20 39 156 444 
+21 22 27 344 
+22 48 122 372 
+23 28 209 288 
+24 34 103 166 
+25 26 27 181 
+26 28 77 113 
+27 51 160 299 
+28 29 70 174 
+29 31 44 60 
+30 175 191 491 
+31 37 40 124 
+32 33 254 312 
+33 34 169 369 
+34 35 36 96 
+35 141 196 401 
+36 37 39 93 
+37 38 79 109 
+38 62 311 396 
+39 123 198 448 
+40 41 55 217 
+41 42 241 375 
+42 43 153 485 
+43 44 45 66 
+44 46 158 364 
+45 49 386 389 
+46 53 58 87 
+47 50 52 105 
+48 49 53 54 
+49 71 99 200 
+50 51 59 231 
+51 57 84 507 
+52 83 121 316 
+53 55 80 332 
+54 56 85 480 
+55 152 322 377 
+56 57 61 86 
+57 64 436 451 
+58 59 72 120 
+59 60 62 479 
+60 61 68 420 
+61 64 150 400 
+62 63 77 213 
+63 65 280 498 
+64 66 67 73 
+65 69 376 487 
+66 76 78 151 
+67 270 281 365 
+68 71 303 427 
+69 110 161 313 
+70 165 285 373 
+71 75 100 180 
+72 74 76 461 
+73 74 98 484 
+74 106 137 438 
+75 78 118 509 
+76 79 90 102 
+77 94 224 494 
+78 107 178 194 
+79 80 82 496 
+80 81 88 465 
+81 108 433 456 
+82 90 98 125 
+83 84 86 463 
+84 85 163 229 
+85 87 237 349 
+86 223 233 234 
+87 88 89 128 
+88 92 305 380 
+89 91 100 289 
+90 111 333 371 
+91 93 94 136 
+92 149 326 403 
+93 140 204 425 
+94 95 96 97 
+95 132 186 475 
+96 104 112 248 
+97 119 190 466 
+98 99 105 108 
+99 101 157 235 
+100 219 220 257 
+101 102 103 345 
+102 107 130 146 
+103 147 187 499 
+104 114 170 464 
+105 106 215 382 
+106 109 116 133 
+107 110 227 399 
+108 142 426 470 
+109 112 129 428 
+110 111 123 188 
+111 341 421 486 
+112 113 258 483 
+113 128 144 500 
+114 115 117 118 
+115 116 121 126 
+116 124 143 182 
+117 119 239 325 
+118 164 306 423 
+119 120 122 171 
+120 233 405 495 
+121 134 173 265 
+122 138 327 422 
+123 127 133 394 
+124 125 132 271 
+125 154 214 485 
+126 134 135 302 
+127 129 141 168 
+128 167 416 481 
+129 130 131 485 
+130 164 262 358 
+131 156 170 489 
+132 136 144 155 
+133 137 162 195 
+134 158 167 195 
+135 140 142 201 
+136 222 238 353 
+137 139 159 440 
+138 175 210 379 
+139 146 199 206 
+140 148 310 419 
+141 145 150 162 
+142 165 179 203 
+143 166 209 458 
+144 157 363 490 
+145 147 154 404 
+146 151 219 260 
+147 149 178 498 
+148 153 163 498 
+149 177 192 284 
+150 381 435 449 
+151 152 168 236 
+152 159 197 274 
+153 184 207 214 
+154 179 183 228 
+155 251 397 410 
+156 431 454 466 
+157 176 191 442 
+158 181 290 466 
+159 160 161 235 
+160 172 184 267 
+161 173 185 381 
+162 207 230 439 
+163 180 193 300 
+164 188 221 427 
+165 169 251 304 
+166 292 437 467 
+167 282 370 427 
+168 182 208 385 
+169 189 190 247 
+170 183 197 212 
+171 261 265 452 
+172 174 258 367 
+173 187 244 362 
+174 198 413 463 
+175 194 315 418 
+176 206 225 267 
+177 205 273 318 
+178 196 217 402 
+179 323 445 472 
+180 352 434 492 
+181 222 287 441 
+182 186 259 506 
+183 253 257 447 
+184 200 218 459 
+185 201 283 452 
+186 295 496 502 
+187 193 211 275 
+188 202 240 242 
+189 192 204 447 
+190 373 450 496 
+191 224 441 474 
+192 203 220 369 
+193 199 262 487 
+194 205 241 376 
+195 223 234 330 
+196 221 282 343 
+197 215 227 369 
+198 340 491 503 
+199 216 307 493 
+200 268 287 391 
+201 249 432 468 
+202 229 243 268 
+203 256 278 432 
+204 210 447 453 
+205 213 277 283 
+206 249 402 429 
+207 259 270 348 
+208 216 272 378 
+209 335 387 463 
+210 301 343 368 
+211 226 250 465 
+212 334 342 476 
+213 454 495 503 
+214 253 254 281 
+215 237 455 469 
+216 218 240 356 
+217 232 239 297 
+218 329 414 443 
+219 246 294 508 
+220 231 291 384 
+221 228 384 486 
+222 243 263 355 
+223 314 424 444 
+224 225 432 511 
+225 436 455 495 
+226 255 293 441 
+227 245 320 380 
+228 252 275 277 
+229 230 271 381 
+230 309 415 416 
+231 323 481 492 
+232 248 295 400 
+233 238 255 375 
+234 252 263 279 
+235 236 375 467 
+236 244 456 464 
+237 311 364 393 
+238 301 308 504 
+239 242 373 397 
+240 290 398 428 
+241 380 387 489 
+242 261 309 324 
+243 250 278 481 
+244 333 362 393 
+245 296 383 384 
+246 266 269 273 
+247 256 260 422 
+248 276 361 472 
+249 276 320 421 
+250 266 337 367 
+251 284 371 500 
+252 336 470 477 
+253 293 394 430 
+254 264 274 471 
+255 291 318 402 
+256 308 370 396 
+257 299 371 477 
+258 302 459 494 
+259 412 438 459 
+260 297 307 478 
+261 386 387 473 
+262 272 472 476 
+263 316 430 490 
+264 280 367 490 
+265 342 449 489 
+266 317 319 359 
+267 327 396 420 
+268 286 418 478 
+269 310 404 500 
+270 410 493 494 
+271 383 394 409 
+272 326 357 507 
+273 336 385 424 
+274 338 388 437 
+275 298 464 473 
+276 289 376 511 
+277 339 451 506 
+278 415 458 487 
+279 365 383 462 
+280 285 314 407 
+281 288 434 483 
+282 359 395 411 
+283 286 360 499 
+284 403 475 480 
+285 296 457 499 
+286 317 444 477 
+287 350 409 417 
+288 354 431 438 
+289 306 467 497 
+290 298 349 458 
+291 366 395 408 
+292 418 423 434 
+293 362 393 446 
+294 305 321 334 
+295 304 435 440 
+296 335 419 486 
+297 435 445 476 
+298 300 356 410 
+299 315 442 452 
+300 350 398 468 
+301 400 471 473 
+302 303 339 465 
+303 330 446 469 
+304 346 417 420 
+305 312 413 508 
+306 340 378 426 
+307 331 426 482 
+308 331 471 475 
+309 319 351 505 
+310 390 422 448 
+311 364 470 505 
+312 313 411 497 
+313 322 445 497 
+314 372 425 451 
+315 390 461 468 
+316 368 388 392 
+317 428 448 454 
+318 372 382 417 
+319 325 386 416 
+320 437 474 483 
+321 324 341 474 
+322 382 406 449 
+323 409 425 510 
+324 407 423 479 
+325 408 442 501 
+326 403 450 480 
+327 328 332 433 
+328 482 511 512 
+329 378 405 509 
+330 404 412 508 
+331 419 436 503 
+332 347 361 510 
+333 348 406 414 
+334 338 399 512 
+335 337 355 491 
+336 374 401 446 
+337 358 366 443 
+338 344 461 462 
+339 354 488 502 
+340 353 405 415 
+341 346 351 391 
+342 363 439 478 
+343 368 385 421 
+344 345 392 488 
+345 379 440 456 
+346 379 391 460 
+347 395 439 453 
+348 414 479 507 
+349 352 389 484 
+350 370 412 453 
+351 377 482 488 
+352 374 401 509 
+353 377 392 501 
+354 365 501 504 
+355 366 429 443 
+356 450 484 512 
+357 363 469 504 
+358 399 413 457 
+359 408 431 506 
+360 389 433 455 
+361 424 429 460 
+7 29 155 407 
+2 6 9 19 
+13 14 15 50 
+82 83 269 460 
+12 20 81 211 
+19 25 279 406 
+58 70 127 357 
+11 23 95 226 
+8 12 114 388 
+24 25 68 398 
+30 31 46 75 
+40 97 176 202 
+15 16 145 493 
+32 69 294 397 
+47 48 328 374 
+10 11 36 360 
+9 21 26 492 
+3 24 43 247 
+23 67 185 510 
+4 5 63 104 
+6 17 89 172 
diff --git a/gr-fec/python/fec/LDPC/n_0700_k_0282_gap_16.alist 
b/gr-fec/python/fec/LDPC/n_0700_k_0282_gap_16.alist
new file mode 100644
index 0000000..5fcdcbd
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_0700_k_0282_gap_16.alist
@@ -0,0 +1,1122 @@
+700 418
+3 5
+2 2 3 2 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
3 3 3 3 3 3 3 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 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 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 2 3 3 3 3 3 
3 3 3 3 3 3 3  [...]
+5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5  [...]
+1 414 
+2 411 
+2 3 409 
+4 408 
+4 5 411 
+5 6 415 
+7 406 
+1 8 403 
+5 9 413 
+3 10 417 
+4 11 412 
+6 11 12 
+13 407 412 
+13 14 417 
+14 15 414 
+15 16 417 
+7 16 17 
+17 18 415 
+16 19 409 
+19 20 413 
+14 21 405 
+20 21 22 
+21 22 23 
+23 24 
+24 25 406 
+9 26 416 
+11 27 416 
+12 27 28 
+10 28 29 
+28 29 30 
+26 30 31 
+28 31 32 
+11 32 33 
+10 31 34 
+9 33 35 
+19 33 36 
+9 37 404 
+38 410 412 
+12 39 410 
+3 38 40 
+34 40 41 
+39 42 409 
+32 42 43 
+30 43 44 
+7 40 45 
+16 41 46 
+47 418 
+21 48 418 
+31 48 49 
+1 50 418 
+8 49 51 
+22 51 52 
+52 53 403 
+52 54 413 
+28 54 55 
+55 56 408 
+41 51 57 
+53 58 403 
+27 57 59 
+45 52 60 
+38 50 61 
+22 61 62 
+62 63 407 
+17 47 64 
+19 61 65 
+58 63 66 
+51 66 67 
+44 60 68 
+61 67 69 
+33 68 70 
+17 70 71 
+18 59 72 
+6 72 73 
+70 71 74 
+71 75 403 
+24 73 76 
+56 75 77 
+49 69 78 
+58 79 405 
+68 79 80 
+32 80 81 
+6 79 82 
+40 81 83 
+48 82 84 
+64 84 85 
+42 84 86 
+48 83 87 
+56 75 88 
+85 89 
+88 90 403 
+77 87 91 
+68 91 92 
+30 86 93 
+76 94 416 
+76 94 95 
+93 96 405 
+16 96 97 
+94 98 416 
+44 86 99 
+25 98 100 
+100 101 404 
+78 101 102 
+8 95 103 
+99 104 413 
+100 104 105 
+66 103 106 
+103 107 405 
+4 105 108 
+107 109 404 
+90 102 110 
+69 108 111 
+34 108 112 
+36 110 113 
+14 104 114 
+85 107 115 
+26 112 116 
+116 117 415 
+85 112 118 
+92 115 119 
+109 120 418 
+11 116 121 
+117 122 
+45 102 123 
+121 124 413 
+34 117 125 
+109 123 126 
+62 119 127 
+82 120 128 
+78 122 129 
+1 126 130 
+64 129 131 
+7 123 132 
+110 121 133 
+77 126 134 
+88 131 135 
+66 130 136 
+112 127 137 
+104 138 408 
+112 139 414 
+86 135 140 
+23 129 141 
+102 119 142 
+139 143 416 
+133 144 404 
+46 132 145 
+97 143 146 
+79 140 147 
+115 132 148 
+105 131 149 
+89 141 150 
+111 134 151 
+94 148 152 
+143 153 407 
+117 152 154 
+73 145 155 
+44 115 156 
+99 150 157 
+60 140 158 
+125 126 159 
+15 150 160 
+84 148 161 
+130 138 162 
+151 163 409 
+123 136 164 
+129 155 165 
+106 158 166 
+117 139 167 
+45 113 168 
+127 145 169 
+158 170 418 
+50 142 171 
+92 164 172 
+83 150 173 
+154 162 174 
+136 148 175 
+56 141 176 
+90 159 177 
+50 172 178 
+147 179 411 
+80 163 180 
+20 164 181 
+165 176 182 
+63 161 183 
+127 183 184 
+182 185 404 
+48 124 186 
+120 172 187 
+111 142 188 
+101 167 189 
+169 183 190 
+46 161 191 
+81 191 192 
+105 156 193 
+47 158 194 
+29 170 195 
+87 182 196 
+53 192 197 
+149 167 198 
+29 180 199 
+160 187 200 
+25 159 201 
+120 177 202 
+93 197 203 
+72 172 204 
+136 205 410 
+118 205 206 
+180 186 207 
+66 143 208 
+37 174 209 
+121 188 210 
+111 195 211 
+101 172 212 
+157 202 213 
+131 140 214 
+98 213 215 
+15 204 216 
+118 125 217 
+57 156 218 
+78 218 219 
+97 201 220 
+26 156 221 
+106 141 222 
+93 140 223 
+174 190 224 
+19 205 225 
+128 169 226 
+185 226 227 
+5 216 228 
+4 224 229 
+82 214 230 
+150 176 231 
+166 194 232 
+132 217 233 
+215 234 
+63 199 235 
+62 210 236 
+81 138 237 
+154 236 238 
+157 215 239 
+89 233 240 
+2 201 241 
+186 234 242 
+103 195 243 
+166 184 244 
+118 222 245 
+38 235 246 
+74 221 247 
+133 202 248 
+80 114 249 
+122 211 250 
+76 176 251 
+168 227 252 
+134 171 253 
+193 235 254 
+90 208 255 
+160 217 256 
+1 247 257 
+174 229 258 
+210 249 259 
+72 238 260 
+126 248 261 
+59 240 262 
+188 210 263 
+58 245 264 
+179 240 265 
+36 261 266 
+215 235 267 
+91 212 268 
+144 248 269 
+53 196 270 
+164 207 271 
+74 191 272 
+45 251 273 
+173 226 274 
+242 261 275 
+61 272 276 
+54 219 277 
+54 261 278 
+73 188 279 
+177 253 280 
+208 219 281 
+35 221 282 
+139 239 283 
+225 262 284 
+127 155 285 
+67 243 286 
+229 287 410 
+75 283 288 
+8 277 289 
+206 208 290 
+271 278 291 
+33 276 292 
+157 239 293 
+84 241 294 
+135 271 295 
+98 238 296 
+77 282 297 
+170 298 406 
+208 249 299 
+185 275 300 
+148 250 301 
+128 265 302 
+121 178 303 
+110 290 304 
+216 250 305 
+161 279 306 
+176 226 307 
+292 308 412 
+108 275 309 
+236 262 310 
+182 187 311 
+38 184 312 
+236 259 313 
+8 263 314 
+279 307 315 
+299 316 417 
+247 280 317 
+153 302 318 
+141 279 319 
+30 288 320 
+13 240 321 
+119 168 322 
+220 314 323 
+165 216 324 
+256 324 325 
+242 322 326 
+231 318 327 
+50 241 328 
+212 230 329 
+44 291 330 
+107 300 331 
+178 228 332 
+145 326 333 
+63 325 334 
+200 335 406 
+209 307 336 
+100 300 337 
+147 332 338 
+32 333 339 
+175 334 340 
+249 273 341 
+198 270 342 
+297 342 343 
+114 314 344 
+130 339 345 
+35 245 346 
+99 291 347 
+247 346 348 
+73 323 349 
+200 298 350 
+40 278 351 
+106 329 352 
+276 353 411 
+154 324 354 
+311 355 414 
+113 343 356 
+24 289 357 
+9 245 358 
+65 199 359 
+260 337 360 
+207 322 361 
+179 246 362 
+197 316 363 
+264 341 364 
+72 312 365 
+218 337 366 
+318 339 367 
+102 223 368 
+41 355 369 
+336 370 406 
+56 252 371 
+347 372 409 
+254 344 373 
+87 355 374 
+275 374 375 
+144 369 376 
+71 310 377 
+201 270 378 
+312 360 379 
+57 341 380 
+93 185 381 
+97 285 382 
+167 330 383 
+181 242 384 
+12 373 385 
+364 381 386 
+367 387 
+363 385 388 
+244 388 389 
+337 366 390 
+37 387 391 
+298 360 392 
+35 327 393 
+143 187 394 
+304 353 395 
+59 331 396 
+162 287 397 
+342 354 398 
+213 349 399 
+67 389 400 
+43 175 401 
+7 350 402 
+95 222 320 
+214 237 388 
+335 350 352 
+173 202 204 
+47 53 54 
+83 133 213 
+197 219 245 
+116 198 268 
+78 374 395 
+75 206 257 
+215 269 289 
+305 345 395 
+134 234 346 
+317 365 368 
+309 370 415 
+280 286 366 
+293 306 408 
+69 284 293 
+187 285 357 
+42 255 367 
+181 353 379 
+96 239 286 
+296 309 350 
+76 241 336 
+147 299 358 
+181 278 363 
+90 199 312 
+201 359 380 
+113 335 371 
+65 295 393 
+170 237 325 
+284 382 390 
+200 224 270 
+244 325 374 
+59 352 356 
+20 269 349 
+220 249 254 
+260 292 378 
+96 298 392 
+139 336 348 
+365 370 415 
+191 348 376 
+125 235 268 
+114 231 313 
+274 359 395 
+18 315 344 
+83 284 383 
+89 123 195 
+124 378 395 
+221 225 267 
+57 194 287 
+92 259 320 
+25 169 170 
+133 255 400 
+47 190 214 
+114 161 178 
+227 387 400 
+79 256 263 
+39 203 399 
+232 252 366 
+122 321 373 
+223 228 269 
+214 241 342 
+92 277 354 
+211 272 364 
+266 316 324 
+82 149 377 
+248 362 373 
+175 203 328 
+213 276 344 
+85 376 401 
+203 311 323 
+233 301 390 
+152 282 331 
+21 155 194 
+118 217 291 
+163 314 396 
+167 283 294 
+3 156 222 
+159 286 289 
+196 300 347 
+36 237 334 
+149 258 265 
+113 216 369 
+153 258 277 
+67 297 319 
+36 189 242 
+31 358 387 
+248 281 362 
+280 288 383 
+180 351 391 
+347 352 402 
+119 138 412 
+227 334 381 
+168 181 264 
+189 291 292 
+175 196 266 
+185 313 362 
+160 217 256 
+130 259 411 
+65 200 289 
+184 237 255 
+178 198 322 
+100 236 284 
+87 263 326 
+52 184 229 
+211 297 328 
+22 397 401 
+88 243 294 
+89 165 173 
+12 285 316 
+257 271 394 
+146 238 341 
+276 343 384 
+267 281 361 
+318 339 340 
+243 253 388 
+264 353 388 
+125 252 358 
+273 370 385 
+108 188 304 
+116 232 401 
+193 253 310 
+162 369 380 
+231 265 374 
+285 316 366 
+204 309 326 
+95 279 368 
+268 399 402 
+171 205 408 
+244 342 389 
+135 209 308 
+15 207 231 
+192 324 368 
+152 390 398 
+219 243 372 
+230 232 367 
+128 355 359 
+5 281 384 
+6 205 356 
+49 375 394 
+220 370 396 
+149 353 361 
+153 378 385 
+35 192 322 
+146 206 223 
+91 299 343 
+224 238 417 
+222 363 379 
+17 137 171 
+18 333 394 
+46 357 380 
+224 267 287 
+209 280 356 
+27 368 381 
+62 343 358 
+151 268 321 
+94 295 357 
+80 308 382 
+189 386 400 
+183 225 405 
+227 267 271 
+226 230 386 
+151 209 352 
+147 338 361 
+91 142 179 
+26 154 166 
+129 272 295 
+51 373 386 
+39 317 392 
+144 371 398 
+99 294 315 
+306 344 360 
+165 299 303 
+2 134 137 
+182 218 397 
+329 335 401 
+317 328 407 
+303 330 335 
+296 303 364 
+109 153 155 
+158 166 168 
+74 294 393 
+180 252 414 
+60 330 396 
+146 311 321 
+49 306 379 
+95 307 328 
+43 371 393 
+39 131 152 
+250 381 384 
+195 274 282 
+29 228 386 
+132 315 330 
+189 296 382 
+74 377 393 
+14 351 391 
+103 305 325 
+64 336 340 
+55 246 396 
+137 193 223 
+81 190 250 
+41 246 389 
+42 293 314 
+104 318 376 
+194 290 351 
+277 290 398 
+34 203 259 
+55 357 363 
+13 275 300 
+136 251 354 
+10 348 399 
+20 234 283 
+60 144 377 
+240 298 331 
+186 292 333 
+23 163 326 
+18 327 329 
+257 261 302 
+115 258 315 
+86 356 372 
+13 260 307 
+58 301 375 
+68 392 398 
+169 346 359 
+262 302 313 
+171 204 385 
+162 338 391 
+274 313 339 
+128 305 371 
+199 348 354 
+96 173 212 
+186 288 332 
+98 340 345 
+191 211 225 
+190 206 301 
+77 295 332 
+65 174 397 
+122 246 387 
+193 350 402 
+101 360 402 
+230 333 362 
+46 378 383 
+367 372 410 
+254 290 365 
+124 221 392 
+270 351 407 
+255 286 319 
+111 269 310 
+142 297 345 
+233 273 377 
+55 266 302 
+346 391 399 
+105 106 109 
+70 296 304 
+159 288 355 
+97 151 311 
+207 308 323 
+281 306 379 
+10 244 258 
+135 287 340 
+64 338 369 
+70 196 210 
+71 251 272 
+228 329 375 
+177 347 364 
+337 365 400 
+160 257 338 
+24 251 320 
+110 183 253 
+274 319 383 
+308 327 382 
+3 220 233 
+334 341 361 
+332 349 375 
+2 124 137 
+283 319 384 
+69 262 282 
+247 256 380 
+138 198 212 
+23 163 164 
+239 390 394 
+266 273 320 
+157 218 254 
+27 234 265 
+145 301 317 
+107 192 197 
+179 232 312 
+88 264 321 
+146 305 331 
+120 229 372 
+37 177 304 
+43 323 345 
+260 303 309 
+202 278 397 
+25 293 376 
+310 349 389 
+37 263 327 
+1 8 50 130 257 
+2 3 241 577 678 
+3 10 40 481 675 
+4 5 11 108 229 
+5 6 9 228 541 
+6 12 73 82 542 
+7 17 45 132 402 
+8 51 103 289 314 
+9 26 35 37 358 
+10 29 34 614 662 
+11 12 27 33 121 
+12 28 39 385 513 
+13 14 321 612 624 
+14 15 21 114 599 
+15 16 160 216 535 
+16 17 19 46 97 
+17 18 64 71 552 
+18 72 448 553 620 
+19 20 36 65 225 
+20 22 181 438 615 
+21 22 23 48 477 
+22 23 52 62 510 
+23 24 141 619 683 
+24 25 76 357 671 
+25 100 201 455 698 
+26 31 116 221 569 
+27 28 59 557 687 
+28 29 30 32 55 
+29 30 195 199 595 
+30 31 44 93 320 
+31 32 34 49 490 
+32 33 43 81 339 
+33 35 36 70 292 
+34 41 112 125 610 
+35 282 346 393 547 
+36 113 266 484 489 
+37 209 391 694 700 
+38 40 61 246 312 
+39 42 461 572 592 
+40 41 45 83 351 
+41 46 57 369 605 
+42 43 86 422 606 
+43 44 401 591 695 
+44 68 99 156 330 
+45 60 123 168 273 
+46 145 191 554 645 
+47 64 194 407 457 
+48 49 84 87 186 
+49 51 78 543 589 
+50 61 171 178 328 
+51 52 57 67 571 
+52 53 54 60 508 
+53 58 197 270 407 
+54 55 277 278 407 
+55 56 602 611 654 
+56 77 88 176 371 
+57 59 218 380 453 
+58 66 79 264 625 
+59 72 262 396 437 
+60 68 158 587 616 
+61 62 65 69 276 
+62 63 127 236 558 
+63 66 183 235 334 
+64 85 131 601 664 
+65 359 432 503 640 
+66 67 106 136 208 
+67 69 286 400 488 
+68 70 80 92 626 
+69 78 111 420 680 
+70 71 74 657 665 
+71 74 75 377 666 
+72 73 204 260 365 
+73 76 155 279 349 
+74 247 272 585 598 
+75 77 88 288 412 
+76 94 95 251 426 
+77 91 134 297 639 
+78 102 129 219 411 
+79 80 82 147 460 
+80 81 180 249 561 
+81 83 192 237 604 
+82 84 128 230 469 
+83 87 173 408 449 
+84 85 86 161 294 
+85 89 115 118 473 
+86 93 99 140 623 
+87 91 196 374 507 
+88 90 135 511 691 
+89 150 240 450 512 
+90 110 177 255 429 
+91 92 268 549 568 
+92 119 172 454 466 
+93 96 203 223 381 
+94 95 98 152 560 
+95 103 403 530 590 
+96 97 424 441 634 
+97 146 220 382 659 
+98 100 215 296 636 
+99 104 157 347 574 
+100 101 105 337 506 
+101 102 189 212 643 
+102 110 123 142 368 
+103 106 107 243 600 
+104 105 114 138 607 
+105 108 149 193 656 
+106 166 222 352 656 
+107 109 115 331 689 
+108 111 112 309 523 
+109 120 126 583 656 
+110 113 133 304 672 
+111 151 188 211 651 
+112 116 118 137 139 
+113 168 356 431 486 
+114 249 344 446 458 
+115 119 148 156 622 
+116 117 121 410 524 
+117 122 125 154 167 
+118 206 217 245 478 
+119 127 142 322 495 
+120 128 187 202 693 
+121 124 133 210 303 
+122 129 250 463 641 
+123 126 132 164 450 
+124 186 451 648 678 
+125 159 217 445 521 
+126 130 134 159 261 
+127 137 169 184 285 
+128 226 302 540 632 
+129 131 141 165 570 
+130 136 162 345 502 
+131 135 149 214 592 
+132 145 148 233 596 
+133 144 248 408 456 
+134 151 253 415 577 
+135 140 295 534 663 
+136 164 175 205 613 
+137 552 577 603 678 
+138 162 237 495 682 
+139 143 167 283 442 
+140 147 158 214 223 
+141 150 176 222 319 
+142 171 188 568 652 
+143 146 153 208 394 
+144 269 376 573 616 
+145 155 169 333 688 
+146 515 548 588 692 
+147 179 338 427 567 
+148 152 161 175 301 
+149 198 469 485 545 
+150 157 160 173 231 
+151 163 559 566 659 
+152 154 476 537 592 
+153 318 487 546 583 
+154 174 238 354 569 
+155 165 285 477 583 
+156 193 218 221 481 
+157 213 239 293 686 
+158 166 170 194 584 
+159 177 201 482 658 
+160 200 256 501 670 
+161 183 191 306 458 
+162 174 397 526 630 
+163 180 479 619 683 
+164 172 181 271 683 
+165 182 324 512 576 
+166 232 244 569 584 
+167 189 198 383 480 
+168 252 322 497 584 
+169 190 226 455 627 
+170 195 298 433 455 
+171 253 532 552 629 
+172 178 187 204 212 
+173 274 406 512 634 
+174 209 224 258 640 
+175 340 401 471 499 
+176 182 231 251 307 
+177 202 280 668 694 
+178 303 332 458 505 
+179 265 362 568 690 
+180 199 207 493 586 
+181 384 423 428 497 
+182 185 196 311 578 
+183 184 190 563 672 
+184 244 312 504 508 
+185 227 300 381 500 
+186 207 242 618 635 
+187 200 311 394 421 
+188 210 263 279 523 
+189 489 498 562 597 
+190 224 457 604 638 
+191 192 272 444 637 
+192 197 536 547 689 
+193 254 525 603 642 
+194 232 453 477 608 
+195 211 243 450 594 
+196 270 483 499 665 
+197 203 363 409 689 
+198 342 410 505 682 
+199 235 359 429 633 
+200 335 350 435 503 
+201 220 241 378 430 
+202 213 248 406 697 
+203 461 471 474 610 
+204 216 406 529 629 
+205 206 225 532 542 
+206 290 412 548 638 
+207 271 361 535 660 
+208 255 281 290 299 
+209 336 534 556 566 
+210 236 259 263 665 
+211 250 467 509 637 
+212 268 329 634 682 
+213 215 399 408 472 
+214 230 404 457 465 
+215 234 239 267 413 
+216 228 305 324 486 
+217 233 256 478 501 
+218 219 366 578 686 
+219 277 281 409 538 
+220 323 439 544 675 
+221 247 282 452 648 
+222 245 403 481 551 
+223 368 464 548 603 
+224 229 435 550 555 
+225 284 452 563 637 
+226 227 274 307 565 
+227 252 459 496 564 
+228 332 464 595 667 
+229 258 287 508 693 
+230 329 539 565 644 
+231 327 446 527 535 
+232 462 524 539 690 
+233 240 475 653 675 
+234 242 415 615 687 
+235 246 254 267 445 
+236 238 310 313 506 
+237 404 433 484 504 
+238 260 296 515 550 
+239 283 293 424 684 
+240 262 265 321 617 
+241 294 328 426 465 
+242 275 326 384 489 
+243 286 511 519 538 
+244 389 436 533 662 
+245 264 346 358 409 
+246 362 602 605 641 
+247 257 317 348 681 
+248 261 269 470 491 
+249 259 299 341 439 
+250 301 305 593 604 
+251 273 613 666 671 
+252 371 462 521 586 
+253 280 519 525 672 
+254 373 439 647 686 
+255 422 456 504 650 
+256 325 460 501 681 
+257 412 514 621 670 
+258 485 487 622 662 
+259 313 454 502 610 
+260 360 440 624 696 
+261 266 275 278 621 
+262 284 310 628 680 
+263 314 460 507 700 
+264 364 497 520 691 
+265 302 485 527 687 
+266 468 499 654 685 
+267 452 517 555 564 
+268 410 445 531 559 
+269 413 438 464 651 
+270 342 378 435 649 
+271 291 295 514 564 
+272 276 467 570 666 
+273 341 522 653 685 
+274 447 594 631 673 
+275 300 309 375 612 
+276 292 353 472 516 
+277 289 466 487 609 
+278 291 351 428 697 
+279 306 315 319 530 
+280 317 418 492 556 
+281 491 517 541 661 
+282 297 476 594 680 
+283 288 480 615 679 
+284 420 434 449 506 
+285 382 421 513 528 
+286 418 424 482 650 
+287 397 453 555 663 
+288 320 492 635 658 
+289 357 413 482 503 
+290 304 608 609 647 
+291 330 347 478 498 
+292 308 440 498 618 
+293 419 420 606 698 
+294 480 511 574 585 
+295 432 560 570 639 
+296 425 582 597 657 
+297 343 488 509 652 
+298 350 392 441 617 
+299 316 427 549 576 
+300 331 337 483 612 
+301 475 625 638 688 
+302 318 621 628 654 
+303 576 581 582 696 
+304 395 523 657 694 
+305 414 600 632 692 
+306 419 575 589 661 
+307 315 336 590 624 
+308 534 561 660 674 
+309 417 425 529 696 
+310 377 525 651 699 
+311 355 474 588 659 
+312 365 379 429 690 
+313 446 500 628 631 
+314 323 344 479 606 
+315 448 574 596 622 
+316 363 468 513 528 
+317 416 572 580 688 
+318 327 367 518 607 
+319 488 650 673 679 
+320 403 454 671 685 
+321 463 559 588 691 
+322 326 361 505 547 
+323 349 474 660 695 
+324 325 354 468 536 
+325 334 433 436 600 
+326 333 507 529 619 
+327 393 620 674 700 
+328 471 509 580 590 
+329 352 579 620 667 
+330 383 581 587 596 
+331 396 476 617 692 
+332 338 635 639 677 
+333 339 553 618 644 
+334 340 484 496 676 
+335 405 431 579 581 
+336 370 426 442 601 
+337 360 366 390 669 
+338 567 630 664 670 
+339 345 367 518 631 
+340 518 601 636 663 
+341 364 380 515 676 
+342 343 398 465 533 
+343 356 516 549 558 
+344 373 448 472 575 
+345 414 636 652 695 
+346 348 415 627 655 
+347 372 483 494 668 
+348 442 444 614 633 
+349 399 438 677 699 
+350 402 405 425 642 
+351 493 599 608 649 
+352 405 437 494 566 
+353 395 423 520 545 
+354 398 466 613 633 
+355 369 374 540 658 
+356 437 542 556 623 
+357 421 554 560 611 
+358 427 490 521 558 
+359 430 447 540 627 
+360 379 392 575 643 
+361 517 545 567 676 
+362 470 491 500 644 
+363 388 428 551 611 
+364 386 467 582 668 
+365 416 443 647 669 
+366 390 418 462 528 
+367 387 422 539 646 
+368 416 530 536 557 
+369 376 486 526 664 
+370 417 443 522 544 
+371 431 573 591 632 
+372 538 623 646 693 
+373 385 463 470 571 
+374 375 411 436 527 
+375 543 625 667 677 
+376 444 473 607 698 
+377 469 598 616 653 
+378 440 451 546 645 
+379 423 551 589 661 
+380 430 526 554 681 
+381 386 496 557 593 
+382 434 561 597 674 
+383 449 492 645 673 
+384 516 541 593 679 
+385 388 522 546 629 
+386 562 565 571 595 
+387 391 459 490 641 
+388 389 404 519 520 
+389 400 533 605 699 
+390 434 475 537 684 
+391 493 599 630 655 
+392 441 572 626 648 
+393 432 585 591 598 
+394 514 543 553 684 
+395 411 414 447 451 
+396 479 544 587 602 
+397 510 578 640 697 
+398 537 573 609 626 
+399 461 531 614 655 
+400 456 459 562 669 
+401 473 510 524 579 
+402 494 531 642 643 
+8 53 58 75 90 
+37 101 109 144 185 
+21 79 96 107 563 
+7 25 298 335 370 
+13 63 153 580 649 
+4 56 138 419 532 
+3 19 42 163 372 
+38 39 205 287 646 
+2 5 179 353 502 
+11 13 38 308 495 
+9 20 54 104 124 
+1 15 139 355 586 
+6 18 117 417 443 
+26 27 94 98 143 
+10 14 16 316 550 
+47 48 50 120 170 
diff --git a/gr-fec/python/fec/LDPC/n_1100_k_0442_gap_24.alist 
b/gr-fec/python/fec/LDPC/n_1100_k_0442_gap_24.alist
new file mode 100644
index 0000000..1e243a3
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_1100_k_0442_gap_24.alist
@@ -0,0 +1,1762 @@
+1100 658
+3 5
+2 3 2 3 2 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 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 2 3 3 3 3 3 3 3 3 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 2 3 3 3 3 3 3 3 3 3 3 
3 3 3 3 3 3 3  [...]
+5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5  [...]
+1 635 
+2 635 636 
+3 637 
+4 635 638 
+5 639 
+4 6 640 
+7 636 641 
+8 641 642 
+9 639 643 
+10 638 644 
+10 11 641 
+10 12 
+5 13 645 
+14 637 645 
+6 15 646 
+16 635 647 
+17 645 648 
+6 17 18 
+17 19 637 
+13 20 649 
+14 21 650 
+11 21 22 
+5 21 23 
+7 24 650 
+25 642 651 
+19 26 652 
+12 27 652 
+28 650 652 
+28 29 636 
+19 27 30 
+18 30 31 
+31 32 648 
+30 31 33 
+32 34 
+34 35 642 
+33 34 36 
+36 37 645 
+4 36 38 
+28 39 644 
+37 40 643 
+20 39 41 
+16 32 42 
+38 42 43 
+18 44 653 
+7 45 653 
+25 45 46 
+22 46 47 
+9 47 48 
+48 49 639 
+26 48 50 
+35 50 51 
+19 51 52 
+8 53 654 
+49 53 54 
+54 55 651 
+8 53 56 
+29 57 655 
+43 58 655 
+59 643 655 
+58 60 638 
+60 61 644 
+28 62 656 
+55 62 63 
+62 64 656 
+63 65 653 
+64 66 655 
+29 65 67 
+58 67 68 
+9 66 69 
+11 70 657 
+32 71 657 
+72 637 658 
+38 72 73 
+10 73 74 
+16 74 75 
+75 76 647 
+76 77 652 
+75 77 78 
+67 76 79 
+14 74 80 
+8 79 81 
+45 80 82 
+81 83 
+50 82 84 
+54 83 85 
+74 84 86 
+46 78 87 
+79 88 650 
+37 81 89 
+83 90 657 
+69 88 91 
+88 92 
+26 89 93 
+89 94 656 
+92 95 656 
+79 93 96 
+95 97 654 
+1 93 98 
+3 98 99 
+73 96 100 
+88 97 101 
+89 102 636 
+24 101 103 
+30 103 104 
+102 105 646 
+103 106 646 
+32 106 107 
+87 107 108 
+105 109 650 
+103 110 639 
+68 108 111 
+35 104 112 
+2 104 113 
+22 113 114 
+67 109 115 
+55 104 116 
+109 117 640 
+117 118 640 
+114 118 119 
+61 116 120 
+39 120 121 
+62 111 122 
+23 117 123 
+55 115 124 
+15 110 125 
+107 126 640 
+16 124 127 
+35 120 128 
+116 128 129 
+107 130 642 
+49 125 131 
+54 122 132 
+105 128 133 
+112 124 134 
+14 132 135 
+12 134 136 
+77 122 137 
+33 136 138 
+86 121 139 
+121 136 140 
+81 136 141 
+132 139 142 
+113 143 654 
+3 137 144 
+122 141 145 
+71 125 146 
+93 137 147 
+26 138 148 
+27 114 149 
+52 145 150 
+15 144 151 
+29 114 152 
+46 145 153 
+48 153 154 
+15 149 155 
+127 142 156 
+42 156 157 
+120 154 158 
+69 146 159 
+159 160 658 
+48 140 161 
+20 108 162 
+115 156 163 
+82 149 164 
+137 165 649 
+69 163 166 
+26 166 167 
+109 146 168 
+40 165 169 
+64 158 170 
+168 171 643 
+91 153 172 
+143 173 644 
+142 174 654 
+152 172 175 
+162 174 176 
+155 175 177 
+70 174 178 
+132 155 179 
+51 126 180 
+57 169 181 
+99 138 182 
+37 160 183 
+166 182 184 
+131 176 185 
+27 172 186 
+110 185 187 
+53 143 188 
+102 160 189 
+75 145 190 
+85 161 191 
+181 187 192 
+31 185 193 
+135 163 194 
+157 191 195 
+94 158 196 
+139 182 197 
+133 195 198 
+6 196 199 
+78 174 200 
+103 197 201 
+91 178 202 
+37 192 203 
+154 163 204 
+120 172 205 
+123 180 206 
+101 157 207 
+73 172 208 
+170 175 209 
+49 201 210 
+33 161 211 
+135 161 212 
+181 213 653 
+82 180 214 
+30 190 215 
+191 206 216 
+12 216 217 
+177 214 218 
+20 184 219 
+102 204 220 
+180 221 651 
+50 166 222 
+167 219 223 
+177 224 646 
+181 216 225 
+22 201 226 
+187 227 642 
+186 228 647 
+223 229 
+123 178 230 
+162 194 231 
+152 218 232 
+166 233 638 
+118 194 234 
+134 222 235 
+189 208 236 
+56 141 237 
+131 235 238 
+76 236 239 
+197 240 640 
+64 224 241 
+200 231 242 
+75 234 243 
+239 244 651 
+101 242 245 
+66 237 246 
+196 243 247 
+86 184 248 
+90 192 249 
+147 204 250 
+147 220 251 
+147 219 252 
+91 249 253 
+77 202 254 
+82 227 255 
+92 250 256 
+167 219 257 
+185 257 258 
+162 232 259 
+220 236 260 
+238 250 261 
+65 248 262 
+25 242 263 
+71 234 264 
+49 255 265 
+164 259 266 
+9 265 267 
+13 228 268 
+222 265 269 
+231 251 270 
+158 238 271 
+116 245 272 
+165 269 273 
+229 244 274 
+159 253 275 
+63 210 276 
+80 260 277 
+118 186 278 
+164 226 279 
+5 224 280 
+150 229 281 
+129 254 282 
+83 232 283 
+248 280 284 
+85 270 285 
+230 267 286 
+80 263 287 
+20 191 288 
+112 239 289 
+119 253 290 
+237 274 291 
+92 290 292 
+151 240 293 
+111 288 294 
+266 295 655 
+184 207 296 
+42 293 297 
+237 270 298 
+95 292 299 
+285 298 300 
+86 272 301 
+239 290 302 
+177 273 303 
+277 289 304 
+161 281 305 
+61 236 306 
+13 201 307 
+171 192 308 
+132 284 309 
+140 266 310 
+165 298 311 
+179 305 312 
+251 313 639 
+121 246 314 
+213 272 315 
+99 249 316 
+173 221 317 
+169 233 318 
+38 314 319 
+179 308 320 
+216 289 321 
+93 319 322 
+47 150 323 
+169 271 324 
+102 206 325 
+40 275 326 
+182 317 327 
+78 266 328 
+126 189 329 
+248 307 330 
+255 329 331 
+129 300 332 
+168 289 333 
+186 240 334 
+126 321 335 
+157 334 336 
+195 309 337 
+119 329 338 
+56 323 339 
+123 271 340 
+149 321 341 
+252 315 342 
+297 321 343 
+266 310 344 
+163 300 345 
+199 315 346 
+38 313 347 
+268 348 641 
+265 328 349 
+330 332 350 
+5 299 351 
+204 218 352 
+57 328 353 
+60 225 354 
+52 292 355 
+315 344 356 
+318 353 357 
+100 208 358 
+47 288 359 
+104 228 360 
+130 277 361 
+275 351 362 
+98 284 363 
+257 292 364 
+1 274 365 
+234 295 366 
+164 355 367 
+90 264 368 
+138 294 369 
+317 365 370 
+183 214 371 
+276 323 372 
+217 285 373 
+281 324 374 
+143 282 375 
+181 348 376 
+41 142 377 
+52 241 378 
+263 360 379 
+156 368 380 
+340 352 381 
+230 296 382 
+58 243 383 
+221 242 384 
+269 375 385 
+117 252 386 
+273 387 658 
+114 174 388 
+357 389 653 
+57 372 390 
+342 391 649 
+243 375 392 
+45 359 393 
+131 361 394 
+130 335 395 
+22 273 396 
+77 276 397 
+309 353 398 
+298 379 399 
+180 393 400 
+1 389 401 
+358 402 649 
+34 399 403 
+260 336 404 
+36 171 405 
+291 342 406 
+246 286 407 
+254 279 408 
+193 337 409 
+185 370 410 
+373 375 411 
+360 396 412 
+187 334 413 
+203 371 414 
+107 405 415 
+309 319 416 
+374 415 417 
+153 395 418 
+190 206 419 
+173 242 420 
+170 361 421 
+409 411 422 
+211 420 423 
+213 406 424 
+345 382 425 
+144 337 426 
+198 249 427 
+271 393 428 
+45 317 429 
+255 315 430 
+220 420 431 
+115 246 432 
+322 423 433 
+222 250 434 
+40 360 435 
+25 318 436 
+235 416 437 
+43 404 438 
+234 425 439 
+140 413 440 
+24 383 441 
+325 398 442 
+275 369 443 
+210 386 444 
+89 333 445 
+252 379 446 
+183 403 447 
+18 259 448 
+198 407 449 
+183 420 450 
+205 321 451 
+173 216 452 
+97 179 453 
+287 360 454 
+187 226 455 
+313 327 456 
+316 430 457 
+2 282 458 
+384 433 459 
+291 414 460 
+50 288 461 
+111 358 462 
+173 426 463 
+287 452 464 
+279 421 465 
+124 402 466 
+28 376 467 
+41 369 468 
+326 469 648 
+78 396 470 
+189 316 471 
+212 432 472 
+164 364 473 
+60 323 474 
+390 394 475 
+370 419 476 
+300 435 477 
+60 442 478 
+468 479 638 
+193 475 480 
+401 441 481 
+423 482 648 
+357 483 635 
+217 468 484 
+148 482 485 
+139 428 486 
+54 441 487 
+414 473 488 
+356 480 489 
+407 432 490 
+100 449 491 
+151 359 492 
+131 362 493 
+384 489 494 
+43 354 495 
+290 410 496 
+94 489 497 
+33 495 498 
+320 499 
+313 376 500 
+94 375 501 
+366 368 502 
+362 438 503 
+224 350 504 
+278 505 652 
+11 417 506 
+42 454 507 
+378 501 508 
+285 377 509 
+196 348 510 
+133 330 511 
+227 387 512 
+468 513 644 
+474 514 643 
+344 475 515 
+448 494 516 
+386 501 517 
+199 376 518 
+386 438 519 
+72 200 520 
+386 444 521 
+244 406 522 
+223 512 523 
+383 479 524 
+467 521 525 
+177 464 526 
+229 515 527 
+55 404 528 
+130 497 529 
+302 488 530 
+330 527 531 
+313 513 532 
+450 480 533 
+208 319 534 
+189 515 535 
+1 392 536 
+356 503 537 
+410 529 538 
+225 522 539 
+203 227 540 
+345 499 541 
+432 485 542 
+408 494 543 
+310 456 544 
+287 444 545 
+35 425 546 
+457 532 547 
+256 408 548 
+51 548 549 
+459 532 550 
+97 514 551 
+44 487 552 
+381 441 553 
+226 514 554 
+155 359 555 
+297 434 556 
+23 487 557 
+549 558 641 
+322 500 559 
+465 555 560 
+31 453 561 
+422 505 562 
+36 440 563 
+369 440 564 
+402 490 565 
+97 542 566 
+478 535 567 
+13 549 568 
+374 415 569 
+137 268 570 
+387 506 571 
+56 487 572 
+176 302 573 
+497 560 574 
+70 320 575 
+212 572 576 
+46 351 577 
+4 545 578 
+255 521 579 
+206 530 580 
+124 324 581 
+201 509 582 
+343 445 583 
+147 457 584 
+392 579 585 
+351 579 586 
+10 561 587 
+369 566 588 
+337 573 589 
+134 546 590 
+420 550 591 
+9 576 592 
+297 559 593 
+4 405 594 
+520 552 595 
+3 346 596 
+565 597 658 
+416 452 598 
+117 419 599 
+311 532 600 
+341 571 601 
+384 531 602 
+210 512 603 
+17 551 604 
+63 547 605 
+217 400 606 
+349 548 607 
+233 581 608 
+269 284 609 
+209 477 610 
+365 413 611 
+84 538 612 
+157 479 613 
+343 614 646 
+205 568 615 
+428 534 616 
+470 516 617 
+268 591 618 
+347 575 619 
+570 601 620 
+608 619 621 
+128 621 622 
+106 488 623 
+24 544 624 
+27 437 625 
+95 585 626 
+400 532 627 
+505 605 628 
+59 448 629 
+451 613 630 
+483 619 631 
+162 439 632 
+364 371 633 
+146 484 634 
+260 268 495 
+136 278 413 
+199 382 511 
+218 247 535 
+282 595 604 
+118 562 630 
+223 409 431 
+235 341 367 
+202 418 578 
+74 564 582 
+310 392 489 
+357 438 496 
+247 286 490 
+80 221 303 
+207 454 595 
+310 401 501 
+18 355 390 
+448 590 649 
+182 453 491 
+363 570 581 
+336 575 612 
+139 557 567 
+68 455 589 
+68 506 556 
+205 283 614 
+442 492 582 
+305 400 458 
+135 299 388 
+167 388 470 
+222 274 372 
+311 388 517 
+373 400 508 
+100 459 584 
+371 422 469 
+99 371 537 
+223 343 587 
+303 335 601 
+12 287 605 
+402 436 469 
+40 447 495 
+98 229 402 
+592 624 658 
+320 595 598 
+238 484 594 
+113 304 502 
+57 389 390 
+156 582 589 
+385 520 620 
+253 322 543 
+322 391 483 
+21 460 474 
+212 276 283 
+378 393 424 
+138 378 424 
+417 480 585 
+245 427 492 
+71 591 613 
+349 437 
+280 349 596 
+196 523 539 
+140 236 349 
+112 317 620 
+347 356 516 
+239 508 557 
+412 477 573 
+278 356 434 
+429 553 562 
+433 455 461 
+87 410 461 
+148 462 564 
+320 461 625 
+294 502 581 
+11 427 617 
+108 215 221 
+257 492 616 
+197 262 304 
+135 460 585 
+220 529 596 
+261 501 603 
+281 404 475 
+529 556 648 
+179 607 631 
+152 604 633 
+17 436 629 
+264 306 444 
+285 393 563 
+96 450 549 
+339 397 503 
+517 535 606 
+8 338 418 
+61 555 568 
+401 473 483 
+530 562 605 
+289 398 399 
+299 398 554 
+496 528 622 
+81 442 539 
+126 595 608 
+199 456 551 
+39 249 403 
+158 504 558 
+341 492 511 
+332 472 599 
+232 504 568 
+230 262 304 
+433 513 579 
+246 413 539 
+170 468 609 
+65 346 437 
+227 549 624 
+213 546 588 
+531 539 550 
+65 312 354 
+51 332 365 
+405 446 558 
+462 545 633 
+183 434 459 
+339 591 615 
+318 329 403 
+225 269 339 
+197 339 502 
+24 416 493 
+370 580 584 
+3 609 625 
+288 327 370 
+94 554 592 
+224 262 412 
+87 226 324 
+160 260 267 
+282 301 324 
+194 384 387 
+416 555 610 
+125 385 545 
+253 385 584 
+385 537 580 
+155 415 441 
+303 510 577 
+251 580 600 
+309 536 599 
+555 600 627 
+73 396 600 
+129 241 506 
+144 561 570 
+332 570 576 
+200 205 379 
+431 541 618 
+231 258 608 
+70 401 467 
+368 550 584 
+175 611 633 
+298 505 542 
+334 543 547 
+244 543 571 
+188 436 514 
+171 541 631 
+193 514 615 
+133 470 478 
+247 498 503 
+170 602 605 
+381 517 602 
+486 556 602 
+92 311 547 
+58 524 606 
+390 524 625 
+383 510 530 
+84 524 541 
+593 597 630 
+214 399 498 
+388 512 596 
+133 345 399 
+264 394 443 
+188 228 258 
+264 295 454 
+106 382 617 
+536 556 597 
+175 262 295 
+141 368 472 
+86 215 258 
+259 486 598 
+34 319 469 
+151 518 632 
+191 312 341 
+195 398 488 
+362 523 554 
+52 352 467 
+84 184 352 
+63 520 540 
+429 542 604 
+144 559 582 
+429 531 647 
+252 429 559 
+111 466 560 
+245 466 518 
+245 481 589 
+301 333 613 
+67 565 566 
+422 460 502 
+119 362 372 
+110 478 599 
+316 619 645 
+306 373 414 
+95 423 458 
+305 430 477 
+449 456 628 
+178 430 526 
+108 611 615 
+203 417 426 
+328 425 631 
+598 599 651 
+248 590 607 
+62 619 628 
+165 528 541 
+585 597 629 
+188 240 592 
+43 476 633 
+497 558 630 
+176 338 485 
+251 383 622 
+464 473 485 
+127 576 622 
+500 588 622 
+364 573 632 
+123 407 500 
+207 428 500 
+283 577 589 
+428 552 594 
+275 534 632 
+348 531 636 
+331 576 624 
+308 491 498 
+64 553 593 
+445 586 632 
+122 452 629 
+146 513 617 
+68 434 444 
+259 277 302 
+231 489 519 
+14 235 479 
+129 354 406 
+72 272 299 
+72 301 344 
+292 358 614 
+453 473 657 
+105 215 333 
+237 312 377 
+59 365 380 
+154 207 290 
+76 439 627 
+70 198 232 
+494 552 564 
+326 587 631 
+154 296 509 
+190 372 588 
+366 459 464 
+190 327 403 
+316 525 563 
+127 593 623 
+426 496 525 
+391 519 525 
+330 421 525 
+456 558 563 
+148 350 391 
+127 550 603 
+296 366 620 
+346 559 603 
+346 486 603 
+293 600 609 
+533 574 578 
+98 423 430 
+204 303 579 
+440 544 630 
+168 569 594 
+294 308 637 
+16 270 450 
+424 508 611 
+100 261 294 
+218 458 569 
+367 408 583 
+353 577 627 
+342 445 479 
+342 407 497 
+481 553 569 
+464 526 612 
+142 522 523 
+69 565 612 
+121 612 628 
+481 569 616 
+448 560 615 
+510 583 587 
+145 301 560 
+516 547 616 
+167 397 411 
+59 377 439 
+59 278 601 
+202 381 586 
+83 567 578 
+409 527 574 
+457 564 618 
+451 484 548 
+110 451 571 
+90 451 581 
+431 504 527 
+215 312 471 
+19 471 528 
+115 286 490 
+188 471 537 
+281 527 552 
+186 454 507 
+340 496 507 
+271 507 601 
+41 493 507 
+355 620 621 
+2 148 151 
+2 293 406 
+160 480 583 
+217 355 382 
+85 566 593 
+128 517 577 
+79 263 412 
+125 304 446 
+209 438 608 
+21 233 493 
+336 462 578 
+433 610 634 
+520 607 634 
+300 367 634 
+476 598 624 
+351 572 592 
+96 536 626 
+41 503 572 
+149 572 606 
+241 440 509 
+276 455 604 
+209 445 476 
+171 338 367 
+209 389 452 
+426 522 597 
+200 391 432 
+487 540 626 
+336 488 540 
+106 325 540 
+15 280 380 
+109 574 626 
+387 544 567 
+212 462 587 
+472 545 614 
+119 293 314 
+153 419 446 
+47 353 475 
+295 562 586 
+334 557 561 
+314 491 580 
+105 327 443 
+250 397 443 
+443 453 485 
+152 418 542 
+213 405 548 
+141 291 463 
+291 380 463 
+323 463 469 
+195 463 513 
+314 343 571 
+101 335 477 
+150 389 588 
+244 567 573 
+150 178 193 
+61 509 535 
+329 506 546 
+211 279 394 
+96 211 267 
+134 257 308 
+435 486 654 
+447 538 543 
+328 447 470 
+348 516 536 
+427 447 554 
+270 331 435 
+194 493 533 
+354 533 616 
+192 590 626 
+331 396 533 
+422 435 606 
+247 326 363 
+395 521 618 
+88 476 546 
+211 296 381 
+66 460 474 
+44 511 518 
+44 404 415 
+311 340 352 
+44 377 574 
+238 431 455 
+202 594 610 
+143 458 544 
+265 419 529 
+394 471 515 
+130 363 623 
+29 551 590 
+53 424 494 
+240 457 526 
+411 483 523 
+23 609 623 
+467 491 530 
+23 378 442 
+112 198 214 
+241 337 358 
+305 335 347 
+345 484 505 
+277 553 557 
+418 522 634 
+380 538 618 
+437 623 629 
+7 318 515 
+361 490 657 
+7 273 325 
+176 261 280 
+302 361 551 
+208 408 414 
+359 481 591 
+284 338 537 
+333 421 610 
+499 561 627 
+297 340 374 
+331 392 417 
+219 325 350 
+116 350 474 
+113 499 512 
+39 274 482 
+373 482 495 
+169 395 566 
+395 482 596 
+472 499 510 
+306 575 621 
+56 279 376 
+90 436 449 
+347 617 625 
+254 286 607 
+159 518 528 
+66 524 538 
+159 563 621 
+283 410 602 
+254 498 534 
+25 409 439 
+379 478 511 
+357 586 628 
+258 306 344 
+203 461 466 
+446 583 613 
+99 256 397 
+256 427 465 
+87 256 261 
+225 326 647 
+91 519 614 
+85 449 504 
+71 272 421 
+228 230 267 
+210 412 519 
+6 307 363 
+508 575 611 
+307 526 534 
+307 364 465 
+263 411 521 
+243 374 466 
+425 465 565 
+168 450 568 
+233 366 656 
+1 98 365 401 536 
+2 113 458 947 948 
+3 99 144 596 758 
+4 6 38 578 594 
+5 13 23 280 351 
+6 15 18 199 1092 
+7 24 45 1047 1049 
+8 53 56 81 724 
+9 48 69 267 592 
+10 11 12 74 587 
+11 22 70 506 707 
+12 27 136 217 672 
+13 20 268 307 568 
+14 21 80 135 872 
+15 125 151 155 976 
+16 42 75 127 908 
+17 18 19 604 718 
+18 31 44 448 651 
+19 26 30 52 938 
+20 41 162 219 288 
+21 22 23 685 956 
+22 47 114 226 396 
+23 123 557 1036 1038 
+24 103 441 624 756 
+25 46 263 436 1077 
+26 50 93 148 167 
+27 30 149 186 625 
+28 29 39 62 467 
+29 57 67 152 1032 
+30 31 33 104 215 
+31 32 33 193 561 
+32 34 42 71 107 
+33 36 138 211 498 
+34 35 36 403 814 
+35 51 112 128 546 
+36 37 38 405 563 
+37 40 89 183 203 
+38 43 73 319 347 
+39 41 121 734 1062 
+40 169 326 435 674 
+41 377 468 945 964 
+42 43 157 297 507 
+43 58 438 495 849 
+44 552 1022 1023 1025 
+45 46 82 393 429 
+46 47 87 153 577 
+47 48 323 359 983 
+48 49 50 154 161 
+49 54 131 210 265 
+50 51 84 222 461 
+51 52 180 549 748 
+52 150 355 378 819 
+53 54 56 188 1033 
+54 55 85 132 487 
+55 63 116 124 528 
+56 237 339 572 1068 
+57 181 353 390 680 
+58 60 68 383 797 
+59 629 880 927 928 
+60 61 354 474 478 
+61 120 306 725 1001 
+62 63 64 122 845 
+63 65 276 605 821 
+64 66 170 241 865 
+65 67 262 743 747 
+66 69 246 1021 1073 
+67 68 79 115 830 
+68 111 657 658 869 
+69 91 159 166 919 
+70 178 575 782 883 
+71 146 264 691 1089 
+72 73 520 874 875 
+73 74 100 208 775 
+74 75 80 86 644 
+75 76 78 190 243 
+76 77 79 239 882 
+77 78 137 254 397 
+78 87 200 328 470 
+79 81 88 96 953 
+80 82 277 287 648 
+81 83 89 141 731 
+82 84 164 214 255 
+83 85 90 283 930 
+84 86 612 800 820 
+85 191 285 951 1088 
+86 139 248 301 812 
+87 108 703 762 1085 
+88 91 92 101 1019 
+89 93 94 102 445 
+90 249 368 935 1069 
+91 172 202 253 1087 
+92 95 256 292 796 
+93 96 98 147 322 
+94 196 497 501 760 
+95 97 299 626 836 
+96 100 721 963 1004 
+97 101 453 551 566 
+98 99 363 675 903 
+99 182 316 669 1083 
+100 358 491 667 910 
+101 103 207 245 997 
+102 105 189 220 325 
+103 104 106 110 201 
+104 112 113 116 360 
+105 109 133 878 987 
+106 107 623 808 975 
+107 108 126 130 415 
+108 111 162 708 840 
+109 115 117 168 977 
+110 125 187 833 934 
+111 122 294 462 826 
+112 134 289 696 1039 
+113 114 143 679 1061 
+114 119 149 152 388 
+115 124 163 432 939 
+116 120 129 272 1060 
+117 118 123 386 599 
+118 119 234 278 640 
+119 290 338 832 981 
+120 121 128 158 205 
+121 139 140 314 920 
+122 132 137 145 867 
+123 206 230 340 857 
+124 127 134 466 581 
+125 131 146 767 954 
+126 180 329 335 732 
+127 156 854 891 897 
+128 129 133 622 952 
+129 282 332 776 873 
+130 361 395 529 1031 
+131 185 238 394 493 
+132 135 142 179 309 
+133 198 511 791 804 
+134 136 235 590 1005 
+135 194 212 662 711 
+136 138 140 141 636 
+137 144 147 165 570 
+138 148 182 369 688 
+139 142 197 486 656 
+140 161 310 440 695 
+141 145 237 811 992 
+142 156 174 377 918 
+143 173 188 375 1028 
+144 151 426 777 823 
+145 150 153 190 924 
+146 159 168 634 868 
+147 250 251 252 584 
+148 485 704 896 947 
+149 155 164 341 965 
+150 281 323 998 1000 
+151 293 492 815 947 
+152 175 232 717 990 
+153 154 172 418 982 
+154 158 204 881 886 
+155 177 179 555 770 
+156 157 163 380 681 
+157 195 207 336 613 
+158 170 196 271 735 
+159 160 275 1072 1074 
+160 183 189 763 949 
+161 191 211 212 305 
+162 176 231 259 632 
+163 166 194 204 345 
+164 266 279 367 473 
+165 169 273 311 846 
+166 167 184 222 233 
+167 223 257 663 926 
+168 171 333 906 1099 
+169 181 318 324 1064 
+170 209 421 742 793 
+171 308 405 789 969 
+172 175 186 205 208 
+173 317 420 452 463 
+174 176 178 200 388 
+175 177 209 784 810 
+176 185 573 851 1050 
+177 218 224 303 526 
+178 202 230 839 1000 
+179 312 320 453 716 
+180 206 214 221 400 
+181 192 213 225 376 
+182 184 197 327 653 
+183 371 447 450 751 
+184 219 248 296 820 
+185 187 193 258 410 
+186 228 278 334 942 
+187 192 227 413 455 
+188 788 806 848 940 
+189 236 329 471 535 
+190 215 419 887 889 
+191 195 216 288 816 
+192 203 249 308 1014 
+193 409 480 790 1000 
+194 231 234 765 1012 
+195 198 337 817 995 
+196 199 247 510 694 
+197 201 240 710 755 
+198 427 449 883 1039 
+199 346 518 637 733 
+200 242 520 779 972 
+201 210 226 307 582 
+202 254 643 929 1027 
+203 414 540 841 1081 
+204 220 250 352 904 
+205 451 615 659 779 
+206 216 325 419 580 
+207 296 649 858 881 
+208 236 358 534 1052 
+209 610 955 968 970 
+210 276 444 603 1091 
+211 423 1003 1004 1020 
+212 472 576 686 979 
+213 315 424 745 991 
+214 218 371 802 1039 
+215 708 812 878 937 
+216 217 225 321 452 
+217 373 484 606 950 
+218 232 352 638 911 
+219 223 252 257 1059 
+220 251 260 431 712 
+221 317 384 648 708 
+222 235 269 434 664 
+223 229 523 641 670 
+224 241 280 504 761 
+225 354 539 754 1086 
+226 279 455 554 762 
+227 255 512 540 744 
+228 268 360 806 1090 
+229 274 281 527 675 
+230 286 382 739 1090 
+231 242 270 781 871 
+232 259 283 738 883 
+233 318 608 956 1100 
+234 243 264 366 439 
+235 238 437 642 872 
+236 239 260 306 695 
+237 246 291 298 879 
+238 261 271 678 1026 
+239 244 289 302 698 
+240 293 334 848 1034 
+241 378 776 966 1040 
+242 245 263 384 420 
+243 247 383 392 1097 
+244 274 522 787 999 
+245 272 690 827 828 
+246 314 407 432 741 
+247 638 647 792 1017 
+248 262 284 330 844 
+249 253 316 427 734 
+250 256 261 434 988 
+251 270 313 772 852 
+252 342 386 446 825 
+253 275 290 683 768 
+254 282 408 1071 1076 
+255 265 331 430 579 
+256 548 1083 1084 1085 
+257 258 364 709 1005 
+258 781 806 812 1080 
+259 266 448 813 870 
+260 277 404 635 763 
+261 713 910 1050 1085 
+262 710 739 761 810 
+263 287 379 953 1096 
+264 368 719 805 807 
+265 267 269 349 1029 
+266 295 310 328 344 
+267 286 763 1004 1090 
+268 348 570 618 635 
+269 273 385 609 754 
+270 285 298 908 1011 
+271 324 340 428 944 
+272 301 315 874 1089 
+273 303 387 396 1049 
+274 291 365 664 1062 
+275 326 362 443 861 
+276 372 397 686 967 
+277 304 361 870 1043 
+278 505 636 700 928 
+279 408 465 1003 1068 
+280 284 693 976 1050 
+281 305 374 714 941 
+282 375 458 639 764 
+283 659 686 859 1075 
+284 309 363 609 1054 
+285 300 373 509 720 
+286 407 647 939 1071 
+287 454 464 545 672 
+288 294 359 461 759 
+289 304 321 333 728 
+290 292 302 496 881 
+291 406 460 992 993 
+292 299 355 364 876 
+293 297 901 948 981 
+294 369 706 907 910 
+295 366 807 810 984 
+296 382 886 898 1020 
+297 343 556 593 1057 
+298 300 311 399 785 
+299 351 662 729 874 
+300 332 345 477 960 
+301 764 829 875 924 
+302 530 573 870 1051 
+303 648 671 771 904 
+304 679 710 739 954 
+305 312 661 837 1041 
+306 719 835 1067 1080 
+307 330 1092 1094 1095 
+308 320 864 907 1005 
+309 337 398 416 773 
+310 344 544 645 650 
+311 600 665 796 1024 
+312 747 816 879 937 
+313 347 456 500 532 
+314 319 981 986 996 
+315 342 346 356 430 
+316 457 471 834 890 
+317 327 370 429 696 
+318 357 436 753 1047 
+319 322 416 534 814 
+320 499 575 677 705 
+321 335 341 343 451 
+322 433 559 683 684 
+323 339 372 474 994 
+324 374 581 762 764 
+325 442 975 1049 1059 
+326 469 885 1017 1086 
+327 456 759 889 987 
+328 349 353 842 1008 
+329 331 338 753 1002 
+330 350 511 531 894 
+331 863 1011 1015 1058 
+332 350 737 748 778 
+333 445 829 878 1055 
+334 336 413 786 985 
+335 395 671 997 1041 
+336 404 655 957 974 
+337 409 426 589 1040 
+338 724 851 969 1054 
+339 722 752 754 755 
+340 381 943 1024 1057 
+341 601 642 736 816 
+342 391 406 914 915 
+343 583 614 670 996 
+344 356 515 875 1080 
+345 425 541 804 1042 
+346 596 743 899 900 
+347 619 697 1041 1070 
+348 376 510 862 1009 
+349 607 692 693 695 
+350 504 896 1059 1060 
+351 362 577 586 962 
+352 381 819 820 1024 
+353 357 398 913 983 
+354 495 747 873 1013 
+355 367 651 946 950 
+356 489 537 697 700 
+357 389 483 646 1079 
+358 402 462 876 1040 
+359 393 492 555 1053 
+360 379 412 435 454 
+361 394 421 1048 1051 
+362 493 503 818 832 
+363 654 1017 1031 1092 
+364 473 633 856 1095 
+365 370 611 748 880 
+366 502 888 898 1100 
+367 642 912 960 969 
+368 380 502 783 811 
+369 443 468 564 588 
+370 410 476 757 759 
+371 414 633 668 669 
+372 390 664 832 887 
+373 411 666 835 1063 
+374 417 569 1057 1097 
+375 385 392 411 501 
+376 467 500 518 1068 
+377 509 879 927 1025 
+378 508 687 688 1038 
+379 399 446 779 1078 
+380 880 976 993 1045 
+381 553 794 929 1020 
+382 425 637 808 950 
+383 441 524 799 852 
+384 459 494 602 765 
+385 682 767 768 769 
+386 444 517 519 521 
+387 512 571 765 978 
+388 662 663 665 803 
+389 401 680 970 998 
+390 475 651 680 798 
+391 684 893 896 972 
+392 536 585 645 1058 
+393 400 428 687 720 
+394 475 805 1003 1030 
+395 418 1018 1064 1065 
+396 412 470 775 1015 
+397 722 926 988 1083 
+398 442 728 729 817 
+399 403 728 802 804 
+400 606 627 661 666 
+401 481 650 726 782 
+402 466 565 673 675 
+403 447 734 753 889 
+404 438 528 714 1023 
+405 415 594 749 991 
+406 424 522 873 948 
+407 449 490 857 915 
+408 543 548 912 1052 
+409 422 641 931 1077 
+410 496 538 703 1075 
+411 422 926 1035 1096 
+412 699 761 953 1091 
+413 440 611 636 741 
+414 460 488 835 1052 
+415 417 569 770 1023 
+416 437 598 756 766 
+417 506 689 841 1058 
+418 643 724 990 1044 
+419 476 599 982 1029 
+420 423 431 450 591 
+421 465 894 1055 1089 
+422 562 668 831 1016 
+423 433 482 836 903 
+424 687 688 909 1033 
+425 439 546 842 1098 
+426 463 841 892 971 
+427 690 707 1010 1084 
+428 486 616 858 860 
+429 701 822 824 825 
+430 457 837 839 903 
+431 641 780 936 1026 
+432 472 490 542 972 
+433 459 702 740 958 
+434 556 700 751 869 
+435 477 1006 1011 1016 
+436 673 718 788 1069 
+437 625 692 743 1046 
+438 503 519 646 955 
+439 632 882 927 1077 
+440 563 564 905 966 
+441 481 487 553 770 
+442 478 660 731 1038 
+443 805 987 988 989 
+444 521 545 719 869 
+445 583 866 914 968 
+446 749 954 982 1082 
+447 674 1007 1008 1010 
+448 516 629 652 922 
+449 491 838 1069 1088 
+450 533 721 908 1099 
+451 630 933 934 935 
+452 464 598 867 970 
+453 561 653 877 989 
+454 507 649 807 942 
+455 657 702 967 1026 
+456 544 733 838 895 
+457 547 584 932 1034 
+458 661 836 911 1028 
+459 550 667 751 888 
+460 685 711 831 1021 
+461 702 703 705 1081 
+462 704 750 957 979 
+463 992 993 994 995 
+464 526 853 888 917 
+465 560 1084 1095 1098 
+466 826 827 1081 1097 
+467 525 782 819 1037 
+468 479 484 513 742 
+469 668 673 814 994 
+470 617 663 791 1008 
+471 937 938 940 1030 
+472 737 811 980 1066 
+473 488 726 853 877 
+474 514 685 1021 1060 
+475 480 515 714 983 
+476 849 961 968 1019 
+477 610 699 837 997 
+478 567 791 833 1078 
+479 524 613 872 914 
+480 489 533 689 949 
+481 828 916 921 1053 
+482 485 1062 1063 1065 
+483 631 684 726 1035 
+484 634 678 933 1042 
+485 542 851 853 989 
+486 795 813 900 1006 
+487 552 557 572 973 
+488 530 623 817 974 
+489 494 497 645 871 
+490 565 647 939 1048 
+491 653 864 986 1037 
+492 660 690 709 736 
+493 756 945 956 1012 
+494 516 543 884 1033 
+495 498 635 674 1063 
+496 646 730 892 943 
+497 529 574 850 915 
+498 792 802 864 1076 
+499 541 1056 1061 1066 
+500 559 855 857 858 
+501 508 517 650 713 
+502 679 706 755 831 
+503 537 722 792 964 
+504 735 738 936 1088 
+505 562 628 785 1042 
+506 571 658 776 1002 
+507 942 943 944 945 
+508 666 698 909 1093 
+509 582 886 966 1001 
+510 771 799 923 1066 
+511 637 736 1022 1078 
+512 523 603 803 1061 
+513 532 740 868 995 
+514 551 554 788 790 
+515 527 535 1030 1047 
+516 617 697 925 1009 
+517 665 723 794 952 
+518 815 827 1022 1072 
+519 871 893 1087 1091 
+520 595 682 821 959 
+521 525 579 1018 1096 
+522 539 918 971 1044 
+523 694 818 918 1035 
+524 797 798 800 1073 
+525 890 892 893 894 
+526 839 917 1034 1094 
+527 531 931 936 941 
+528 730 846 938 1072 
+529 538 712 715 1029 
+530 580 727 799 1037 
+531 602 746 824 862 
+532 547 550 600 627 
+533 902 1012 1013 1015 
+534 616 861 1076 1094 
+535 567 638 723 1001 
+536 773 809 963 1009 
+537 669 769 940 1054 
+538 612 1007 1045 1073 
+539 694 731 741 746 
+540 821 973 974 975 
+541 780 789 800 846 
+542 566 785 822 990 
+543 683 786 787 1007 
+544 624 905 978 1028 
+545 578 750 767 980 
+546 590 745 1002 1019 
+547 605 786 796 925 
+548 549 607 933 991 
+549 558 568 721 744 
+550 591 746 783 897 
+551 604 733 1032 1051 
+552 595 860 884 941 
+553 701 865 916 1043 
+554 729 760 818 1010 
+555 560 725 766 774 
+556 658 715 795 809 
+557 656 698 985 1043 
+558 735 749 850 895 
+559 593 823 825 899 
+560 574 826 922 924 
+561 587 777 985 1056 
+562 640 701 727 984 
+563 720 890 895 1074 
+564 644 704 884 932 
+565 597 830 919 1098 
+566 588 830 951 1064 
+567 656 930 978 999 
+568 615 725 738 1099 
+569 906 911 916 921 
+570 620 654 777 778 
+571 601 787 934 996 
+572 576 962 964 965 
+573 589 699 856 999 
+574 902 931 977 1025 
+575 619 655 1067 1093 
+576 592 778 854 863 
+577 771 859 913 952 
+578 643 902 930 957 
+579 585 586 740 904 
+580 757 769 772 986 
+581 608 654 706 935 
+582 644 660 681 823 
+583 912 923 949 1082 
+584 667 757 768 783 
+585 626 689 711 847 
+586 866 929 984 1079 
+587 670 885 923 979 
+588 745 855 887 998 
+589 657 681 828 859 
+590 652 844 1014 1032 
+591 618 691 752 1053 
+592 676 760 848 962 
+593 801 865 891 951 
+594 678 860 906 1027 
+595 639 649 677 732 
+596 693 712 803 1065 
+597 801 809 847 971 
+598 677 813 843 961 
+599 737 773 833 843 
+600 772 774 775 901 
+601 620 671 928 944 
+602 793 794 795 1075 
+603 713 897 899 900 
+604 639 717 822 967 
+605 628 672 727 793 
+606 723 797 965 1016 
+607 716 844 959 1071 
+608 621 732 781 955 
+609 742 758 901 1036 
+610 766 958 1027 1055 
+611 784 840 909 1093 
+612 655 917 919 920 
+613 630 691 829 1082 
+614 659 876 980 1087 
+615 752 790 840 922 
+616 709 921 925 1013 
+617 707 808 868 1070 
+618 780 932 1018 1045 
+619 621 631 834 845 
+620 682 696 898 946 
+621 622 946 1067 1074 
+622 730 852 854 855 
+623 891 1031 1036 1046 
+624 676 744 863 961 
+625 705 758 798 1070 
+626 963 973 977 1014 
+627 774 882 913 1056 
+628 838 845 920 1079 
+629 718 847 867 1046 
+630 640 801 850 905 
+631 716 789 842 885 
+632 815 856 861 866 
+633 717 750 784 849 
+634 958 959 960 1044 
+1 2 4 16 483 
+2 7 29 102 862 
+3 14 19 72 907 
+4 10 60 233 479 
+5 9 49 110 313 
+6 117 118 126 240 
+7 8 11 348 558 
+8 25 35 130 227 
+9 40 59 171 514 
+10 39 61 173 513 
+13 14 17 37 834 
+15 105 106 224 614 
+16 76 228 824 1086 
+17 32 469 482 715 
+20 165 391 402 652 
+21 24 28 88 109 
+25 55 221 244 843 
+26 27 28 77 505 
+44 45 65 213 389 
+53 97 143 174 1006 
+57 58 59 66 295 
+62 64 94 95 1100 
+70 71 90 877 1048 
+72 160 387 597 676 
diff --git a/gr-fec/python/fec/LDPC/n_1300_k_0522_gap_30.alist 
b/gr-fec/python/fec/LDPC/n_1300_k_0522_gap_30.alist
new file mode 100644
index 0000000..1fad77e
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_1300_k_0522_gap_30.alist
@@ -0,0 +1,2082 @@
+1300 778
+3 5
+2 2 3 3 3 2 3 3 3 2 3 3 3 3 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 
2 3 3 3 3 3 3 3 3 3 3 3 3 3 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 3 3 3 3 3  [...]
+5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
5 5 5 5 5 5 5  [...]
+1 759 
+2 759 
+1 3 761 
+1 4 763 
+3 5 753 
+6 753 
+6 7 773 
+8 763 778 
+8 9 763 
+10 765 
+11 768 773 
+12 765 766 
+12 13 768 
+14 751 766 
+15 751 
+2 16 764 
+6 17 764 
+17 18 761 
+7 19 764 
+2 20 769 
+19 21 769 
+13 20 22 
+18 21 23 
+4 24 775 
+4 24 25 
+24 26 774 
+8 26 27 
+28 750 769 
+13 28 29 
+28 29 30 
+19 29 31 
+30 32 772 
+33 755 761 
+22 34 755 
+3 33 35 
+11 36 776 
+10 36 37 
+36 38 757 
+38 39 768 
+39 40 
+41 749 775 
+29 41 42 
+43 758 775 
+14 44 770 
+21 45 770 
+46 758 771 
+47 771 778 
+33 48 756 
+49 751 754 
+50 754 765 
+29 51 752 
+23 51 52 
+22 52 53 
+53 54 
+32 55 760 
+56 766 777 
+48 56 57 
+41 58 777 
+58 59 767 
+60 766 767 
+3 60 61 
+12 61 62 
+31 62 63 
+16 61 64 
+34 63 65 
+55 63 66 
+55 66 67 
+68 762 764 
+69 762 766 
+68 70 756 
+70 71 761 
+30 70 72 
+72 73 776 
+72 74 769 
+14 73 75 
+69 76 758 
+31 73 77 
+72 78 763 
+47 76 79 
+27 79 80 
+80 81 775 
+46 81 82 
+65 80 83 
+16 83 84 
+84 85 756 
+32 85 86 
+10 86 87 
+81 88 753 
+25 84 89 
+65 84 90 
+44 88 91 
+32 78 92 
+40 90 93 
+65 90 94 
+92 95 759 
+75 87 96 
+28 89 97 
+96 98 760 
+56 92 99 
+83 98 100 
+98 101 769 
+88 99 102 
+44 101 103 
+10 102 104 
+88 103 105 
+17 101 106 
+71 105 107 
+5 106 108 
+11 105 109 
+15 108 110 
+87 102 111 
+109 111 112 
+45 109 113 
+60 107 114 
+109 115 751 
+53 114 116 
+102 111 117 
+115 118 762 
+113 119 776 
+112 120 754 
+47 118 121 
+22 117 122 
+51 122 123 
+117 124 776 
+66 123 125 
+111 126 774 
+120 126 127 
+42 124 128 
+24 121 129 
+42 123 130 
+97 128 131 
+107 124 132 
+94 114 133 
+127 130 134 
+122 135 759 
+35 132 136 
+54 133 137 
+31 136 138 
+88 138 139 
+59 134 140 
+15 137 141 
+16 139 142 
+100 140 143 
+142 144 753 
+131 144 145 
+139 143 146 
+142 147 752 
+3 146 148 
+13 144 149 
+135 145 150 
+109 149 151 
+106 151 152 
+98 148 153 
+71 151 154 
+117 148 155 
+108 152 156 
+100 144 157 
+98 156 158 
+54 157 159 
+56 150 160 
+159 161 757 
+19 151 162 
+158 163 770 
+103 161 164 
+136 162 165 
+58 161 166 
+35 161 167 
+134 155 168 
+69 166 169 
+125 169 170 
+94 150 171 
+67 160 172 
+116 167 173 
+34 158 174 
+163 173 175 
+132 157 176 
+76 158 177 
+143 169 178 
+173 176 179 
+156 166 180 
+33 164 181 
+61 174 182 
+140 175 183 
+45 183 184 
+63 165 185 
+23 178 186 
+37 178 187 
+40 172 188 
+104 184 189 
+81 185 190 
+177 189 191 
+139 182 192 
+78 185 193 
+28 179 194 
+182 192 195 
+113 158 196 
+41 164 197 
+64 169 198 
+71 196 199 
+93 197 200 
+160 180 201 
+57 190 202 
+58 202 203 
+112 189 204 
+27 200 205 
+182 205 206 
+123 194 207 
+167 191 208 
+203 209 771 
+59 183 210 
+162 211 772 
+92 198 212 
+124 172 213 
+58 186 214 
+125 206 215 
+215 216 774 
+129 201 217 
+206 212 218 
+103 192 219 
+64 186 220 
+91 198 221 
+44 212 222 
+53 199 223 
+23 209 224 
+163 193 225 
+219 226 754 
+131 181 227 
+211 228 758 
+21 188 229 
+91 187 230 
+127 216 231 
+173 223 232 
+42 223 233 
+217 234 768 
+52 222 235 
+50 218 236 
+206 231 237 
+155 233 238 
+120 233 239 
+30 227 240 
+153 198 241 
+68 234 242 
+129 151 243 
+214 244 778 
+159 211 245 
+49 210 246 
+187 240 247 
+243 248 760 
+111 248 249 
+241 250 750 
+153 233 251 
+121 221 252 
+221 253 775 
+232 254 757 
+205 206 255 
+238 246 256 
+118 240 257 
+202 250 258 
+226 252 259 
+90 224 260 
+237 247 261 
+181 218 262 
+66 223 263 
+204 254 264 
+51 253 265 
+74 243 266 
+7 241 267 
+102 216 268 
+80 265 269 
+172 250 270 
+257 258 271 
+37 261 272 
+73 252 273 
+234 259 274 
+248 275 764 
+86 224 276 
+7 203 277 
+49 264 278 
+35 272 279 
+62 190 280 
+176 281 778 
+60 257 282 
+73 275 283 
+195 208 284 
+186 256 285 
+267 286 772 
+240 276 287 
+163 245 288 
+85 275 289 
+196 223 290 
+205 278 291 
+119 287 292 
+193 263 293 
+291 293 294 
+13 240 295 
+34 276 296 
+128 266 297 
+42 274 298 
+75 207 299 
+142 253 300 
+162 262 301 
+175 281 302 
+128 208 303 
+166 236 304 
+175 282 305 
+227 271 306 
+50 295 307 
+280 284 308 
+215 293 309 
+101 277 310 
+224 306 311 
+254 312 771 
+225 276 313 
+55 168 314 
+124 307 315 
+5 312 316 
+39 304 317 
+217 302 318 
+174 241 319 
+173 292 320 
+120 312 321 
+265 322 762 
+150 271 323 
+169 232 324 
+180 316 325 
+179 289 326 
+203 289 327 
+89 324 328 
+91 319 329 
+171 304 330 
+242 281 331 
+82 298 332 
+137 314 333 
+308 325 334 
+254 293 335 
+133 308 336 
+85 313 337 
+279 318 338 
+20 259 339 
+291 340 
+244 335 341 
+327 342 771 
+180 332 343 
+142 330 344 
+94 270 345 
+85 328 346 
+251 342 347 
+185 294 348 
+67 283 349 
+280 326 350 
+213 308 351 
+197 259 352 
+70 331 353 
+11 269 354 
+332 346 355 
+258 260 356 
+68 253 357 
+196 338 358 
+77 244 359 
+210 317 360 
+321 348 361 
+113 333 362 
+255 290 363 
+218 356 364 
+288 363 365 
+188 349 366 
+284 296 367 
+282 324 368 
+51 349 369 
+231 370 752 
+288 321 371 
+221 372 765 
+40 260 373 
+244 341 374 
+219 335 375 
+128 297 376 
+257 328 377 
+15 367 378 
+239 370 379 
+149 196 380 
+23 336 381 
+144 250 382 
+108 255 383 
+211 371 384 
+321 385 749 
+252 359 386 
+99 343 387 
+290 372 388 
+47 359 389 
+231 343 390 
+37 341 391 
+81 282 392 
+360 393 773 
+112 387 394 
+366 368 395 
+2 336 396 
+187 389 397 
+204 207 398 
+174 390 399 
+165 314 400 
+100 336 401 
+266 388 402 
+179 366 403 
+157 322 404 
+226 251 405 
+289 294 406 
+348 394 407 
+274 341 408 
+193 328 409 
+372 410 765 
+137 285 411 
+263 401 412 
+353 378 413 
+18 277 414 
+43 286 415 
+379 416 760 
+229 332 417 
+198 390 418 
+41 389 419 
+11 316 420 
+270 420 421 
+220 390 422 
+104 339 423 
+304 306 424 
+156 388 425 
+160 264 426 
+165 239 427 
+273 378 428 
+280 360 429 
+230 300 430 
+214 328 431 
+288 339 432 
+34 381 433 
+270 305 434 
+121 400 435 
+325 376 436 
+379 437 770 
+106 398 438 
+126 437 439 
+95 278 440 
+194 380 441 
+284 338 442 
+140 329 443 
+183 362 444 
+150 399 445 
+400 443 446 
+155 344 447 
+302 435 448 
+140 425 449 
+141 402 450 
+326 391 451 
+191 446 452 
+53 312 453 
+420 441 454 
+213 452 455 
+220 445 456 
+340 423 457 
+318 431 458 
+18 369 459 
+228 437 460 
+188 387 461 
+95 333 462 
+231 363 463 
+83 269 464 
+229 361 465 
+358 441 466 
+18 455 467 
+200 408 468 
+416 457 469 
+456 463 470 
+147 470 471 
+309 380 472 
+122 433 473 
+76 381 474 
+355 475 777 
+221 279 476 
+350 451 477 
+290 307 478 
+220 246 479 
+203 384 480 
+305 428 481 
+305 418 482 
+407 421 483 
+271 384 484 
+133 441 485 
+398 450 486 
+412 487 749 
+27 313 488 
+385 425 489 
+110 427 490 
+347 383 491 
+475 492 755 
+176 408 493 
+434 492 494 
+164 463 495 
+79 247 496 
+22 415 497 
+20 413 498 
+232 449 499 
+258 342 500 
+43 494 501 
+439 496 502 
+25 482 503 
+170 385 504 
+277 386 505 
+366 506 754 
+309 474 507 
+184 330 508 
+179 481 509 
+235 349 510 
+137 499 511 
+208 462 512 
+107 414 513 
+335 449 514 
+304 379 515 
+212 299 516 
+136 467 517 
+462 475 518 
+364 378 519 
+6 457 520 
+115 350 521 
+164 375 522 
+265 392 523 
+136 500 524 
+488 525 757 
+285 327 526 
+286 478 527 
+289 447 528 
+153 520 529 
+344 473 530 
+287 485 531 
+148 430 532 
+481 533 772 
+188 404 534 
+95 323 535 
+131 527 536 
+66 312 537 
+90 385 538 
+168 404 539 
+211 460 540 
+52 458 541 
+374 542 752 
+306 525 543 
+149 516 544 
+204 473 545 
+175 433 546 
+281 544 547 
+292 508 548 
+93 525 549 
+265 447 550 
+177 355 551 
+228 534 552 
+35 532 553 
+493 520 554 
+528 555 756 
+166 508 556 
+302 501 557 
+330 482 558 
+310 557 559 
+63 529 560 
+154 455 561 
+14 556 562 
+236 527 563 
+432 542 564 
+192 363 565 
+99 560 566 
+119 556 567 
+236 561 568 
+414 524 569 
+354 539 570 
+421 495 571 
+375 461 572 
+123 513 573 
+26 563 574 
+364 431 575 
+465 576 751 
+186 531 577 
+324 488 578 
+69 523 579 
+439 458 580 
+511 581 755 
+235 538 582 
+381 562 583 
+135 556 584 
+348 585 768 
+141 302 586 
+580 582 587 
+9 516 588 
+356 476 589 
+228 531 590 
+245 407 591 
+586 592 750 
+421 467 593 
+267 533 594 
+394 506 595 
+47 376 596 
+547 592 597 
+416 430 598 
+246 472 599 
+125 352 600 
+352 521 601 
+271 520 602 
+107 568 603 
+320 402 604 
+470 605 767 
+305 318 606 
+25 522 607 
+75 503 608 
+445 594 609 
+52 451 610 
+274 444 611 
+181 479 612 
+395 550 613 
+242 575 614 
+104 406 615 
+222 527 616 
+62 536 617 
+116 600 618 
+89 491 619 
+230 340 620 
+143 285 621 
+25 575 622 
+573 612 623 
+261 541 624 
+296 350 625 
+334 552 626 
+138 465 627 
+1 622 628 
+245 562 629 
+115 485 630 
+93 370 631 
+356 470 632 
+313 355 633 
+37 566 634 
+334 530 635 
+435 540 636 
+230 490 637 
+202 362 638 
+459 507 639 
+496 632 640 
+385 574 641 
+362 488 642 
+419 486 643 
+295 627 644 
+67 419 645 
+78 548 646 
+1 465 647 
+329 563 648 
+484 533 649 
+249 629 650 
+399 427 651 
+493 564 652 
+319 596 653 
+422 467 654 
+491 655 
+483 618 656 
+547 573 657 
+341 544 658 
+477 640 659 
+558 593 660 
+38 529 661 
+272 596 662 
+487 624 663 
+376 606 664 
+398 654 665 
+267 507 666 
+543 587 667 
+565 650 668 
+216 658 669 
+392 424 670 
+337 580 671 
+126 572 672 
+134 592 673 
+347 542 674 
+190 589 675 
+10 269 676 
+364 616 677 
+36 489 678 
+239 414 679 
+12 677 680 
+626 681 749 
+270 452 682 
+84 316 683 
+238 664 684 
+187 418 685 
+685 686 749 
+318 460 687 
+570 684 688 
+603 689 773 
+605 674 690 
+119 604 691 
+380 581 692 
+77 365 693 
+390 399 694 
+143 541 695 
+261 625 696 
+382 539 697 
+637 692 698 
+273 536 699 
+295 680 700 
+403 575 701 
+360 515 702 
+345 486 703 
+569 609 704 
+546 557 705 
+676 704 706 
+171 358 707 
+454 617 708 
+454 535 709 
+307 412 710 
+376 698 711 
+147 479 712 
+86 641 713 
+286 695 714 
+417 624 715 
+440 443 716 
+478 502 717 
+300 679 718 
+138 623 719 
+4 394 720 
+413 708 721 
+377 688 722 
+152 714 723 
+202 723 724 
+651 654 725 
+280 647 726 
+361 709 727 
+528 723 728 
+456 578 729 
+438 657 730 
+229 664 731 
+209 603 732 
+48 672 733 
+141 386 734 
+335 727 735 
+60 612 736 
+361 497 737 
+170 629 738 
+477 512 739 
+57 380 740 
+292 509 741 
+76 588 742 
+319 705 743 
+392 653 744 
+230 670 745 
+197 724 746 
+483 633 747 
+283 698 748 
+185 482 622 
+86 411 459 
+256 570 731 
+210 273 446 
+389 415 426 
+463 499 636 
+468 516 656 
+609 646 734 
+418 704 709 
+246 554 736 
+415 652 736 
+104 250 495 
+362 505 521 
+331 419 731 
+99 213 288 
+383 409 496 
+545 610 644 
+351 399 696 
+575 715 719 
+7 546 700 
+199 508 614 
+325 619 720 
+601 668 669 
+87 638 671 
+134 454 591 
+256 317 509 
+17 291 401 
+631 634 740 
+298 560 689 
+162 700 746 
+348 367 462 
+154 502 591 
+153 292 661 
+664 732 748 
+643 714 773 
+424 665 684 
+232 382 679 
+195 479 597 
+74 314 396 
+106 552 660 
+548 685 734 
+505 559 627 
+138 522 738 
+110 262 484 
+78 524 576 
+110 584 678 
+274 300 426 
+141 347 405 
+26 688 700 
+301 307 370 
+368 443 558 
+354 468 635 
+125 680 691 
+395 423 739 
+27 411 530 
+9 387 681 
+215 518 639 
+48 549 611 
+406 422 564 
+501 523 652 
+31 526 697 
+222 406 701 
+467 543 563 
+295 476 586 
+242 475 581 
+532 708 712 
+83 551 698 
+254 418 503 
+174 395 576 
+105 441 743 
+645 647 720 
+110 618 733 
+410 446 763 
+234 268 671 
+404 611 668 
+190 650 693 
+210 437 607 
+261 583 685 
+228 420 635 
+311 477 548 
+514 707 734 
+65 721 747 
+480 670 709 
+46 540 580 
+121 458 469 
+127 554 659 
+315 478 489 
+632 672 726 
+30 621 697 
+365 400 591 
+639 668 669 
+132 334 475 
+97 673 734 
+534 538 619 
+145 351 565 
+590 600 711 
+237 699 725 
+342 489 530 
+72 398 573 
+621 676 742 
+290 303 696 
+377 665 699 
+283 695 701 
+393 531 681 
+226 439 513 
+46 642 708 
+453 594 648 
+217 650 723 
+332 585 649 
+266 474 624 
+172 323 356 
+386 396 429 
+57 595 620 
+258 268 606 
+598 673 744 
+490 536 635 
+453 507 682 
+450 615 746 
+248 483 519 
+115 619 705 
+43 718 743 
+510 553 626 
+16 531 583 
+535 627 770 
+293 429 435 
+45 330 727 
+199 275 303 
+194 481 490 
+159 662 724 
+157 505 605 
+148 729 746 
+691 721 729 
+382 602 656 
+39 485 526 
+625 737 745 
+209 495 747 
+199 406 564 
+309 417 440 
+324 500 583 
+45 300 311 
+118 413 431 
+427 524 697 
+130 334 553 
+419 498 561 
+215 314 372 
+353 611 633 
+191 299 646 
+225 616 715 
+320 444 677 
+410 428 594 
+183 247 320 
+596 662 684 
+120 371 394 
+543 623 757 
+429 582 735 
+352 609 678 
+82 262 612 
+260 448 566 
+623 690 753 
+373 474 724 
+677 681 692 
+49 562 721 
+561 730 767 
+268 676 684 
+301 524 588 
+192 337 511 
+272 549 683 
+94 486 698 
+431 645 646 
+544 614 735 
+235 592 632 
+464 641 665 
+389 708 713 
+212 368 716 
+237 257 761 
+326 344 641 
+279 364 438 
+54 715 727 
+311 384 511 
+152 683 723 
+297 564 704 
+70 331 638 
+569 645 710 
+299 491 752 
+405 500 732 
+233 717 729 
+417 571 679 
+337 517 554 
+422 537 541 
+64 535 661 
+74 621 675 
+218 326 442 
+40 236 310 
+631 634 695 
+298 597 665 
+387 455 776 
+365 405 559 
+152 396 468 
+117 482 533 
+239 256 666 
+327 397 653 
+374 661 726 
+146 658 715 
+245 639 689 
+462 672 748 
+509 552 624 
+276 363 576 
+224 315 487 
+447 595 628 
+595 664 676 
+452 502 514 
+178 714 716 
+184 359 519 
+440 442 473 
+259 494 521 
+329 670 707 
+71 535 560 
+193 589 644 
+5 582 663 
+357 429 551 
+229 350 454 
+472 692 772 
+412 644 657 
+170 436 466 
+147 434 558 
+177 510 569 
+281 473 657 
+464 619 682 
+262 568 577 
+67 501 636 
+180 636 731 
+457 572 630 
+56 634 686 
+422 504 565 
+182 428 697 
+200 598 633 
+129 485 627 
+717 728 741 
+391 470 534 
+93 623 648 
+369 741 746 
+653 707 767 
+126 405 504 
+225 338 607 
+408 596 695 
+127 488 629 
+333 694 720 
+214 512 622 
+263 668 713 
+322 577 691 
+77 301 712 
+17 464 598 
+282 371 421 
+38 506 515 
+351 373 438 
+50 287 607 
+145 494 608 
+21 367 566 
+336 469 687 
+217 417 613 
+471 562 662 
+50 469 474 
+343 599 
+603 645 758 
+401 617 618 
+559 660 666 
+599 738 744 
+69 493 560 
+87 532 661 
+460 519 774 
+33 177 181 
+44 534 638 
+247 450 545 
+205 643 736 
+264 635 725 
+323 425 435 
+226 466 606 
+570 721 737 
+297 430 672 
+576 659 730 
+255 581 651 
+343 654 778 
+342 351 353 
+584 637 740 
+368 693 726 
+383 647 671 
+195 601 704 
+251 436 502 
+352 579 724 
+438 493 581 
+471 500 688 
+370 484 719 
+630 660 699 
+409 427 444 
+5 600 657 
+133 728 748 
+96 516 744 
+80 675 694 
+12 732 742 
+447 588 637 
+122 550 745 
+191 554 651 
+189 393 451 
+317 471 774 
+146 568 615 
+92 551 552 
+168 347 426 
+675 710 720 
+278 484 703 
+96 459 686 
+130 494 631 
+145 407 423 
+286 496 663 
+201 605 732 
+383 709 745 
+504 587 690 
+340 413 762 
+171 616 618 
+287 599 663 
+251 528 589 
+163 603 644 
+403 588 655 
+178 373 460 
+316 391 453 
+283 634 706 
+129 317 464 
+62 225 235 
+24 310 614 
+565 584 638 
+266 461 561 
+114 388 518 
+194 349 542 
+355 522 651 
+114 397 466 
+604 617 659 
+159 643 674 
+97 411 517 
+89 337 445 
+139 490 643 
+713 716 718 
+628 696 739 
+132 410 662 
+79 436 466 
+613 646 670 
+452 549 602 
+424 479 712 
+204 593 711 
+420 615 747 
+96 439 633 
+339 386 571 
+354 381 459 
+222 537 580 
+260 319 559 
+279 463 518 
+585 702 706 
+449 597 642 
+167 556 656 
+14 505 574 
+416 573 689 
+402 525 533 
+195 685 722 
+403 528 613 
+135 585 647 
+214 430 492 
+296 523 640 
+514 529 652 
+2 369 461 
+19 607 688 
+586 615 669 
+416 625 666 
+301 308 515 
+424 512 692 
+9 450 738 
+538 667 733 
+59 492 543 
+59 404 730 
+291 567 640 
+630 673 742 
+674 687 690 
+249 480 547 
+248 537 548 
+4 320 495 
+269 423 448 
+154 388 391 
+340 345 711 
+358 483 586 
+255 553 667 
+412 680 777 
+609 733 750 
+433 492 550 
+396 468 550 
+197 606 612 
+82 411 568 
+272 457 756 
+658 694 735 
+165 313 719 
+243 393 498 
+219 486 690 
+551 602 628 
+346 693 755 
+400 602 687 
+8 589 614 
+472 593 605 
+375 594 740 
+77 555 574 
+75 679 702 
+325 472 707 
+604 703 745 
+54 506 512 
+167 442 610 
+629 731 777 
+367 443 682 
+517 631 711 
+49 264 277 
+176 515 527 
+329 346 401 
+306 701 703 
+322 333 742 
+95 620 642 
+207 487 571 
+207 440 518 
+587 722 743 
+297 432 648 
+365 478 642 
+43 432 558 
+57 361 652 
+170 693 706 
+108 410 497 
+529 725 748 
+392 655 712 
+372 571 626 
+503 587 667 
+608 743 759 
+425 678 760 
+345 382 660 
+446 608 717 
+105 426 574 
+184 622 726 
+590 678 725 
+119 268 674 
+294 497 525 
+357 445 461 
+242 397 510 
+585 590 737 
+273 578 689 
+498 506 733 
+216 469 744 
+377 514 701 
+116 480 546 
+227 346 403 
+237 303 345 
+161 567 578 
+310 656 680 
+267 284 353 
+278 456 569 
+414 522 592 
+156 449 570 
+68 442 480 
+112 448 539 
+253 513 520 
+509 599 739 
+402 579 591 
+453 545 667 
+130 555 600 
+227 321 601 
+61 397 523 
+131 640 655 
+296 456 501 
+15 577 636 
+489 669 687 
+471 728 730 
+275 648 655 
+20 481 541 
+48 539 736 
+9 617 675 
+377 536 718 
+653 654 705 
+74 366 384 
+593 686 735 
+538 626 658 
+434 476 677 
+160 415 572 
+327 547 686 
+504 611 683 
+97 537 567 
+285 359 458 
+526 546 694 
+116 354 409 
+6 299 369 
+315 628 671 
+540 608 718 
+36 557 579 
+339 513 553 
+168 508 567 
+79 375 532 
+147 208 238 
+373 620 649 
+64 294 344 
+309 487 597 
+252 379 572 
+549 649 728 
+82 477 699 
+135 455 719 
+101 303 378 
+118 584 713 
+238 374 491 
+189 540 702 
+357 641 737 
+323 542 666 
+38 630 722 
+220 739 741 
+201 322 579 
+498 747 750 
+497 702 740 
+39 407 649 
+26 507 741 
+32 358 476 
+113 673 716 
+213 511 517 
+338 521 530 
+249 703 714 
+241 311 360 
+243 625 705 
+434 444 682 
+298 555 681 
+393 566 578 
+155 691 727 
+433 696 717 
+171 409 616 
+91 519 650 
+315 448 621 
+432 437 451 
+201 219 249 
+154 590 601 
+46 371 598 
+499 503 526 
+103 563 683 
+357 595 620 
+8 637 663 
+244 557 722 
+234 331 659 
+55 577 610 
+428 555 706 
+582 610 710 
+100 583 632 
+604 710 729 
+209 408 436 
+149 465 544 
+263 395 639 
+146 374 510 
+200 499 613 
+545 700 738 
+1 3 4 628 647 
+2 16 20 396 1115 
+3 5 35 61 148 
+4 24 25 720 1130 
+5 108 316 967 1043 
+6 7 17 520 1237 
+7 19 267 277 768 
+8 9 27 1150 1287 
+9 588 804 1121 1223 
+10 37 87 104 676 
+11 36 109 354 420 
+12 13 62 680 1047 
+13 22 29 149 295 
+14 44 75 562 1106 
+15 110 141 378 1217 
+16 64 84 142 871 
+17 18 106 775 1000 
+18 23 414 459 467 
+19 21 31 162 1116 
+20 22 339 498 1221 
+21 23 45 229 1006 
+22 34 53 122 497 
+23 52 186 224 381 
+24 25 26 129 1076 
+25 89 503 607 622 
+26 27 574 797 1264 
+27 80 205 488 803 
+28 29 30 97 194 
+29 30 31 42 51 
+30 32 72 240 837 
+31 63 77 138 809 
+32 55 86 92 1265 
+33 35 48 181 1019 
+34 65 174 296 433 
+35 136 167 279 553 
+36 37 38 678 1240 
+37 187 272 391 634 
+38 39 661 1002 1258 
+39 40 317 882 1263 
+40 93 188 373 941 
+41 42 58 197 419 
+42 128 130 233 298 
+43 415 501 869 1173 
+44 91 103 222 1020 
+45 113 184 874 888 
+46 82 832 854 1283 
+47 79 121 389 596 
+48 57 733 806 1222 
+49 246 278 910 1162 
+50 236 307 1004 1010 
+51 52 123 265 369 
+52 53 235 541 610 
+53 54 116 223 453 
+54 137 159 926 1157 
+55 66 67 314 1290 
+56 57 99 160 981 
+57 202 740 861 1174 
+58 59 166 203 214 
+59 140 210 1123 1124 
+60 61 114 282 736 
+61 62 64 182 1214 
+62 63 280 617 1075 
+63 65 66 185 560 
+64 198 220 938 1246 
+65 83 90 94 830 
+66 67 125 263 537 
+67 172 349 645 978 
+68 70 242 357 1206 
+69 76 169 579 1016 
+70 71 72 353 930 
+71 107 154 199 965 
+72 73 74 78 847 
+73 75 77 273 283 
+74 266 787 939 1226 
+75 96 299 608 1154 
+76 79 177 474 742 
+77 359 693 999 1153 
+78 92 193 646 793 
+79 80 496 1091 1243 
+80 81 83 269 1046 
+81 82 88 190 392 
+82 332 905 1141 1250 
+83 84 100 464 815 
+84 85 89 90 683 
+85 86 289 337 346 
+86 87 276 713 750 
+87 96 111 772 1017 
+88 91 102 105 139 
+89 97 328 619 1086 
+90 93 94 260 538 
+91 221 230 329 1278 
+92 95 99 212 1054 
+93 200 549 631 988 
+94 133 171 345 916 
+95 440 462 535 1167 
+96 98 1045 1058 1097 
+97 131 841 1085 1233 
+98 100 101 153 158 
+99 102 387 566 763 
+100 143 157 401 1293 
+101 103 106 310 1252 
+102 104 111 117 268 
+103 105 164 219 1285 
+104 189 423 615 760 
+105 107 109 818 1185 
+106 108 152 438 788 
+107 114 132 513 603 
+108 110 156 383 1176 
+109 112 113 115 151 
+110 490 792 794 820 
+111 112 117 126 249 
+112 120 204 394 1207 
+113 119 196 362 1266 
+114 116 133 1079 1082 
+115 118 521 630 868 
+116 173 618 1197 1236 
+117 122 124 155 947 
+118 121 257 889 1253 
+119 292 567 691 1188 
+120 127 239 321 901 
+121 129 252 435 833 
+122 123 135 473 1049 
+123 125 130 207 573 
+124 128 132 213 315 
+125 170 215 600 801 
+126 127 439 672 991 
+127 134 231 834 994 
+128 131 297 303 376 
+129 217 243 985 1074 
+130 134 891 1059 1212 
+131 145 227 536 1215 
+132 136 176 840 1090 
+133 137 336 485 1044 
+134 140 168 673 773 
+135 150 584 1111 1251 
+136 138 165 517 524 
+137 141 333 411 511 
+138 139 627 719 791 
+139 142 146 192 1087 
+140 143 183 443 449 
+141 450 586 734 796 
+142 144 147 300 344 
+143 146 178 621 695 
+144 145 149 157 382 
+145 150 843 1005 1060 
+146 148 951 1053 1298 
+147 471 712 973 1244 
+148 153 155 532 879 
+149 151 380 544 1296 
+150 160 171 323 445 
+151 152 154 162 243 
+152 156 723 928 946 
+153 241 251 529 781 
+154 561 780 1132 1282 
+155 168 238 447 1275 
+156 158 180 425 1205 
+157 159 176 404 878 
+158 163 174 177 196 
+159 161 245 877 1084 
+160 172 201 426 1230 
+161 164 166 167 1200 
+162 165 211 301 778 
+163 175 225 288 1069 
+164 181 197 495 522 
+165 185 400 427 1144 
+166 169 180 304 556 
+167 173 208 1105 1158 
+168 314 539 1055 1242 
+169 170 178 198 324 
+170 504 738 972 1175 
+171 330 707 1066 1277 
+172 188 213 270 859 
+173 175 179 232 320 
+174 182 319 399 817 
+175 183 302 305 546 
+176 179 281 493 1163 
+177 191 551 974 1019 
+178 186 187 960 1071 
+179 194 326 403 509 
+180 201 325 343 979 
+181 227 262 612 1019 
+182 192 195 206 983 
+183 184 210 444 899 
+184 189 508 961 1186 
+185 190 193 348 749 
+186 214 220 285 577 
+187 230 247 397 685 
+188 229 366 461 534 
+189 191 204 1051 1255 
+190 202 280 675 824 
+191 208 452 895 1050 
+192 195 219 565 914 
+193 225 293 409 966 
+194 207 441 876 1080 
+195 284 786 1035 1109 
+196 199 290 358 380 
+197 200 352 746 1140 
+198 212 221 241 418 
+199 223 769 875 885 
+200 205 468 984 1299 
+201 217 1062 1260 1281 
+202 203 258 638 724 
+203 209 277 327 480 
+204 264 398 545 1095 
+205 206 255 291 1022 
+206 215 218 237 255 
+207 299 398 1168 1169 
+208 284 303 512 1244 
+209 224 732 884 1295 
+210 246 360 752 825 
+211 228 245 384 540 
+212 218 222 516 922 
+213 351 455 763 1267 
+214 244 431 996 1112 
+215 216 309 805 893 
+216 231 268 669 1195 
+217 234 318 856 1008 
+218 236 262 364 940 
+219 226 375 1146 1281 
+220 422 456 479 1259 
+221 252 253 372 476 
+222 235 616 810 1100 
+223 232 233 263 290 
+224 260 276 311 956 
+225 313 896 992 1075 
+226 259 405 853 1025 
+227 240 306 1198 1213 
+228 460 552 590 827 
+229 417 465 731 969 
+230 430 620 637 745 
+231 237 370 390 463 
+232 254 324 499 785 
+233 238 239 251 934 
+234 242 274 822 1289 
+235 510 582 919 1075 
+236 304 563 568 941 
+237 261 845 923 1199 
+238 256 684 1244 1254 
+239 379 427 679 948 
+240 247 257 287 295 
+241 250 267 319 1270 
+242 331 614 813 1191 
+243 248 266 1145 1271 
+244 341 359 374 1288 
+245 288 591 629 952 
+246 256 479 599 758 
+247 261 496 899 1021 
+248 249 275 867 1129 
+249 650 1128 1269 1281 
+250 258 270 382 760 
+251 347 405 1036 1068 
+252 259 273 386 1248 
+253 265 300 357 1208 
+254 264 312 335 816 
+255 363 383 1029 1135 
+256 285 751 774 948 
+257 271 282 377 923 
+258 271 356 500 862 
+259 274 339 352 963 
+260 356 373 906 1101 
+261 272 624 696 826 
+262 301 792 905 977 
+263 293 412 997 1297 
+264 278 426 1023 1162 
+265 269 322 523 550 
+266 297 402 858 1078 
+267 286 594 666 1202 
+268 822 862 912 1188 
+269 354 464 676 1131 
+270 345 421 434 682 
+271 306 323 484 602 
+272 279 662 915 1142 
+273 428 699 752 1193 
+274 298 408 611 795 
+275 283 289 875 1220 
+276 287 296 313 955 
+277 310 414 505 1162 
+278 291 440 1057 1203 
+279 338 476 925 1102 
+280 308 350 429 726 
+281 302 331 547 975 
+282 305 368 392 1001 
+283 349 748 851 1073 
+284 308 367 442 1202 
+285 411 526 621 1234 
+286 415 527 714 1061 
+287 292 531 1004 1067 
+288 365 371 432 763 
+289 326 327 406 528 
+290 363 388 478 849 
+291 294 340 775 1125 
+292 320 548 741 781 
+293 294 309 335 873 
+294 348 406 1189 1246 
+295 307 644 700 812 
+296 367 625 1113 1216 
+297 376 929 1027 1171 
+298 332 777 943 1273 
+299 516 895 932 1237 
+300 430 718 795 888 
+301 798 913 999 1119 
+302 318 448 557 586 
+303 849 875 1199 1252 
+304 317 330 424 515 
+305 434 481 482 606 
+306 311 424 543 1165 
+307 315 478 710 798 
+308 334 336 351 1119 
+309 472 507 886 1247 
+310 559 941 1076 1201 
+311 828 888 927 1270 
+312 316 321 453 537 
+313 337 488 633 1144 
+314 333 400 787 893 
+315 835 956 1238 1279 
+316 325 420 683 1072 
+317 360 774 1052 1074 
+318 338 458 606 687 
+319 329 653 743 1101 
+320 604 897 899 1130 
+321 361 371 385 1213 
+322 404 998 1166 1260 
+323 535 859 1024 1257 
+324 328 368 578 887 
+325 334 436 770 1155 
+326 350 451 924 940 
+327 342 526 949 1231 
+328 346 377 409 431 
+329 443 648 964 1164 
+330 344 508 558 874 
+331 353 762 930 1289 
+332 343 355 417 857 
+333 362 462 995 1166 
+334 626 635 840 891 
+335 341 375 514 735 
+336 381 396 401 1007 
+337 671 914 936 1086 
+338 358 442 992 1268 
+339 423 432 1098 1241 
+340 457 620 1065 1133 
+341 374 391 408 658 
+342 347 500 846 1031 
+343 387 390 1011 1030 
+344 447 530 924 1246 
+345 703 1133 1183 1199 
+346 355 1148 1164 1198 
+347 491 674 796 1055 
+348 361 407 585 779 
+349 366 369 510 1080 
+350 477 521 625 969 
+351 766 843 1003 1031 
+352 600 601 904 1037 
+353 413 894 1031 1202 
+354 570 800 1099 1236 
+355 475 551 633 1081 
+356 364 589 632 859 
+357 968 1190 1256 1286 
+358 466 707 1134 1265 
+359 386 389 961 1234 
+360 393 429 702 1270 
+361 465 727 737 1174 
+362 444 638 642 761 
+363 365 463 565 955 
+364 519 575 677 925 
+365 693 838 945 1172 
+366 395 403 506 1226 
+367 378 779 1006 1160 
+368 395 799 922 1033 
+369 459 989 1115 1237 
+370 379 631 798 1040 
+371 384 901 1001 1283 
+372 388 410 893 1179 
+373 908 1003 1071 1245 
+374 542 950 1254 1298 
+375 522 572 1152 1243 
+376 436 596 664 711 
+377 722 850 1196 1224 
+378 413 428 519 1252 
+379 416 437 515 1248 
+380 441 472 692 740 
+381 433 474 583 1099 
+382 697 785 881 1183 
+383 491 764 1034 1063 
+384 480 484 927 1226 
+385 489 504 538 641 
+386 505 734 860 1098 
+387 394 461 804 944 
+388 402 425 1079 1132 
+389 397 419 753 921 
+390 399 418 422 694 
+391 451 987 1072 1132 
+392 523 670 744 1178 
+393 852 1051 1145 1274 
+394 407 595 720 901 
+395 613 802 817 1297 
+396 787 860 946 1139 
+397 949 1082 1191 1214 
+398 438 486 665 847 
+399 445 651 694 766 
+400 435 446 838 1149 
+401 412 775 1013 1164 
+402 450 604 1108 1210 
+403 701 1070 1110 1198 
+404 534 539 823 1124 
+405 796 933 945 991 
+406 615 807 810 885 
+407 483 591 1060 1263 
+408 468 493 993 1295 
+409 764 1042 1236 1277 
+410 821 898 1090 1176 
+411 750 803 1085 1141 
+412 487 710 971 1136 
+413 498 721 889 1065 
+414 513 569 679 1204 
+415 497 753 759 1230 
+416 469 598 1107 1118 
+417 715 886 935 1008 
+418 482 685 757 816 
+419 643 645 762 892 
+420 421 454 827 1096 
+421 483 571 593 1001 
+422 654 807 937 982 
+423 457 802 1060 1131 
+424 670 784 1094 1120 
+425 449 489 1024 1182 
+426 753 795 1055 1185 
+427 490 651 890 1042 
+428 481 898 983 1291 
+429 860 873 903 968 
+430 532 598 1027 1112 
+431 458 575 889 917 
+432 564 1171 1173 1280 
+433 473 546 1138 1276 
+434 494 973 1229 1272 
+435 448 636 873 1024 
+436 972 1036 1091 1295 
+437 439 460 825 1280 
+438 730 925 1003 1038 
+439 502 580 853 1097 
+440 716 886 962 1169 
+441 454 466 485 818 
+442 940 962 1158 1206 
+443 446 716 799 1160 
+444 611 897 1042 1272 
+445 456 609 1086 1190 
+446 452 752 821 1184 
+447 528 550 957 1048 
+448 906 1131 1207 1279 
+449 499 514 1104 1205 
+450 486 866 1021 1121 
+451 477 610 1051 1280 
+452 455 682 959 1093 
+453 855 865 1072 1211 
+454 708 709 773 969 
+455 467 561 944 1251 
+456 470 729 1203 1216 
+457 469 520 980 1142 
+458 541 580 833 1234 
+459 639 750 1058 1099 
+460 540 687 1018 1071 
+461 572 1078 1115 1190 
+462 512 518 779 953 
+463 470 495 754 1102 
+464 920 976 1000 1074 
+465 576 627 647 1296 
+466 972 1025 1082 1091 
+467 517 593 654 811 
+468 755 800 946 1139 
+469 833 1007 1010 1195 
+470 471 605 632 987 
+471 1009 1039 1052 1219 
+472 599 970 1151 1155 
+473 530 545 962 975 
+474 507 858 908 1010 
+475 492 518 813 840 
+476 589 812 1229 1265 
+477 659 739 828 1250 
+478 527 717 835 1172 
+479 612 712 786 1094 
+480 831 1128 1197 1206 
+481 509 533 876 1221 
+482 503 558 749 947 
+483 656 747 867 1134 
+484 649 792 1040 1057 
+485 531 630 882 985 
+486 643 703 916 1146 
+487 663 956 1168 1247 
+488 525 578 642 994 
+489 678 835 846 1218 
+490 637 864 876 1087 
+491 619 655 932 1254 
+492 494 1112 1123 1138 
+493 554 652 1016 1038 
+494 501 963 1005 1059 
+495 571 760 884 1130 
+496 502 640 764 1061 
+497 737 1176 1189 1262 
+498 892 1145 1194 1261 
+499 511 754 1284 1299 
+500 524 887 933 1039 
+501 557 808 978 1216 
+502 717 780 959 1036 
+503 608 816 1180 1284 
+504 982 991 1064 1232 
+505 761 790 878 1106 
+506 595 1002 1157 1194 
+507 639 666 865 1264 
+508 548 556 769 1242 
+509 741 774 954 1209 
+510 870 974 1191 1298 
+511 581 914 927 1267 
+512 739 996 1120 1157 
+513 573 853 1208 1241 
+514 829 959 1114 1196 
+515 702 1002 1119 1163 
+516 544 588 755 1045 
+517 936 1085 1161 1267 
+518 805 1079 1102 1169 
+519 867 961 1018 1278 
+520 529 554 602 1208 
+521 601 761 963 1268 
+522 607 791 1081 1204 
+523 579 808 1113 1214 
+524 569 793 890 913 
+525 543 549 1108 1189 
+526 809 882 1235 1284 
+527 536 563 616 1163 
+528 555 728 1068 1110 
+529 560 661 1114 1177 
+530 635 803 846 1268 
+531 577 590 852 871 
+532 553 814 1017 1243 
+533 594 649 947 1108 
+534 552 842 987 1020 
+535 709 872 938 965 
+536 617 699 864 1224 
+537 937 1100 1129 1233 
+538 582 842 1122 1228 
+539 570 697 1207 1222 
+540 636 832 1239 1255 
+541 624 695 937 1221 
+542 564 674 1080 1257 
+543 667 811 902 1123 
+544 547 658 918 1296 
+545 765 1021 1211 1300 
+546 705 768 1197 1235 
+547 597 657 1128 1231 
+548 646 789 828 1129 
+549 806 915 1093 1249 
+550 613 1049 1138 1139 
+551 815 968 1054 1147 
+552 626 788 954 1054 
+553 870 891 1135 1241 
+554 758 834 936 1050 
+555 1153 1212 1273 1291 
+556 562 567 584 1105 
+557 559 705 1240 1288 
+558 660 799 973 1173 
+559 790 945 1014 1101 
+560 566 777 965 1016 
+561 568 892 911 1078 
+562 583 629 910 1009 
+563 574 648 811 1285 
+564 652 807 885 929 
+565 668 843 982 1077 
+566 634 906 1006 1274 
+567 1125 1200 1233 1242 
+568 603 977 1053 1141 
+569 704 931 974 1203 
+570 688 751 1026 1205 
+571 935 1098 1168 1179 
+572 672 980 1230 1248 
+573 623 657 847 1107 
+574 641 1106 1153 1185 
+575 614 622 701 767 
+576 793 817 955 1028 
+577 977 998 1217 1290 
+578 729 1193 1200 1274 
+579 1037 1210 1240 1260 
+580 587 671 832 1100 
+581 692 813 1029 1038 
+582 587 903 967 1292 
+583 826 871 887 1293 
+584 794 1032 1077 1253 
+585 857 1103 1111 1192 
+586 592 812 1117 1134 
+587 667 1064 1170 1180 
+588 742 913 1048 1070 
+589 675 966 1068 1150 
+590 844 1187 1192 1282 
+591 773 780 838 1210 
+592 597 673 919 1204 
+593 660 1095 1151 1227 
+594 609 855 898 1152 
+595 861 957 958 1286 
+596 653 662 900 993 
+597 786 943 1104 1247 
+598 863 984 1000 1283 
+599 1011 1015 1067 1209 
+600 618 844 1043 1212 
+601 771 1035 1213 1282 
+602 881 1093 1147 1149 
+603 689 732 1012 1069 
+604 691 1083 1156 1294 
+605 690 878 1062 1151 
+606 664 862 1025 1140 
+607 825 992 1004 1116 
+608 1005 1181 1184 1239 
+609 704 756 904 1137 
+610 765 1158 1290 1292 
+611 806 823 894 1232 
+612 623 736 905 1140 
+613 1008 1092 1110 1299 
+614 769 918 1076 1150 
+615 866 1053 1096 1117 
+616 677 896 1066 1277 
+617 708 1013 1083 1223 
+618 656 820 1013 1066 
+619 770 842 868 976 
+620 861 1167 1245 1286 
+621 837 848 939 1279 
+622 628 749 996 1186 
+623 719 902 907 988 
+624 663 715 858 954 
+625 696 883 1118 1271 
+626 681 870 1179 1228 
+627 644 790 872 985 
+628 957 1089 1147 1238 
+629 650 738 994 1159 
+630 980 1041 1126 1258 
+631 776 942 1059 1161 
+632 640 836 919 1293 
+633 747 894 984 1097 
+634 776 942 981 1073 
+635 800 827 864 1023 
+636 754 978 979 1217 
+637 698 1032 1048 1287 
+638 772 930 1020 1077 
+639 805 839 952 1297 
+640 659 1113 1125 1215 
+641 713 920 924 1256 
+642 854 1104 1167 1172 
+643 783 1022 1084 1087 
+644 765 966 971 1069 
+645 819 917 931 1012 
+646 756 895 917 1092 
+647 726 819 1034 1111 
+648 855 988 1171 1220 
+649 857 1245 1249 1263 
+650 668 824 856 1278 
+651 725 1029 1050 1081 
+652 759 808 1114 1174 
+653 744 949 990 1225 
+654 665 725 1030 1225 
+655 1070 1178 1215 1220 
+656 755 881 1105 1201 
+657 730 971 975 1043 
+658 669 951 1143 1228 
+659 834 1028 1083 1289 
+660 788 1014 1041 1183 
+661 781 938 950 1017 
+662 877 900 1009 1090 
+663 967 1061 1067 1287 
+664 684 731 782 958 
+665 784 850 920 943 
+666 948 1014 1118 1257 
+667 1122 1135 1180 1211 
+668 771 823 839 997 
+669 771 839 1117 1218 
+670 745 831 964 1092 
+671 772 822 1034 1238 
+672 733 836 953 1027 
+673 841 863 1126 1266 
+674 690 1084 1127 1188 
+675 939 1046 1056 1223 
+676 706 848 912 958 
+677 680 897 909 1229 
+678 794 904 1182 1187 
+679 718 785 935 1154 
+680 700 801 1136 1201 
+681 804 852 909 1273 
+682 865 976 1160 1272 
+683 915 928 1232 1285 
+684 688 784 900 912 
+685 686 789 826 1109 
+686 981 1058 1227 1231 
+687 1007 1127 1149 1218 
+688 722 797 1039 1116 
+689 777 952 1107 1193 
+690 907 1064 1127 1146 
+691 801 880 998 1275 
+692 698 909 970 1120 
+693 824 1033 1148 1175 
+694 995 1046 1143 1235 
+695 714 851 942 993 
+696 766 849 1089 1276 
+697 809 837 890 983 
+698 711 748 815 916 
+699 845 850 1041 1250 
+700 768 778 797 1300 
+701 810 851 1165 1196 
+702 1103 1154 1255 1262 
+703 1057 1156 1165 1269 
+704 706 757 929 1035 
+705 743 868 1225 1271 
+706 1073 1103 1175 1291 
+707 829 964 990 1155 
+708 721 814 854 921 
+709 727 757 831 1063 
+710 931 1056 1292 1294 
+711 844 1095 1133 1161 
+712 814 999 1094 1178 
+713 921 997 1088 1253 
+714 723 783 960 1269 
+715 767 896 926 951 
+716 922 960 1088 1266 
+717 934 986 1184 1276 
+718 869 1088 1224 1239 
+719 767 1040 1144 1251 
+720 770 819 995 1056 
+721 830 880 910 1026 
+722 1109 1170 1258 1288 
+723 724 728 856 928 
+724 746 877 908 1037 
+725 845 1023 1177 1187 
+726 836 950 1033 1186 
+727 735 874 926 1275 
+728 986 1044 1219 1249 
+729 879 880 934 1294 
+730 911 1028 1124 1219 
+731 751 762 979 1159 
+732 782 933 1047 1062 
+733 820 1122 1137 1194 
+734 756 789 829 841 
+735 903 918 1143 1227 
+736 758 759 1022 1222 
+737 883 1026 1192 1256 
+738 791 1015 1121 1300 
+739 802 1089 1209 1259 
+740 776 1032 1152 1262 
+741 986 989 1259 1264 
+742 848 1047 1126 1166 
+743 818 869 1170 1181 
+744 863 1015 1045 1195 
+745 883 1049 1063 1156 
+746 778 866 879 989 
+747 830 884 1096 1261 
+748 782 953 1044 1177 
+41 385 487 681 686 
+28 250 592 1137 1261 
+14 15 49 115 576 
+51 147 370 542 932 
+5 6 88 144 907 
+49 50 120 226 506 
+33 34 492 581 1148 
+48 70 85 555 1142 
+38 161 254 525 902 
+43 46 76 228 1012 
+1 2 95 135 1181 
+55 98 248 416 1182 
+3 18 33 71 923 
+68 69 118 322 1065 
+4 8 9 78 821 
+16 17 19 68 275 
+10 12 50 372 410 
+12 14 56 60 69 
+59 60 605 911 990 
+11 13 39 234 585 
+20 21 28 74 101 
+44 45 163 437 872 
+46 47 209 312 342 
+32 211 286 533 970 
+7 11 393 689 783 
+26 126 216 1018 1052 
+24 41 43 81 253 
+36 73 119 124 944 
+56 58 475 1136 1159 
+8 47 244 281 1030 
diff --git a/gr-fec/python/fec/LDPC/n_1800_k_0902_gap_28.alist 
b/gr-fec/python/fec/LDPC/n_1800_k_0902_gap_28.alist
new file mode 100644
index 0000000..c290a13
--- /dev/null
+++ b/gr-fec/python/fec/LDPC/n_1800_k_0902_gap_28.alist
@@ -0,0 +1,2702 @@
+1800 898
+3 6
+2 2 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 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 2 3 3 3 3 3 3 3 3 3 3 3 3 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  [...]
+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 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 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 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 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 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 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 6 
6 6 6 6 6 6 6  [...]
+1 887 
+2 883 
+3 879 883 
+1 4 891 
+5 874 891 
+6 887 889 
+6 7 878 
+8 871 878 
+8 9 889 
+10 871 891 
+10 11 887 
+5 12 897 
+7 13 897 
+14 877 
+12 14 15 
+12 16 880 
+17 874 880 
+4 17 18 
+5 19 880 
+20 887 890 
+6 21 888 
+22 879 882 
+22 23 874 
+22 24 882 
+25 895 
+25 26 883 
+26 27 897 
+27 28 871 
+25 26 29 
+11 30 876 
+29 30 31 
+32 876 897 
+15 33 876 
+5 31 34 
+34 35 
+29 35 36 
+31 34 37 
+18 37 38 
+36 39 898 
+2 40 873 
+9 41 873 
+41 42 890 
+29 43 872 
+6 44 875 
+20 45 886 
+10 45 46 
+35 47 881 
+48 872 881 
+42 48 49 
+18 48 50 
+29 50 51 
+18 51 52 
+52 53 886 
+24 51 54 
+21 54 55 
+19 55 56 
+30 54 57 
+55 58 875 
+58 59 890 
+37 58 60 
+10 60 61 
+59 62 877 
+30 62 63 
+63 64 889 
+45 64 65 
+26 60 66 
+59 67 880 
+19 64 68 
+68 69 876 
+67 70 875 
+70 71 872 
+63 72 873 
+47 72 73 
+72 74 895 
+7 70 75 
+40 76 893 
+35 77 893 
+4 78 892 
+78 79 876 
+57 79 80 
+51 81 894 
+11 81 82 
+47 83 894 
+81 84 888 
+34 82 85 
+83 86 886 
+74 86 87 
+88 879 884 
+88 89 895 
+87 90 884 
+19 89 91 
+90 92 898 
+81 91 93 
+7 92 94 
+85 93 95 
+95 96 895 
+78 93 97 
+77 94 98 
+98 99 888 
+8 100 885 
+40 101 896 
+46 101 102 
+73 101 103 
+48 103 104 
+82 103 105 
+31 104 106 
+14 104 107 
+105 107 108 
+53 107 109 
+19 109 110 
+36 110 111 
+48 111 112 
+73 112 113 
+102 113 114 
+113 115 896 
+115 116 881 
+97 111 117 
+52 117 118 
+77 118 119 
+7 116 120 
+74 119 121 
+2 120 122 
+67 116 123 
+18 117 124 
+108 122 125 
+26 125 126 
+30 122 127 
+27 123 128 
+117 129 898 
+2 124 130 
+130 131 871 
+77 127 132 
+128 133 896 
+126 134 
+31 133 135 
+57 132 136 
+96 108 137 
+100 127 138 
+28 137 139 
+1 125 140 
+114 138 141 
+131 142 884 
+53 142 143 
+4 136 144 
+113 137 145 
+135 146 877 
+144 147 
+67 146 148 
+66 148 149 
+48 140 150 
+68 149 151 
+110 148 152 
+103 144 153 
+121 151 154 
+37 145 155 
+68 151 156 
+146 155 157 
+42 154 158 
+124 143 159 
+106 153 160 
+104 152 161 
+160 162 881 
+75 144 163 
+38 153 164 
+129 162 165 
+82 157 166 
+77 154 167 
+107 165 168 
+30 166 169 
+14 143 170 
+32 170 171 
+141 172 881 
+129 171 173 
+163 174 880 
+76 160 175 
+63 168 176 
+160 173 177 
+57 164 178 
+66 177 179 
+71 168 180 
+127 179 181 
+118 158 182 
+33 165 183 
+159 184 893 
+39 183 185 
+52 177 186 
+122 178 187 
+44 176 188 
+106 156 189 
+142 161 190 
+94 174 191 
+60 188 192 
+50 189 193 
+16 163 194 
+45 187 195 
+178 196 874 
+47 188 197 
+65 174 198 
+74 173 199 
+8 171 200 
+138 200 201 
+37 157 202 
+106 197 203 
+121 189 204 
+202 205 898 
+38 187 206 
+74 182 207 
+150 188 208 
+4 207 209 
+66 166 210 
+18 180 211 
+182 211 212 
+27 185 213 
+37 199 214 
+205 215 893 
+6 203 216 
+14 197 217 
+12 188 218 
+185 196 219 
+158 200 220 
+160 195 221 
+95 208 222 
+149 212 223 
+133 198 224 
+207 225 876 
+205 210 226 
+180 186 227 
+88 178 228 
+190 192 229 
+100 211 230 
+32 215 231 
+73 207 232 
+123 164 233 
+233 234 891 
+182 204 235 
+27 199 236 
+187 231 237 
+41 184 238 
+64 209 239 
+112 134 240 
+167 237 241 
+89 196 242 
+50 210 243 
+151 189 244 
+102 234 245 
+238 244 246 
+3 224 247 
+7 201 248 
+79 223 249 
+63 216 250 
+84 238 251 
+191 212 252 
+51 247 253 
+248 254 882 
+12 225 255 
+153 249 256 
+71 243 257 
+136 200 258 
+209 252 259 
+184 227 260 
+40 243 261 
+79 221 262 
+70 230 263 
+32 242 264 
+191 245 265 
+179 253 266 
+178 254 267 
+206 211 268 
+254 269 885 
+89 269 270 
+175 217 271 
+25 215 272 
+159 235 273 
+220 250 274 
+83 222 275 
+193 237 276 
+110 268 277 
+16 272 278 
+17 253 279 
+217 265 280 
+120 159 281 
+119 197 282 
+191 283 878 
+262 266 284 
+279 285 878 
+90 204 286 
+122 234 287 
+125 263 288 
+124 248 289 
+216 285 290 
+194 196 291 
+57 271 292 
+102 260 293 
+156 285 294 
+44 280 295 
+76 245 296 
+195 260 297 
+215 292 298 
+155 224 299 
+3 251 300 
+95 297 301 
+186 194 302 
+156 189 303 
+2 293 304 
+302 305 883 
+19 214 306 
+83 242 307 
+236 295 308 
+126 270 309 
+108 293 310 
+215 258 311 
+120 269 312 
+240 313 886 
+169 267 314 
+266 304 315 
+293 295 316 
+208 315 317 
+198 305 318 
+40 189 319 
+198 299 320 
+16 127 321 
+234 310 322 
+156 225 323 
+54 278 324 
+93 247 325 
+319 326 885 
+21 325 327 
+306 315 328 
+81 227 329 
+89 296 330 
+176 252 331 
+179 286 332 
+148 312 333 
+203 255 334 
+13 300 335 
+49 317 336 
+125 290 337 
+274 276 338 
+9 234 339 
+228 340 873 
+105 207 341 
+207 259 342 
+71 298 343 
+13 218 344 
+324 345 895 
+92 294 346 
+181 227 347 
+256 259 348 
+256 335 349 
+154 316 350 
+250 335 351 
+88 213 352 
+56 221 353 
+32 331 354 
+25 326 355 
+143 228 356 
+73 291 357 
+283 358 886 
+325 359 885 
+203 324 360 
+159 348 361 
+263 319 362 
+145 314 363 
+43 263 364 
+167 358 365 
+44 256 366 
+314 367 892 
+333 347 368 
+139 354 369 
+98 307 370 
+185 285 371 
+106 326 372 
+265 355 373 
+104 290 374 
+137 235 375 
+68 288 376 
+292 371 377 
+282 378 889 
+337 341 379 
+216 377 380 
+250 292 381 
+33 371 382 
+305 339 383 
+172 278 384 
+11 202 385 
+205 334 386 
+159 358 387 
+176 353 388 
+41 379 389 
+155 258 390 
+178 330 391 
+301 329 392 
+82 383 393 
+152 306 394 
+94 266 395 
+222 336 396 
+335 390 397 
+340 381 398 
+124 382 399 
+319 400 882 
+56 375 401 
+155 164 402 
+238 370 403 
+338 346 404 
+2 276 405 
+106 313 406 
+147 256 407 
+272 383 408 
+139 300 409 
+409 410 878 
+22 405 411 
+27 209 412 
+153 316 413 
+157 321 414 
+62 395 415 
+94 385 416 
+141 205 417 
+261 350 418 
+256 284 419 
+286 370 420 
+114 324 421 
+129 365 422 
+251 415 423 
+62 397 424 
+162 293 425 
+138 424 426 
+232 337 427 
+31 404 428 
+286 388 429 
+300 376 430 
+219 323 431 
+272 290 432 
+5 362 433 
+323 434 884 
+236 403 435 
+272 422 436 
+262 271 437 
+266 365 438 
+298 384 439 
+337 389 440 
+41 145 441 
+402 409 442 
+66 328 443 
+223 281 444 
+52 356 445 
+245 359 446 
+335 368 447 
+100 218 448 
+270 317 449 
+264 361 450 
+60 321 451 
+271 297 452 
+187 439 453 
+276 388 454 
+351 413 455 
+88 289 456 
+100 301 457 
+248 398 458 
+184 229 459 
+333 441 460 
+69 360 461 
+233 334 462 
+5 281 463 
+323 359 464 
+69 380 465 
+13 251 466 
+336 427 467 
+116 313 468 
+288 335 469 
+102 387 470 
+142 422 471 
+213 399 472 
+145 435 473 
+92 290 474 
+167 268 475 
+395 476 898 
+40 354 477 
+436 474 478 
+141 476 479 
+403 480 883 
+355 421 481 
+342 446 482 
+131 244 483 
+158 373 484 
+175 412 485 
+39 456 486 
+134 391 487 
+334 376 488 
+134 477 489 
+55 449 490 
+75 385 491 
+260 384 492 
+439 465 493 
+381 420 494 
+35 455 495 
+162 419 496 
+170 301 497 
+104 400 498 
+430 483 499 
+47 413 500 
+208 277 501 
+239 372 502 
+76 343 503 
+137 345 504 
+72 372 505 
+283 312 506 
+171 337 507 
+200 332 508 
+10 474 509 
+28 246 510 
+132 474 511 
+216 501 512 
+380 396 513 
+174 491 514 
+12 388 515 
+388 499 516 
+299 514 517 
+356 382 518 
+202 357 519 
+25 437 520 
+295 334 521 
+227 332 522 
+390 436 523 
+280 340 524 
+143 306 525 
+190 316 526 
+445 518 527 
+44 483 528 
+15 278 529 
+61 440 530 
+218 526 531 
+437 532 879 
+149 532 533 
+289 434 534 
+173 456 535 
+361 516 536 
+246 482 537 
+58 372 538 
+186 416 539 
+368 369 540 
+393 511 541 
+257 542 888 
+193 431 543 
+331 476 544 
+275 417 545 
+20 524 546 
+65 367 547 
+255 489 548 
+266 351 549 
+133 270 550 
+525 546 551 
+388 417 552 
+269 514 553 
+497 554 871 
+171 541 555 
+78 547 556 
+473 533 557 
+58 307 558 
+523 557 559 
+22 535 560 
+224 432 561 
+509 562 890 
+162 438 563 
+78 391 564 
+278 345 565 
+84 496 566 
+339 542 567 
+151 445 568 
+179 500 569 
+56 313 570 
+179 460 571 
+96 353 572 
+212 536 573 
+63 459 574 
+77 427 575 
+363 553 576 
+130 540 577 
+269 554 578 
+105 488 579 
+243 535 580 
+112 498 581 
+1 508 582 
+182 428 583 
+222 482 584 
+36 303 585 
+121 206 586 
+126 268 587 
+495 509 588 
+373 377 589 
+181 511 590 
+373 464 591 
+158 419 592 
+345 429 593 
+275 563 594 
+200 449 595 
+175 582 596 
+154 530 597 
+86 595 598 
+76 555 599 
+202 592 600 
+261 347 601 
+224 458 602 
+466 536 603 
+110 518 604 
+151 405 605 
+548 572 606 
+59 561 607 
+273 451 608 
+380 586 609 
+163 411 610 
+364 507 611 
+580 612 883 
+120 305 613 
+118 407 614 
+282 459 615 
+515 541 616 
+219 366 617 
+357 440 618 
+407 611 619 
+236 304 620 
+418 595 621 
+34 579 622 
+346 611 623 
+401 594 624 
+420 480 625 
+199 501 626 
+415 613 627 
+327 526 628 
+147 616 629 
+79 421 630 
+436 589 631 
+212 573 632 
+311 341 633 
+85 598 634 
+146 515 635 
+406 603 636 
+254 559 637 
+186 452 638 
+240 264 639 
+418 624 640 
+211 564 641 
+49 237 642 
+469 531 643 
+99 622 644 
+277 488 645 
+304 527 646 
+13 582 647 
+177 419 648 
+169 528 649 
+455 564 650 
+513 602 651 
+111 400 652 
+217 652 653 
+97 349 654 
+573 644 655 
+49 489 656 
+20 472 657 
+94 412 658 
+316 563 659 
+85 625 660 
+135 562 661 
+216 618 662 
+276 490 663 
+300 432 664 
+449 560 665 
+383 430 666 
+393 657 667 
+444 491 668 
+384 577 669 
+405 670 893 
+43 645 671 
+11 669 672 
+646 654 673 
+487 568 674 
+279 605 675 
+86 349 676 
+261 603 677 
+241 397 678 
+416 652 679 
+312 503 680 
+66 455 681 
+147 313 682 
+346 617 683 
+140 556 684 
+294 654 685 
+597 615 686 
+241 675 687 
+175 618 688 
+221 578 689 
+23 578 690 
+423 473 691 
+339 524 692 
+576 680 693 
+620 666 694 
+589 687 695 
+210 304 696 
+56 630 697 
+49 611 698 
+11 523 699 
+240 573 700 
+182 572 701 
+671 695 702 
+284 586 703 
+449 588 704 
+288 550 705 
+204 402 706 
+520 689 707 
+197 676 708 
+274 626 709 
+310 443 710 
+452 570 711 
+522 637 712 
+65 602 713 
+343 633 714 
+372 565 715 
+348 692 716 
+164 699 717 
+8 539 718 
+251 442 719 
+343 448 720 
+504 508 721 
+470 720 722 
+24 451 723 
+84 436 724 
+14 719 725 
+230 648 726 
+481 592 727 
+408 509 728 
+84 468 729 
+327 706 730 
+427 731 887 
+161 561 732 
+406 594 733 
+126 573 734 
+548 614 735 
+191 559 736 
+53 310 737 
+305 699 738 
+109 181 739 
+62 661 740 
+386 575 741 
+622 742 897 
+135 661 743 
+143 492 744 
+232 617 745 
+326 692 746 
+20 453 747 
+408 735 748 
+529 704 749 
+3 644 750 
+196 362 751 
+119 339 752 
+341 502 753 
+467 567 754 
+54 532 755 
+537 682 756 
+676 704 757 
+580 675 758 
+362 713 759 
+311 697 760 
+301 629 761 
+357 404 762 
+99 599 763 
+298 641 764 
+358 443 765 
+425 625 766 
+374 531 767 
+50 394 768 
+235 672 769 
+17 400 770 
+545 718 771 
+370 624 772 
+201 772 773 
+203 379 774 
+412 600 775 
+399 484 776 
+95 728 777 
+86 689 778 
+503 672 779 
+167 262 780 
+97 527 781 
+393 575 782 
+385 649 783 
+201 702 784 
+728 778 785 
+275 431 786 
+366 702 787 
+190 776 788 
+687 765 789 
+274 621 790 
+285 380 791 
+138 439 792 
+636 758 793 
+461 591 794 
+303 761 795 
+368 711 796 
+502 717 797 
+651 754 798 
+446 792 799 
+45 463 800 
+36 569 801 
+279 746 802 
+331 650 803 
+146 589 804 
+342 796 805 
+505 700 806 
+220 759 807 
+71 462 808 
+224 439 809 
+203 686 810 
+311 543 811 
+692 776 812 
+671 813 
+805 814 898 
+374 780 815 
+191 620 816 
+707 738 817 
+127 323 818 
+445 668 819 
+342 527 820 
+757 790 821 
+425 790 822 
+254 289 823 
+382 424 824 
+517 611 825 
+291 826 896 
+45 352 827 
+98 777 828 
+570 829 896 
+656 791 830 
+39 825 831 
+746 766 832 
+70 706 833 
+694 834 897 
+131 704 835 
+315 800 836 
+278 556 837 
+768 799 838 
+282 588 839 
+753 777 840 
+177 643 841 
+795 824 842 
+204 533 843 
+454 668 844 
+574 674 845 
+139 702 846 
+72 500 847 
+396 754 848 
+343 615 849 
+352 603 850 
+429 851 882 
+457 820 852 
+697 789 853 
+338 618 854 
+170 810 855 
+111 526 856 
+241 743 857 
+790 858 875 
+195 756 859 
+319 854 860 
+237 806 861 
+678 827 862 
+538 739 863 
+475 648 864 
+549 840 865 
+582 585 866 
+262 696 867 
+154 860 868 
+653 744 869 
+213 565 870 
+114 510 659 
+168 693 723 
+360 638 640 
+426 552 648 
+327 414 492 
+97 440 802 
+707 751 794 
+108 190 386 
+443 658 697 
+68 512 798 
+132 613 627 
+233 623 736 
+425 680 719 
+271 734 842 
+128 619 710 
+80 739 846 
+221 598 872 
+130 703 772 
+128 475 814 
+456 540 621 
+517 655 833 
+140 663 689 
+523 733 862 
+130 296 338 
+351 814 830 
+227 596 687 
+418 615 781 
+98 556 841 
+83 729 738 
+255 412 605 
+133 521 791 
+591 599 673 
+610 623 804 
+91 522 764 
+435 460 788 
+208 367 720 
+515 759 821 
+585 684 755 
+406 458 532 
+80 606 719 
+242 493 590 
+273 493 585 
+252 386 792 
+403 555 738 
+39 320 441 
+112 467 770 
+321 468 768 
+547 826 839 
+619 733 796 
+217 411 569 
+75 565 639 
+131 557 816 
+199 437 810 
+125 597 662 
+147 561 813 
+267 721 867 
+42 528 604 
+43 815 844 
+692 750 754 
+144 745 831 
+193 645 822 
+24 806 849 
+717 722 802 
+161 365 458 
+330 863 869 
+307 421 834 
+21 440 660 
+219 689 766 
+295 616 825 
+198 218 332 
+263 317 322 
+306 365 489 
+814 852 860 
+51 349 756 
+228 550 633 
+15 779 848 
+296 576 744 
+309 350 552 
+615 829 882 
+113 539 845 
+197 429 462 
+369 642 
+349 579 595 
+132 771 832 
+318 614 848 
+78 782 794 
+505 581 650 
+394 424 601 
+136 669 708 
+225 470 520 
+395 564 811 
+342 568 663 
+152 515 611 
+635 679 811 
+218 668 773 
+286 410 628 
+32 609 664 
+282 496 826 
+423 447 845 
+282 798 849 
+190 593 718 
+680 781 874 
+38 374 506 
+488 808 839 
+366 509 610 
+161 233 286 
+463 663 721 
+842 859 861 
+41 567 598 
+457 807 854 
+115 413 609 
+148 688 693 
+474 575 697 
+120 462 560 
+17 797 844 
+184 548 668 
+173 434 468 
+308 653 765 
+96 541 727 
+71 629 864 
+140 788 816 
+392 595 599 
+504 564 713 
+194 259 652 
+322 574 618 
+54 297 450 
+392 544 594 
+344 574 764 
+379 751 823 
+737 811 872 
+244 476 674 
+87 407 791 
+413 508 832 
+369 682 746 
+542 577 854 
+769 857 888 
+360 695 785 
+24 540 775 
+359 537 656 
+144 220 257 
+387 747 851 
+169 510 601 
+703 707 719 
+175 536 742 
+243 609 727 
+379 422 649 
+297 320 575 
+674 691 784 
+622 683 847 
+347 465 631 
+281 469 538 
+121 390 788 
+378 639 884 
+478 685 712 
+546 655 752 
+142 784 812 
+226 572 753 
+523 700 832 
+206 338 777 
+91 653 735 
+239 350 748 
+72 507 653 
+454 801 859 
+638 791 837 
+258 646 843 
+239 261 593 
+415 681 755 
+126 405 581 
+455 760 854 
+201 507 534 
+308 795 823 
+129 633 748 
+260 754 817 
+676 801 872 
+246 360 407 
+87 427 733 
+4 350 589 
+76 544 577 
+393 784 856 
+138 438 495 
+520 670 701 
+101 491 795 
+234 348 424 
+184 498 700 
+475 796 836 
+56 499 540 
+130 600 860 
+406 710 818 
+664 688 771 
+441 584 647 
+192 473 515 
+827 844 871 
+42 484 586 
+354 434 630 
+649 863 868 
+366 504 877 
+214 593 603 
+514 543 778 
+249 609 652 
+267 511 608 
+153 620 657 
+553 763 892 
+150 504 579 
+169 340 715 
+723 810 820 
+248 390 433 
+698 811 862 
+250 649 723 
+513 726 802 
+193 369 372 
+242 375 870 
+38 230 414 
+570 817 835 
+236 435 545 
+396 704 745 
+177 692 751 
+28 549 670 
+318 600 664 
+561 646 655 
+128 397 647 
+734 826 841 
+323 492 624 
+480 676 892 
+464 570 639 
+543 617 624 
+497 568 619 
+259 584 775 
+134 634 773 
+345 718 730 
+150 841 850 
+356 553 828 
+660 713 891 
+284 507 640 
+176 302 632 
+210 273 477 
+319 742 838 
+378 762 870 
+416 614 833 
+395 676 679 
+602 628 861 
+248 649 757 
+239 442 767 
+3 304 583 
+551 646 777 
+646 703 765 
+581 613 760 
+320 779 864 
+34 447 566 
+206 419 802 
+99 540 554 
+571 819 846 
+432 475 877 
+44 774 828 
+678 696 886 
+423 534 560 
+195 631 829 
+409 485 757 
+209 510 620 
+383 472 478 
+289 450 461 
+357 782 863 
+391 453 763 
+92 535 729 
+46 520 602 
+219 592 740 
+213 408 459 
+39 489 764 
+309 512 588 
+88 480 495 
+244 398 446 
+569 673 749 
+544 667 725 
+142 451 550 
+471 586 739 
+608 800 895 
+257 465 478 
+62 685 690 
+407 484 824 
+398 641 813 
+165 517 677 
+396 479 635 
+269 638 717 
+584 619 752 
+463 541 657 
+53 395 516 
+263 833 859 
+510 637 780 
+500 655 691 
+632 672 780 
+271 661 734 
+329 543 626 
+116 598 678 
+608 641 806 
+730 735 781 
+553 810 885 
+274 627 665 
+453 665 699 
+267 495 729 
+770 776 851 
+444 695 735 
+488 639 863 
+139 463 511 
+401 443 562 
+496 579 617 
+115 442 607 
+288 328 352 
+257 562 583 
+215 467 546 
+403 714 856 
+578 768 789 
+137 677 792 
+404 558 752 
+242 680 812 
+291 442 585 
+364 610 716 
+482 665 717 
+572 590 693 
+255 373 460 
+85 471 784 
+551 678 757 
+171 645 850 
+431 551 776 
+208 272 769 
+320 527 557 
+307 558 582 
+552 737 853 
+294 448 482 
+311 329 722 
+210 270 809 
+465 522 655 
+681 693 796 
+376 774 783 
+26 301 675 
+165 405 593 
+174 347 889 
+318 525 532 
+249 516 787 
+229 494 520 
+740 860 862 
+468 492 853 
+65 597 763 
+451 714 821 
+93 249 357 
+259 289 306 
+90 644 788 
+744 797 
+253 297 473 
+217 264 265 
+69 308 452 
+99 466 656 
+246 313 679 
+341 759 795 
+1 560 748 
+574 621 729 
+213 530 674 
+466 531 710 
+300 656 869 
+15 458 731 
+183 662 745 
+330 344 417 
+847 865 866 
+472 629 869 
+537 618 662 
+296 787 803 
+275 642 754 
+254 375 889 
+75 499 690 
+152 444 665 
+47 466 633 
+231 370 658 
+21 849 859 
+85 823 835 
+183 422 852 
+119 514 687 
+318 561 759 
+225 400 493 
+185 650 651 
+67 601 737 
+321 364 637 
+309 346 501 
+420 627 762 
+109 772 843 
+20 387 461 
+416 447 494 
+447 756 780 
+112 430 559 
+188 302 583 
+147 678 788 
+9 355 837 
+33 292 438 
+281 430 686 
+226 545 647 
+510 631 724 
+111 336 374 
+168 830 852 
+64 277 819 
+123 476 762 
+46 818 866 
+16 232 479 
+164 605 691 
+236 782 868 
+202 563 660 
+622 697 880 
+363 433 875 
+199 513 596 
+81 261 457 
+497 585 698 
+285 471 782 
+433 767 834 
+425 615 892 
+98 435 724 
+634 723 725 
+310 851 867 
+474 699 824 
+83 302 427 
+438 496 532 
+417 477 708 
+229 605 751 
+172 310 801 
+50 569 781 
+123 359 374 
+6 771 815 
+52 417 660 
+519 566 591 
+194 797 868 
+167 194 321 
+23 694 774 
+632 716 764 
+139 672 801 
+409 483 736 
+59 506 705 
+352 482 779 
+421 443 562 
+84 460 819 
+340 728 785 
+118 743 832 
+251 594 803 
+506 601 685 
+312 365 367 
+117 249 320 
+10 519 521 
+91 435 604 
+150 397 708 
+367 419 464 
+214 677 727 
+80 509 627 
+567 707 894 
+328 548 612 
+628 712 809 
+211 685 795 
+317 714 845 
+214 325 706 
+381 397 881 
+549 571 732 
+196 742 849 
+110 315 344 
+231 298 711 
+57 783 786 
+265 777 812 
+114 462 645 
+490 743 894 
+204 559 739 
+23 558 815 
+399 480 896 
+591 838 856 
+709 839 
+80 623 747 
+55 386 535 
+135 672 809 
+109 629 782 
+43 274 855 
+643 711 741 
+69 715 734 
+96 432 522 
+741 752 779 
+23 332 577 
+73 268 659 
+402 761 774 
+332 444 661 
+69 391 486 
+221 576 727 
+158 522 855 
+273 787 884 
+122 633 738 
+185 477 715 
+222 358 562 
+279 514 601 
+414 713 758 
+245 326 399 
+440 530 552 
+387 580 688 
+257 478 587 
+616 770 827 
+307 375 831 
+115 542 681 
+423 456 642 
+491 526 679 
+363 381 459 
+287 473 718 
+46 588 703 
+102 659 771 
+166 558 686 
+228 679 800 
+59 232 238 
+684 701 711 
+394 549 798 
+299 804 816 
+136 641 654 
+9 674 778 
+226 503 827 
+746 773 824 
+228 382 487 
+133 358 479 
+415 429 854 
+206 566 600 
+70 846 858 
+287 740 830 
+512 527 589 
+214 298 820 
+392 608 784 
+470 590 641 
+91 807 867 
+339 487 721 
+152 394 571 
+391 609 786 
+534 566 801 
+378 549 587 
+389 437 866 
+371 470 483 
+348 488 505 
+384 441 730 
+555 575 681 
+160 714 736 
+121 350 724 
+624 709 869 
+293 476 716 
+168 604 819 
+528 737 843 
+472 690 836 
+316 502 604 
+367 732 858 
+576 709 857 
+103 231 542 
+86 712 796 
+404 635 696 
+237 362 558 
+322 680 829 
+518 682 758 
+61 668 855 
+485 705 894 
+385 693 816 
+181 533 742 
+658 776 893 
+305 392 653 
+157 669 856 
+264 600 657 
+61 408 503 
+291 501 671 
+354 640 815 
+775 859 860 
+381 413 780 
+148 695 762 
+123 383 530 
+351 403 755 
+90 599 759 
+717 831 840 
+89 824 843 
+308 612 737 
+82 273 309 
+644 690 706 
+563 785 827 
+8 770 847 
+450 756 885 
+303 698 775 
+157 628 637 
+521 690 839 
+281 451 513 
+394 448 785 
+226 634 867 
+294 371 809 
+402 428 651 
+606 681 868 
+660 725 728 
+299 607 628 
+33 712 739 
+172 702 835 
+101 479 715 
+163 485 508 
+364 373 497 
+502 533 698 
+661 825 826 
+303 424 627 
+412 730 892 
+303 353 767 
+328 516 665 
+219 714 837 
+260 839 848 
+235 640 808 
+170 364 396 
+667 734 773 
+422 673 686 
+426 538 606 
+235 610 829 
+230 505 648 
+283 465 560 
+326 587 710 
+329 568 607 
+270 309 410 
+694 763 870 
+376 519 696 
+428 581 761 
+436 571 626 
+376 632 846 
+107 377 712 
+346 483 528 
+74 267 706 
+580 607 643 
+258 444 490 
+355 658 857 
+108 507 741 
+324 783 845 
+437 769 804 
+557 677 683 
+705 730 738 
+684 750 873 
+55 434 469 
+193 500 829 
+28 667 742 
+461 529 822 
+399 764 832 
+433 803 840 
+166 528 550 
+410 525 749 
+426 830 834 
+255 453 525 
+49 244 288 
+113 226 238 
+149 689 731 
+484 490 834 
+129 587 851 
+318 493 721 
+243 521 581 
+223 353 354 
+292 518 736 
+503 662 858 
+322 663 807 
+180 683 740 
+330 452 499 
+128 794 840 
+80 402 815 
+454 544 620 
+136 612 703 
+408 418 486 
+400 506 650 
+494 565 817 
+290 595 825 
+283 794 857 
+150 545 699 
+75 568 731 
+180 748 866 
+392 684 792 
+497 808 844 
+101 233 280 
+448 466 547 
+314 360 584 
+479 651 656 
+119 812 842 
+498 554 722 
+195 505 591 
+155 330 723 
+229 366 808 
+477 747 838 
+531 749 814 
+231 773 853 
+61 253 299 
+239 559 709 
+401 494 675 
+3 623 704 
+287 442 603 
+279 545 556 
+539 614 818 
+331 463 834 
+36 625 772 
+344 710 862 
+671 821 850 
+517 570 749 
+732 747 800 
+698 765 890 
+696 732 864 
+222 329 716 
+117 192 280 
+382 804 811 
+280 768 793 
+287 432 635 
+64 582 621 
+431 529 711 
+186 793 822 
+511 583 659 
+296 794 800 
+423 740 858 
+471 541 555 
+322 504 638 
+531 806 865 
+406 579 662 
+183 605 787 
+524 634 878 
+277 467 708 
+345 593 858 
+790 793 870 
+683 769 785 
+498 746 856 
+684 830 852 
+22 490 865 
+161 789 799 
+29 325 616 
+536 803 842 
+385 484 518 
+212 458 574 
+758 805 837 
+241 430 461 
+252 592 651 
+513 836 850 
+516 622 673 
+363 445 797 
+163 487 844 
+325 512 835 
+761 835 850 
+377 535 726 
+291 647 772 
+100 487 554 
+246 362 638 
+636 732 735 
+349 713 786 
+245 389 636 
+398 566 669 
+517 583 813 
+220 536 691 
+90 828 853 
+389 744 748 
+295 664 757 
+145 721 840 
+512 542 783 
+198 284 415 
+763 825 841 
+334 478 818 
+356 486 543 
+670 753 848 
+499 586 741 
+729 826 
+467 771 805 
+33 426 567 
+439 495 571 
+621 657 675 
+87 539 613 
+492 556 569 
+398 450 456 
+105 557 610 
+172 720 842 
+92 807 846 
+209 594 750 
+337 625 874 
+602 845 867 
+608 616 736 
+283 539 726 
+96 457 521 
+247 724 851 
+410 489 533 
+356 792 817 
+336 630 647 
+131 720 725 
+480 802 822 
+132 564 613 
+223 781 818 
+340 741 799 
+378 726 753 
+109 694 707 
+664 731 891 
+327 669 820 
+38 250 459 
+165 401 760 
+361 379 632 
+156 464 523 
+565 715 865 
+99 446 592 
+457 838 843 
+247 496 631 
+42 498 544 
+229 590 793 
+103 551 862 
+264 630 841 
+378 452 864 
+761 812 868 
+46 670 807 
+124 630 855 
+683 786 808 
+192 529 701 
+688 718 803 
+315 446 555 
+666 821 837 
+13 546 577 
+24 485 626 
+253 534 553 
+449 612 755 
+468 597 612 
+35 573 626 
+500 636 751 
+324 380 537 
+519 798 831 
+60 744 805 
+166 201 806 
+192 614 666 
+431 447 750 
+420 666 879 
+61 481 604 
+43 607 847 
+481 705 753 
+302 485 666 
+596 762 783 
+174 708 749 
+377 671 694 
+426 688 756 
+241 636 831 
+240 469 552 
+342 371 534 
+416 629 865 
+21 368 588 
+445 502 752 
+183 768 849 
+429 494 765 
+79 538 755 
+726 774 863 
+1 576 597 
+265 673 828 
+805 809 890 
+115 352 813 
+252 411 425 
+455 640 686 
+9 428 701 
+135 733 766 
+187 833 836 
+441 745 766 
+287 650 847 
+481 639 838 
+294 648 879 
+262 701 814 
+180 654 861 
+343 598 823 
+162 418 537 
+333 508 887 
+530 767 799 
+58 550 637 
+277 645 677 
+524 546 743 
+587 778 869 
+486 572 877 
+116 361 822 
+727 813 873 
+275 333 460 
+401 644 790 
+410 491 791 
+170 769 789 
+23 369 526 
+284 328 596 
+107 230 659 
+134 642 820 
+733 743 758 
+181 411 606 
+547 760 833 
+141 642 828 
+798 848 852 
+635 719 853 
+475 578 654 
+146 341 390 
+15 414 817 
+472 716 778 
+314 317 875 
+140 538 775 
+95 347 506 
+308 368 470 
+220 685 779 
+176 344 667 
+411 695 793 
+336 590 787 
+149 658 789 
+205 816 821 
+652 720 722 
+247 623 823 
+355 361 375 
+519 580 596 
+359 420 700 
+348 409 584 
+87 797 855 
+65 223 750 
+97 634 745 
+53 276 705 
+567 667 888 
+17 554 804 
+384 448 454 
+173 547 767 
+421 469 663 
+327 363 438 
+414 464 525 
+141 548 617 
+312 786 861 
+172 770 799 
+67 393 501 
+338 471 819 
+93 433 643 
+331 529 563 
+105 462 725 
+454 551 700 
+387 643 747 
+370 619 631 
+16 687 728 
+169 434 766 
+453 691 760 
+28 314 333 
+351 481 864 
+311 386 709 
+258 486 702 
+268 404 670 
+118 389 450 
+232 724 810 
+493 599 606 
+225 722 731 
+682 836 870 
+524 861 866 
+240 625 857 
+428 578 894 
+114 353 682 
+1 4 140 582 1223 1702 
+2 40 122 130 304 405 
+3 247 300 750 1113 1548 
+4 18 78 144 209 1047 
+5 12 19 34 433 463 
+6 7 21 44 216 1292 
+7 13 75 94 120 248 
+8 9 100 200 718 1442 
+9 41 339 1259 1379 1708 
+10 11 46 61 509 1311 
+11 30 82 385 672 699 
+12 15 16 218 255 515 
+13 335 344 466 647 1670 
+14 15 107 170 217 725 
+15 33 529 946 1228 1744 
+16 194 278 321 1269 1784 
+17 18 279 770 985 1767 
+18 38 50 52 124 211 
+19 56 68 91 110 306 
+20 45 546 657 747 1253 
+21 55 327 937 1241 1696 
+22 23 24 411 560 1583 
+23 690 1297 1333 1346 1732 
+24 54 723 932 1008 1671 
+25 26 29 272 355 520 
+26 27 29 66 126 1203 
+27 28 128 213 236 412 
+28 139 510 1087 1498 1787 
+29 31 36 43 51 1585 
+30 31 57 63 127 169 
+31 34 37 106 135 428 
+32 171 231 264 354 967 
+33 183 382 1260 1455 1621 
+34 35 37 85 622 1118 
+35 36 47 77 495 1675 
+36 39 111 585 801 1553 
+37 38 60 155 202 214 
+38 164 206 973 1082 1649 
+39 185 486 831 915 1137 
+40 76 101 261 319 477 
+41 42 238 389 441 979 
+42 49 158 927 1063 1657 
+43 364 671 928 1341 1685 
+44 188 295 366 528 1123 
+45 46 65 195 800 827 
+46 102 1134 1268 1370 1663 
+47 73 83 197 500 1239 
+48 49 50 104 112 150 
+49 336 642 656 698 1506 
+50 51 193 243 768 1290 
+51 52 54 81 253 944 
+52 53 118 186 445 1293 
+53 109 143 737 1155 1765 
+54 55 57 324 755 996 
+55 56 58 490 1338 1496 
+56 353 401 570 697 1056 
+57 80 136 178 292 1328 
+58 59 60 538 558 1721 
+59 62 67 607 1301 1374 
+60 61 66 192 451 1679 
+61 530 1419 1427 1545 1684 
+62 63 415 424 740 1147 
+63 64 72 176 250 574 
+64 65 68 239 1266 1565 
+65 198 547 713 1211 1763 
+66 149 179 210 443 681 
+67 70 123 148 1248 1776 
+68 69 151 156 376 880 
+69 461 465 1219 1343 1350 
+70 71 75 263 833 1386 
+71 180 257 343 808 990 
+72 73 74 505 847 1032 
+73 103 113 232 357 1347 
+74 87 121 199 207 1486 
+75 163 491 921 1237 1529 
+76 175 296 503 599 1048 
+77 98 119 132 167 575 
+78 79 97 556 564 956 
+79 80 249 262 630 1700 
+80 886 910 1316 1337 1520 
+81 82 84 93 329 1276 
+82 85 105 166 393 1439 
+83 86 275 307 899 1285 
+84 251 566 724 729 1304 
+85 95 634 660 1189 1242 
+86 87 598 676 778 1414 
+87 90 1002 1046 1624 1762 
+88 89 228 352 456 1139 
+89 91 242 270 330 1437 
+90 92 286 1215 1435 1608 
+91 93 904 1030 1312 1392 
+92 94 346 474 1133 1629 
+93 95 97 325 1213 1778 
+94 98 191 395 416 658 
+95 96 222 301 777 1748 
+96 137 572 989 1344 1635 
+97 117 654 781 876 1764 
+98 99 370 828 898 1281 
+99 644 763 1120 1220 1654 
+100 138 230 448 457 1600 
+101 102 103 1052 1457 1533 
+102 114 245 293 470 1371 
+103 104 105 153 1413 1659 
+104 106 107 161 374 498 
+105 108 341 579 1627 1780 
+106 160 189 203 372 406 
+107 108 109 168 1484 1734 
+108 125 137 310 878 1490 
+109 110 739 1252 1340 1646 
+110 111 152 277 604 1326 
+111 112 117 652 856 1264 
+112 113 240 581 916 1256 
+113 114 115 145 950 1507 
+114 141 421 871 1330 1800 
+115 116 981 1175 1365 1705 
+116 120 123 468 1162 1726 
+117 118 124 129 1310 1561 
+118 119 182 614 1306 1792 
+119 121 282 752 1244 1537 
+120 122 281 312 613 984 
+121 154 204 586 1022 1404 
+122 125 127 187 287 1354 
+123 128 233 1267 1291 1433 
+124 130 159 289 399 1664 
+125 126 140 288 337 924 
+126 134 309 587 734 1038 
+127 132 138 181 321 818 
+128 133 885 889 1090 1519 
+129 165 173 422 1042 1510 
+130 131 577 888 894 1057 
+131 142 483 835 922 1640 
+132 136 511 881 954 1642 
+133 135 224 550 901 1383 
+134 240 487 489 1098 1735 
+135 146 661 743 1339 1709 
+136 144 258 959 1378 1522 
+137 139 145 375 504 1181 
+138 141 201 426 792 1050 
+139 369 409 846 1172 1299 
+140 150 684 892 991 1747 
+141 172 417 479 1739 1773 
+142 143 190 471 1026 1143 
+143 159 170 356 525 744 
+144 147 153 163 930 1010 
+145 155 363 441 473 1611 
+146 148 157 635 804 1743 
+147 407 629 682 925 1258 
+148 149 152 333 982 1432 
+149 151 223 533 1508 1754 
+150 208 1073 1100 1313 1528 
+151 154 156 244 568 605 
+152 161 394 963 1238 1394 
+153 160 164 256 413 1071 
+154 158 167 350 597 868 
+155 157 299 390 402 1540 
+156 189 294 303 323 1652 
+157 166 202 414 1425 1445 
+158 182 220 484 592 1352 
+159 184 273 281 361 387 
+160 162 175 177 221 1403 
+161 190 732 934 976 1584 
+162 165 425 496 563 1718 
+163 174 194 610 1458 1595 
+164 178 233 402 717 1270 
+165 168 183 1150 1204 1650 
+166 169 210 1372 1502 1680 
+167 241 365 475 780 1296 
+168 176 180 872 1265 1407 
+169 314 649 1012 1074 1785 
+170 171 497 855 1469 1731 
+171 173 200 507 555 1191 
+172 384 1289 1456 1628 1775 
+173 177 199 535 987 1769 
+174 191 198 514 1205 1689 
+175 271 485 596 688 1014 
+176 188 331 388 1104 1751 
+177 179 186 648 841 1086 
+178 187 196 228 267 391 
+179 181 266 332 569 571 
+180 211 227 1517 1530 1716 
+181 347 590 739 1422 1737 
+182 207 212 235 583 701 
+183 185 1229 1243 1575 1698 
+184 238 260 459 986 1054 
+185 213 219 371 1247 1355 
+186 227 302 539 638 1567 
+187 195 206 237 453 1710 
+188 192 197 208 218 1257 
+189 193 204 244 303 319 
+190 229 526 788 878 971 
+191 252 265 283 736 816 
+192 229 1061 1561 1666 1681 
+193 276 543 931 1080 1497 
+194 291 302 994 1295 1296 
+195 221 297 859 1126 1539 
+196 219 242 291 751 1325 
+197 203 217 282 708 951 
+198 224 318 320 940 1613 
+199 214 236 626 923 1275 
+200 201 220 258 508 595 
+201 248 773 784 1040 1680 
+202 205 385 519 600 1272 
+203 216 334 360 774 810 
+204 235 286 706 843 1332 
+205 215 226 386 417 1755 
+206 268 586 1029 1119 1385 
+207 209 225 232 341 342 
+208 222 317 501 906 1193 
+209 239 259 412 1128 1630 
+210 226 243 696 1105 1199 
+211 212 230 268 641 1320 
+212 223 252 573 632 1588 
+213 352 472 870 1136 1225 
+214 306 1067 1315 1322 1389 
+215 231 272 298 311 1178 
+216 250 290 380 512 662 
+217 271 280 653 920 1218 
+218 344 448 531 940 965 
+219 431 617 938 1135 1466 
+220 274 807 1010 1607 1750 
+221 262 353 689 887 1351 
+222 275 396 584 1356 1560 
+223 249 444 1513 1643 1763 
+224 247 299 561 602 809 
+225 255 323 960 1246 1795 
+226 1027 1262 1380 1449 1507 
+227 260 329 347 522 896 
+228 340 356 945 1373 1382 
+229 459 1208 1288 1541 1658 
+230 263 726 1082 1474 1734 
+231 237 1240 1327 1413 1544 
+232 427 745 1269 1374 1793 
+233 234 462 882 976 1533 
+234 245 287 322 339 1053 
+235 273 375 769 1468 1473 
+236 308 435 620 1084 1271 
+237 241 276 642 861 1416 
+238 246 251 403 1374 1507 
+239 502 1031 1036 1112 1546 
+240 313 639 700 1693 1798 
+241 678 687 857 1590 1692 
+242 264 307 911 1081 1183 
+243 257 261 580 1015 1512 
+244 246 483 1001 1140 1506 
+245 265 296 446 1359 1604 
+246 510 537 1045 1221 1601 
+247 253 325 1636 1656 1757 
+248 254 289 458 1076 1111 
+249 256 1069 1207 1213 1310 
+250 274 351 381 1078 1649 
+251 300 423 466 719 1307 
+252 259 331 913 1591 1706 
+253 266 279 1217 1545 1672 
+254 267 269 637 823 1236 
+255 334 548 900 1188 1505 
+256 348 349 366 407 419 
+257 542 1010 1146 1177 1362 
+258 311 390 1035 1488 1790 
+259 342 348 994 1097 1214 
+260 293 297 492 1043 1467 
+261 418 601 677 1036 1276 
+262 284 437 780 867 1715 
+263 288 362 364 941 1156 
+264 450 639 1218 1426 1660 
+265 280 373 1218 1329 1703 
+266 284 315 395 438 549 
+267 314 926 1070 1168 1486 
+268 277 475 587 1347 1791 
+269 270 312 553 578 1152 
+270 309 449 550 1199 1478 
+271 292 437 452 884 1160 
+272 278 408 432 436 1193 
+273 608 912 1105 1353 1439 
+274 338 709 790 1166 1341 
+275 545 594 786 1235 1728 
+276 338 405 454 663 1765 
+277 501 645 1266 1577 1722 
+278 324 384 529 565 837 
+279 285 675 802 1357 1550 
+280 295 524 1533 1561 1563 
+281 444 463 1021 1261 1447 
+282 378 615 839 968 970 
+283 358 506 1475 1527 1634 
+284 419 703 1103 1613 1733 
+285 290 294 371 791 1278 
+286 332 420 429 966 976 
+287 1369 1387 1549 1564 1712 
+288 376 469 705 1176 1506 
+289 456 534 823 1130 1214 
+290 337 374 432 474 1526 
+291 357 826 1184 1428 1599 
+292 298 377 381 1260 1514 
+293 304 310 316 425 1406 
+294 346 685 1197 1450 1714 
+295 308 316 521 939 1610 
+296 330 894 947 1234 1569 
+297 301 452 996 1017 1217 
+298 343 439 764 1327 1389 
+299 320 517 1377 1454 1545 
+300 335 409 430 664 1227 
+301 392 457 497 761 1203 
+302 305 1104 1257 1285 1687 
+303 585 795 1444 1462 1464 
+304 315 620 646 696 1113 
+305 318 383 613 738 1424 
+306 328 394 525 942 1214 
+307 370 558 936 1195 1364 
+308 988 1041 1219 1438 1749 
+309 948 1138 1250 1439 1478 
+310 322 710 737 1283 1289 
+311 633 760 811 1198 1789 
+312 333 506 680 1309 1774 
+313 406 468 570 682 1221 
+314 363 367 1535 1746 1787 
+315 317 328 836 1326 1668 
+316 350 413 526 659 1410 
+317 336 449 941 1321 1746 
+318 955 1088 1206 1245 1511 
+319 326 362 400 860 1106 
+320 915 1017 1117 1194 1310 
+321 414 451 917 1249 1296 
+322 941 995 1417 1516 1572 
+323 431 434 464 818 1092 
+324 345 360 421 1491 1677 
+325 327 359 1322 1585 1596 
+326 355 372 746 1359 1476 
+327 628 730 875 1648 1771 
+328 443 1176 1318 1465 1733 
+329 392 1161 1198 1477 1560 
+330 391 935 1230 1518 1540 
+331 354 544 803 1552 1779 
+332 508 522 940 1346 1349 
+333 368 460 1719 1728 1787 
+334 386 462 488 521 1615 
+335 349 351 397 447 469 
+336 396 467 1264 1639 1753 
+337 379 427 440 507 1631 
+338 404 854 894 1029 1777 
+339 383 567 692 752 1393 
+340 398 524 1074 1305 1644 
+341 379 633 753 1222 1743 
+342 482 805 820 962 1694 
+343 503 714 720 849 1717 
+344 998 1230 1326 1554 1751 
+345 504 565 593 1099 1578 
+346 404 623 683 1250 1485 
+347 368 601 1020 1205 1748 
+348 361 716 1053 1400 1761 
+349 654 676 944 953 1603 
+350 418 948 1031 1047 1404 
+351 455 549 895 1434 1788 
+352 827 850 1176 1302 1705 
+353 388 572 1464 1513 1800 
+354 369 477 1064 1429 1513 
+355 373 481 1259 1489 1758 
+356 445 518 1101 1616 1638 
+357 519 618 762 1131 1213 
+358 365 387 765 1356 1383 
+359 446 464 1009 1291 1760 
+360 461 873 1007 1045 1535 
+361 450 536 1651 1726 1758 
+362 433 751 759 1416 1601 
+363 576 1274 1368 1594 1771 
+364 611 1185 1249 1459 1469 
+365 422 438 934 942 1309 
+366 617 787 975 1066 1541 
+367 547 906 1309 1314 1411 
+368 447 540 796 1696 1749 
+369 540 952 1004 1080 1732 
+370 403 420 772 1240 1783 
+371 377 382 1399 1450 1694 
+372 502 505 538 715 1080 
+373 484 589 591 1188 1459 
+374 767 815 973 1264 1291 
+375 401 1081 1236 1364 1758 
+376 430 488 1202 1480 1483 
+377 380 589 1484 1598 1690 
+378 1023 1107 1397 1645 1661 
+379 389 774 999 1016 1651 
+380 465 513 609 791 1677 
+381 398 494 1323 1368 1431 
+382 399 518 824 1382 1562 
+383 393 408 666 1129 1433 
+384 439 492 669 1401 1768 
+385 416 491 783 1421 1587 
+386 741 878 913 1338 1789 
+387 470 1011 1253 1361 1782 
+388 429 454 515 516 552 
+389 440 1398 1604 1609 1792 
+390 397 523 1022 1076 1743 
+391 487 564 1132 1350 1395 
+392 992 997 1390 1424 1531 
+393 541 667 782 1049 1776 
+394 768 958 1376 1394 1448 
+395 415 476 961 1109 1155 
+396 513 848 1085 1151 1469 
+397 424 678 1090 1313 1323 
+398 458 1140 1149 1605 1626 
+399 472 776 1334 1359 1500 
+400 498 652 770 1246 1524 
+401 624 1173 1547 1650 1729 
+402 442 706 1348 1451 1520 
+403 435 480 914 1179 1434 
+404 428 762 1182 1415 1791 
+405 411 605 670 1038 1204 
+406 636 733 909 1058 1574 
+407 614 619 1002 1045 1148 
+408 728 748 1136 1427 1523 
+409 410 442 1127 1300 1761 
+410 966 1478 1503 1637 1730 
+411 610 920 1706 1737 1752 
+412 485 658 775 900 1463 
+413 455 500 981 1003 1431 
+414 875 1082 1358 1744 1772 
+415 423 627 1037 1384 1613 
+416 539 679 1108 1254 1695 
+417 545 552 1230 1287 1293 
+418 621 640 897 1523 1718 
+419 496 592 648 1119 1314 
+420 494 625 1251 1683 1760 
+421 481 630 936 1303 1770 
+422 436 471 1016 1243 1471 
+423 691 969 1125 1366 1570 
+424 426 824 958 1053 1462 
+425 766 822 883 1280 1706 
+426 874 1472 1504 1621 1691 
+427 467 575 731 1046 1285 
+428 583 1451 1481 1708 1799 
+429 593 851 951 1384 1699 
+430 499 666 1256 1261 1590 
+431 543 786 1192 1566 1682 
+432 561 664 1122 1344 1564 
+433 1076 1274 1279 1501 1778 
+434 534 987 1064 1496 1785 
+435 473 905 1084 1281 1312 
+436 478 523 631 724 1482 
+437 520 532 923 1398 1492 
+438 563 1050 1260 1286 1771 
+439 453 493 792 809 1622 
+440 530 618 876 937 1360 
+441 460 915 1060 1401 1711 
+442 719 1112 1175 1184 1549 
+443 710 765 879 1173 1303 
+444 668 1170 1238 1349 1488 
+445 527 568 819 1594 1697 
+446 482 799 1140 1654 1668 
+447 969 1118 1254 1255 1682 
+448 720 1197 1448 1534 1768 
+449 490 595 665 704 1673 
+450 996 1130 1443 1626 1792 
+451 608 723 1143 1212 1447 
+452 638 711 1219 1518 1661 
+453 747 1132 1167 1505 1786 
+454 844 1033 1521 1768 1781 
+455 495 650 681 1039 1707 
+456 486 535 890 1366 1626 
+457 852 980 1276 1635 1655 
+458 602 909 934 1228 1588 
+459 574 615 1136 1368 1649 
+460 571 905 1188 1304 1728 
+461 794 1130 1253 1499 1590 
+462 808 951 984 1330 1780 
+463 800 977 1154 1172 1552 
+464 591 1094 1314 1652 1772 
+465 493 1020 1146 1200 1475 
+466 603 1220 1226 1239 1534 
+467 754 916 1178 1577 1620 
+468 729 917 987 1210 1674 
+469 643 1021 1496 1693 1770 
+470 722 960 1391 1399 1749 
+471 1144 1189 1278 1571 1777 
+472 657 1129 1232 1409 1745 
+473 557 691 1061 1217 1369 
+474 478 509 511 983 1284 
+475 864 889 1055 1122 1742 
+476 479 544 1001 1267 1406 
+477 489 1105 1287 1355 1542 
+478 1024 1129 1146 1362 1615 
+479 1151 1269 1383 1457 1536 
+480 625 1093 1139 1334 1641 
+481 727 1684 1686 1713 1788 
+482 537 584 1186 1197 1302 
+483 499 528 1300 1399 1485 
+484 776 1063 1148 1509 1587 
+485 1127 1420 1458 1671 1687 
+486 1350 1523 1616 1725 1790 
+487 674 1382 1393 1595 1600 
+488 579 645 974 1171 1400 
+489 548 656 942 1137 1637 
+490 663 1331 1488 1509 1583 
+491 514 668 1052 1367 1730 
+492 744 875 1092 1210 1625 
+493 911 912 1246 1511 1794 
+494 1208 1254 1525 1547 1699 
+495 588 1050 1139 1168 1622 
+496 566 968 1174 1286 1656 
+497 554 1096 1277 1459 1532 
+498 581 1054 1538 1581 1657 
+499 516 1056 1237 1518 1618 
+500 569 847 1158 1497 1676 
+501 512 626 1250 1428 1776 
+502 753 797 1410 1460 1697 
+503 680 779 1380 1427 1515 
+504 721 993 1066 1073 1572 
+505 806 957 1400 1474 1539 
+506 973 1301 1308 1524 1748 
+507 611 1032 1040 1103 1490 
+508 582 721 1003 1458 1719 
+509 562 588 728 975 1316 
+510 871 1012 1128 1157 1263 
+511 541 590 1070 1172 1568 
+512 880 1138 1388 1596 1612 
+513 651 1079 1275 1447 1592 
+514 517 553 1068 1244 1357 
+515 616 635 907 963 1061 
+516 536 1155 1207 1465 1593 
+517 825 891 1150 1556 1606 
+518 527 604 1418 1514 1587 
+519 1294 1311 1480 1678 1759 
+520 707 960 1051 1134 1208 
+521 901 1311 1446 1512 1635 
+522 712 904 1200 1344 1352 
+523 559 699 893 1028 1652 
+524 546 692 1576 1723 1797 
+525 551 1206 1503 1505 1772 
+526 531 628 856 1367 1732 
+527 646 781 820 1194 1388 
+528 649 927 1408 1485 1502 
+529 749 1499 1566 1666 1779 
+530 597 1225 1360 1433 1720 
+531 643 767 1226 1543 1573 
+532 533 755 909 1206 1286 
+533 557 843 1422 1460 1637 
+534 1040 1125 1396 1672 1694 
+535 560 580 1133 1338 1598 
+536 573 603 1014 1586 1607 
+537 756 1009 1233 1677 1718 
+538 863 1021 1472 1700 1747 
+539 718 950 1551 1624 1634 
+540 577 890 1008 1056 1120 
+541 555 616 989 1154 1571 
+542 567 1005 1365 1413 1612 
+543 811 1068 1095 1161 1616 
+544 997 1048 1142 1521 1657 
+545 771 1084 1262 1528 1550 
+546 551 1025 1178 1670 1723 
+547 556 918 1534 1738 1769 
+548 606 735 986 1318 1773 
+549 865 1087 1324 1376 1397 
+550 705 945 1143 1502 1721 
+551 1114 1190 1192 1659 1781 
+552 874 948 1196 1360 1693 
+553 576 1072 1101 1165 1672 
+554 578 1120 1538 1600 1767 
+555 599 914 1402 1571 1668 
+556 684 837 898 1550 1625 
+557 559 922 1194 1493 1627 
+558 1182 1195 1333 1372 1416 
+559 637 736 1256 1332 1546 
+560 665 984 1125 1223 1475 
+561 607 732 925 1089 1245 
+562 661 1173 1177 1303 1356 
+563 594 659 1272 1441 1779 
+564 641 650 961 993 1642 
+565 715 870 921 1525 1653 
+566 1118 1294 1385 1396 1605 
+567 754 979 1317 1621 1766 
+568 674 962 1096 1477 1529 
+569 801 920 1141 1290 1625 
+570 711 829 1083 1094 1556 
+571 1121 1324 1394 1482 1622 
+572 606 701 1027 1187 1725 
+573 632 655 700 734 1675 
+574 845 995 998 1224 1588 
+575 741 782 983 1017 1402 
+576 693 947 1351 1412 1702 
+577 669 1005 1048 1346 1670 
+578 689 690 1180 1742 1799 
+579 622 953 1073 1174 1574 
+580 612 758 1361 1487 1759 
+581 957 1038 1116 1481 1512 
+582 596 647 866 1195 1565 
+583 1113 1177 1257 1568 1606 
+584 1060 1097 1153 1535 1761 
+585 866 908 912 1184 1277 
+586 609 703 1063 1144 1618 
+587 1362 1397 1476 1510 1724 
+588 704 839 1138 1370 1696 
+589 631 695 804 1047 1388 
+590 911 1187 1391 1658 1753 
+591 794 902 1294 1335 1539 
+592 600 727 1135 1591 1654 
+593 971 1036 1067 1204 1578 
+594 624 733 997 1307 1630 
+595 598 621 953 992 1526 
+596 896 1275 1688 1733 1759 
+597 686 924 1211 1674 1702 
+598 634 887 979 1162 1717 
+599 763 902 992 1435 1794 
+600 775 1057 1088 1385 1426 
+601 958 1012 1248 1308 1357 
+602 651 713 1110 1134 1632 
+603 636 677 850 1067 1549 
+604 927 1312 1407 1410 1684 
+605 675 900 1270 1288 1575 
+606 910 1452 1472 1737 1794 
+607 1175 1454 1477 1487 1685 
+608 1070 1145 1163 1390 1633 
+609 967 981 1015 1069 1395 
+610 903 975 1185 1473 1627 
+611 619 623 698 825 963 
+612 1318 1438 1522 1673 1674 
+613 627 881 1116 1624 1642 
+614 735 955 1108 1551 1681 
+615 686 849 897 949 1280 
+616 629 939 1363 1585 1633 
+617 683 745 1095 1174 1773 
+618 662 688 854 995 1233 
+619 885 919 1096 1153 1783 
+620 694 816 1071 1128 1521 
+621 790 890 1224 1565 1623 
+622 644 742 1019 1273 1593 
+623 882 903 1337 1548 1757 
+624 640 772 1092 1095 1405 
+625 660 766 1553 1631 1798 
+626 709 1161 1482 1671 1675 
+627 881 1166 1251 1316 1462 
+628 966 1110 1319 1445 1454 
+629 761 990 1232 1340 1695 
+630 697 1064 1639 1660 1664 
+631 1020 1126 1263 1656 1783 
+632 1104 1159 1298 1483 1651 
+633 714 945 1042 1239 1354 
+634 1098 1282 1449 1576 1764 
+635 964 1151 1415 1564 1741 
+636 793 1602 1604 1676 1692 
+637 712 1157 1249 1445 1721 
+638 873 1034 1152 1572 1601 
+639 921 1023 1094 1171 1713 
+640 873 1103 1429 1468 1707 
+641 764 1149 1163 1378 1391 
+642 952 1235 1366 1735 1739 
+643 841 1342 1487 1778 1782 
+644 655 750 1215 1440 1729 
+645 671 931 1191 1330 1722 
+646 673 1035 1089 1114 1115 
+647 1060 1090 1262 1599 1639 
+648 726 864 874 1474 1714 
+649 783 1016 1065 1078 1111 
+650 803 957 1247 1524 1712 
+651 798 1247 1451 1536 1591 
+652 653 679 994 1069 1756 
+653 869 988 1030 1032 1424 
+654 673 685 1378 1716 1742 
+655 891 1025 1089 1158 1200 
+656 830 1009 1220 1227 1536 
+657 667 1071 1154 1426 1623 
+658 879 1240 1423 1489 1754 
+659 871 1347 1371 1568 1734 
+660 937 1102 1272 1293 1453 
+661 740 743 1160 1349 1461 
+662 924 1229 1233 1515 1574 
+663 892 962 977 1516 1770 
+664 967 1059 1088 1610 1647 
+665 1166 1167 1186 1238 1465 
+666 694 1669 1681 1683 1687 
+667 1142 1470 1498 1751 1766 
+668 819 844 965 986 1419 
+669 672 959 1425 1605 1648 
+670 1051 1087 1617 1663 1791 
+671 702 813 1428 1555 1690 
+672 769 779 1159 1299 1339 
+673 902 1141 1471 1593 1703 
+674 845 1001 1018 1225 1379 
+675 687 758 1203 1547 1623 
+676 708 757 1044 1093 1109 
+677 1150 1181 1315 1493 1722 
+678 862 1124 1162 1190 1258 
+679 964 1109 1221 1367 1373 
+680 693 883 972 1183 1417 
+681 1037 1201 1365 1402 1452 
+682 756 1004 1418 1796 1800 
+683 1019 1493 1517 1580 1665 
+684 908 1375 1495 1531 1582 
+685 1024 1147 1308 1320 1750 
+686 810 1261 1372 1471 1707 
+687 695 789 896 1244 1784 
+688 982 1059 1361 1667 1691 
+689 707 778 892 938 1508 
+690 1147 1237 1409 1440 1446 
+691 1018 1158 1270 1607 1786 
+692 716 746 812 929 1086 
+693 872 982 1187 1201 1421 
+694 834 1297 1479 1646 1690 
+695 702 1007 1170 1432 1752 
+696 867 1124 1415 1480 1559 
+697 760 853 879 983 1273 
+698 1077 1277 1444 1460 1558 
+699 717 738 1167 1284 1528 
+700 806 1028 1054 1760 1781 
+701 1051 1375 1666 1708 1715 
+702 784 787 846 1456 1790 
+703 888 1013 1115 1370 1522 
+704 749 757 835 1085 1548 
+705 1301 1420 1494 1686 1765 
+706 730 833 1322 1440 1486 
+707 817 877 1013 1317 1646 
+708 959 1287 1313 1577 1689 
+709 1336 1405 1412 1546 1789 
+710 885 1058 1226 1476 1554 
+711 796 1327 1342 1375 1566 
+712 1024 1319 1414 1455 1484 
+713 759 993 1102 1358 1603 
+714 1179 1212 1321 1403 1466 
+715 1074 1343 1355 1457 1653 
+716 1185 1298 1406 1560 1745 
+717 797 933 1152 1186 1436 
+718 771 971 1099 1369 1667 
+719 725 883 910 1013 1741 
+720 722 906 1628 1640 1756 
+721 926 977 1393 1511 1611 
+722 933 1198 1538 1756 1795 
+723 872 1075 1078 1282 1540 
+724 1263 1281 1404 1636 1793 
+725 1142 1282 1453 1640 1780 
+726 1079 1598 1634 1645 1701 
+727 989 1015 1315 1351 1727 
+728 777 785 1305 1453 1784 
+729 899 1133 1168 1224 1619 
+730 1099 1164 1401 1463 1494 
+731 1228 1508 1529 1647 1795 
+732 1324 1411 1557 1559 1602 
+733 893 919 1046 1709 1736 
+734 884 1091 1160 1343 1470 
+735 748 1030 1164 1170 1602 
+736 882 1300 1403 1514 1633 
+737 1000 1196 1248 1408 1438 
+738 817 899 914 1354 1494 
+739 863 886 1144 1332 1455 
+740 1135 1209 1387 1517 1570 
+741 1342 1345 1490 1618 1644 
+742 1014 1106 1325 1422 1498 
+743 857 1306 1331 1723 1736 
+744 869 947 1216 1609 1679 
+745 930 1085 1229 1711 1764 
+746 802 832 1004 1381 1581 
+747 1011 1337 1542 1557 1782 
+748 1031 1042 1223 1530 1609 
+749 1141 1503 1543 1556 1689 
+750 929 1495 1630 1682 1763 
+751 877 999 1086 1288 1676 
+752 1025 1153 1182 1345 1697 
+753 840 1027 1617 1645 1686 
+754 798 848 929 1043 1235 
+755 908 1037 1434 1673 1700 
+756 859 944 1255 1443 1691 
+757 821 1111 1127 1190 1610 
+758 793 1358 1418 1589 1736 
+759 807 907 1222 1245 1435 
+760 1039 1116 1650 1738 1786 
+761 795 1348 1481 1597 1662 
+762 1107 1251 1267 1432 1688 
+763 1072 1132 1211 1479 1614 
+764 904 998 1137 1298 1500 
+765 789 988 1115 1558 1699 
+766 832 938 1709 1711 1785 
+767 1112 1279 1464 1720 1769 
+768 838 917 1180 1563 1698 
+769 1006 1193 1492 1580 1731 
+770 916 1169 1363 1442 1775 
+771 954 1059 1292 1371 1620 
+772 773 888 1252 1553 1599 
+773 965 1098 1381 1470 1544 
+774 1123 1202 1297 1348 1701 
+775 1008 1097 1430 1444 1747 
+776 788 812 1169 1192 1423 
+777 828 840 1029 1114 1329 
+778 785 1068 1379 1724 1745 
+779 946 1117 1302 1345 1750 
+780 815 1157 1159 1255 1431 
+781 897 972 1164 1290 1643 
+782 956 1131 1271 1278 1340 
+783 1202 1328 1491 1612 1688 
+784 1018 1026 1049 1189 1390 
+785 1007 1305 1441 1448 1580 
+786 1328 1395 1603 1665 1774 
+787 1207 1234 1353 1575 1753 
+788 905 991 1022 1215 1258 
+789 853 1180 1584 1731 1754 
+790 821 822 858 1579 1729 
+791 830 901 1002 1034 1730 
+792 799 913 1181 1531 1638 
+793 1563 1567 1579 1658 1752 
+794 877 956 1519 1527 1569 
+795 842 1041 1052 1222 1320 
+796 805 919 1055 1201 1414 
+797 985 1216 1295 1594 1762 
+798 880 970 1376 1678 1740 
+799 838 1584 1644 1720 1775 
+800 836 1145 1373 1557 1569 
+801 1033 1044 1289 1299 1396 
+802 876 933 1079 1119 1641 
+803 1234 1307 1501 1586 1667 
+804 903 1377 1492 1562 1767 
+805 814 1589 1620 1679 1704 
+806 861 932 1163 1573 1680 
+807 980 1392 1516 1629 1663 
+808 974 1468 1532 1541 1665 
+809 1199 1319 1339 1450 1704 
+810 855 923 1075 1165 1793 
+811 961 964 1000 1077 1562 
+812 1026 1183 1329 1537 1662 
+813 925 1149 1606 1705 1727 
+814 889 895 943 1543 1715 
+815 928 1292 1333 1429 1520 
+816 922 991 1377 1421 1755 
+817 1043 1083 1525 1638 1744 
+818 1058 1268 1551 1615 1643 
+819 1121 1266 1304 1407 1777 
+820 852 1075 1389 1648 1735 
+821 907 1212 1555 1669 1755 
+822 931 1499 1567 1641 1726 
+823 999 1041 1242 1717 1757 
+824 842 1148 1284 1381 1437 
+825 831 939 1461 1526 1614 
+826 918 968 1091 1461 1619 
+827 862 1062 1363 1380 1441 
+828 1101 1123 1608 1703 1739 
+829 949 1126 1417 1473 1497 
+830 895 1265 1387 1504 1582 
+831 930 1364 1436 1678 1692 
+832 954 1003 1028 1306 1500 
+833 891 1108 1156 1710 1738 
+834 936 1279 1504 1509 1552 
+835 1083 1242 1456 1596 1597 
+836 1055 1409 1592 1710 1796 
+837 1034 1259 1466 1589 1669 
+838 1106 1335 1542 1655 1713 
+839 918 974 1336 1446 1467 
+840 865 1436 1501 1519 1611 
+841 898 1091 1100 1614 1660 
+842 884 978 1537 1586 1628 
+843 1035 1252 1408 1437 1655 
+844 928 985 1062 1532 1595 
+845 950 969 1321 1491 1632 
+846 886 1121 1386 1483 1629 
+847 1019 1231 1442 1685 1712 
+848 946 955 1467 1617 1740 
+849 932 970 1241 1325 1698 
+850 1100 1191 1555 1592 1597 
+851 1011 1169 1283 1510 1636 
+852 943 1243 1265 1582 1740 
+853 1196 1210 1544 1608 1741 
+854 860 980 1005 1039 1384 
+855 1341 1352 1419 1664 1762 
+856 1049 1179 1335 1425 1581 
+857 1006 1412 1489 1527 1798 
+858 1386 1411 1515 1570 1578 
+859 978 1033 1156 1241 1430 
+860 868 943 1057 1209 1430 
+861 978 1110 1716 1774 1797 
+862 893 1077 1209 1554 1659 
+863 935 1065 1131 1171 1701 
+864 990 1117 1559 1661 1788 
+865 1231 1573 1583 1653 1695 
+866 1231 1268 1398 1530 1797 
+867 926 1283 1392 1449 1632 
+868 1065 1271 1295 1452 1662 
+869 935 1227 1232 1405 1724 
+870 1081 1107 1479 1579 1796 
+8 10 28 131 554 1062 
+43 48 71 887 1000 1044 
+40 41 72 340 1495 1727 
+5 17 23 196 972 1631 
+44 58 70 858 1274 1746 
+30 32 33 69 79 225 
+14 62 146 1066 1122 1725 
+7 8 283 285 410 1576 
+3 22 88 532 1683 1714 
+16 17 19 67 174 1273 
+47 48 116 162 172 1323 
+22 24 254 400 851 949 
+2 3 26 305 480 612 
+88 90 142 434 1023 1353 
+100 269 326 359 1165 1443 
+45 53 86 313 358 1124 
+1 6 11 20 731 1719 
+21 84 99 542 1006 1766 
+6 9 64 378 1205 1236 
+20 42 59 562 1558 1704 
+4 5 10 234 1102 1647 
+78 367 1072 1093 1280 1463 
+76 77 184 215 670 1423 
+81 83 1317 1331 1420 1799 
+25 74 89 96 345 1145 
+101 115 133 826 829 1334 
+12 13 27 32 742 834 
+39 92 129 205 476 814 
diff --git a/gr-fec/python/fec/qa_fecapi_ldpc.py 
b/gr-fec/python/fec/qa_fecapi_ldpc.py
new file mode 100644
index 0000000..e731197
--- /dev/null
+++ b/gr-fec/python/fec/qa_fecapi_ldpc.py
@@ -0,0 +1,239 @@
+#!/usr/bin/env python
+#
+# Copyright 2014 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+from gnuradio import gr, gr_unittest
+import fec_swig as fec
+from _qa_helper import _qa_helper
+
+from extended_encoder import extended_encoder
+from extended_decoder import extended_decoder
+
+class test_fecapi_ldpc(gr_unittest.TestCase):
+
+    def setUp(self):
+        self.tb = gr.top_block()
+
+    def tearDown(self):
+        self.tb = None
+
+    def test_parallelism0_00(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = fec.ldpc_R_U_encoder_make(LDPC_matrix_object)
+        dec = fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)
+        threading = None
+        self.test = _qa_helper(10*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism0_01(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = fec.ldpc_R_U_encoder_make(LDPC_matrix_object)
+        dec = fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)
+        threading = 'ordinary'
+        self.test = _qa_helper(10*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism0_02(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = fec.ldpc_R_U_encoder_make(LDPC_matrix_object)
+        dec = fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)
+        threading = 'capillary'
+        self.test = _qa_helper(10*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+
+    def test_parallelism1_00(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,1))
+        dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,1))
+        threading = None
+        self.test = _qa_helper(10*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism1_01(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,1))
+        dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,1))
+        threading = 'ordinary'
+        self.test = _qa_helper(10*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism1_02(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,1))
+        dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,1))
+        threading = 'capillary'
+        self.test = _qa_helper(10*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism1_03(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 10
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,dims))
+        dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,dims))
+        threading = 'ordinary'
+        self.test = _qa_helper(dims*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism1_04(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 16
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,dims))
+        dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,dims))
+        threading = 'capillary'
+        self.test = _qa_helper(dims*k, enc, dec, threading)
+        self.tb.connect(self.test)
+        self.tb.run()
+        
+        data_in = self.test.snk_input.data()
+        data_out =self.test.snk_output.data()
+
+        self.assertEqual(data_in, data_out)
+
+    def test_parallelism1_05(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 5
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,dims))
+        # dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,dims))
+        threading = 'capillary'
+        self.assertRaises(AttributeError, lambda: extended_encoder(enc, 
threading=threading, puncpat="11"))
+
+    def test_parallelism1_06(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 5
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()
+        # enc = map((lambda a: fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), 
range(0,dims))
+        dec = map((lambda a: 
fec.ldpc_bit_flip_decoder.make(LDPC_matrix_object)), range(0,dims))
+        threading = 'capillary'
+        self.assertRaises(AttributeError, lambda: extended_decoder(dec, 
threading=threading, puncpat="11"))
+
+    def test_parallelism2_00(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 5
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()        
+        dims1 = 16
+        dims2 = 16        
+        enc = map((lambda b: map((lambda a: 
fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), range(0,dims1))), 
range(0,dims2))
+        threading = 'capillary'
+
+        self.assertRaises(AttributeError, lambda: extended_encoder(enc, 
threading=threading, puncpat="11"))
+
+    def test_parallelism2_00(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 5
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()        
+        dims1 = 16
+        dims2 = 16        
+        enc = map((lambda b: map((lambda a: 
fec.ldpc_R_U_encoder_make(LDPC_matrix_object)), range(0,dims1))), 
range(0,dims2))
+        threading = 'capillary'
+
+        self.assertRaises(AttributeError, lambda: extended_encoder(enc, 
threading=threading, puncpat="11"))
+
+    def test_parallelism2_01(self):
+        filename = "LDPC/n_0100_k_0027_gap_04.alist"
+        gap = 4
+        dims = 5
+        LDPC_matrix_object = fec.ldpc_par_chk_mtrx(filename, gap)
+        k = LDPC_matrix_object.k()  
+        dims1 = 16
+        dims2 = 16        
+        dec = map((lambda b: map((lambda a: 
fec.ldpc_bit_flip_decoder_make(LDPC_matrix_object)), range(0,dims1))), 
range(0,dims2))
+        threading = 'capillary'
+
+        self.assertRaises(AttributeError, lambda: extended_decoder(dec, 
threading=threading, puncpat="11"))
+
+if __name__ == '__main__':
+    gr_unittest.run(test_fecapi_ldpc, "test_fecapi_ldpc.xml")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]