From 80bdad45dc672aa52850a76623f605fccb880d99 Mon Sep 17 00:00:00 2001 From: Steven Franke Date: Tue, 5 May 2020 14:26:30 -0500 Subject: [PATCH] More housekeeping. --- lib/ft8/bpdecode174_91.f90 | 2 +- lib/ft8/decode174_91.f90 | 2 +- lib/ft8/ldpc_174_91_c_parity.f90 | 351 +++++++++++---------- lib/ft8/ldpc_174_91_c_reordered_parity.f90 | 270 ---------------- 4 files changed, 178 insertions(+), 447 deletions(-) delete mode 100644 lib/ft8/ldpc_174_91_c_reordered_parity.f90 diff --git a/lib/ft8/bpdecode174_91.f90 b/lib/ft8/bpdecode174_91.f90 index 0a3cbb0d8..a7c6f95b6 100644 --- a/lib/ft8/bpdecode174_91.f90 +++ b/lib/ft8/bpdecode174_91.f90 @@ -19,7 +19,7 @@ real zn(N) real llr(N) real Tmn -include "ldpc_174_91_c_reordered_parity.f90" +include "ldpc_174_91_c_parity.f90" decoded=0 toc=0 diff --git a/lib/ft8/decode174_91.f90 b/lib/ft8/decode174_91.f90 index 6cc4ae807..134864d9c 100644 --- a/lib/ft8/decode174_91.f90 +++ b/lib/ft8/decode174_91.f90 @@ -22,7 +22,7 @@ subroutine decode174_91(llr,Keff,maxosd,norder,apmask,message91,cw,ntype,nharder real llr(N) real Tmn - include "ldpc_174_91_c_reordered_parity.f90" + include "ldpc_174_91_c_parity.f90" maxiterations=30 nosd=0 diff --git a/lib/ft8/ldpc_174_91_c_parity.f90 b/lib/ft8/ldpc_174_91_c_parity.f90 index 6210ee267..2309ad8e8 100644 --- a/lib/ft8/ldpc_174_91_c_parity.f90 +++ b/lib/ft8/ldpc_174_91_c_parity.f90 @@ -1,88 +1,5 @@ -data Mn/ & - 1, 24, 66, & - 2, 5, 70, & - 3, 31, 65, & - 4, 49, 58, & - 6, 60, 67, & - 7, 32, 75, & - 8, 48, 82, & - 9, 35, 41, & - 10, 39, 62, & - 11, 14, 61, & - 12, 71, 74, & - 13, 23, 78, & - 15, 16, 79, & - 17, 54, 63, & - 18, 50, 57, & - 19, 30, 47, & - 20, 64, 80, & - 21, 28, 69, & - 22, 25, 43, & - 26, 34, 72, & - 27, 36, 37, & - 29, 40, 44, & - 33, 52, 53, & - 38, 55, 83, & - 42, 51, 59, & - 45, 76, 81, & - 46, 68, 77, & - 56, 67, 73, & - 1, 4, 5, & - 2, 47, 51, & - 3, 46, 82, & - 6, 24, 76, & - 7, 9, 16, & - 8, 10, 78, & - 11, 35, 55, & - 12, 38, 64, & - 13, 22, 37, & - 14, 15, 58, & - 17, 50, 53, & - 18, 29, 56, & - 19, 26, 57, & - 20, 39, 77, & - 21, 36, 63, & - 23, 54, 74, & - 25, 69, 73, & - 27, 33, 65, & - 28, 44, 79, & - 30, 43, 52, & - 31, 45, 61, & - 32, 48, 71, & - 34, 60, 62, & - 40, 41, 70, & - 42, 66, 68, & - 49, 75, 83, & - 59, 72, 80, & - 36, 64, 81, & - 1, 65, 74, & - 2, 8, 81, & - 3, 26, 79, & - 4, 22, 72, & - 5, 38, 50, & - 6, 9, 52, & - 7, 18, 77, & - 10, 28, 55, & - 11, 56, 59, & - 12, 67, 68, & - 13, 29, 47, & - 14, 39, 54, & - 15, 60, 70, & - 16, 37, 66, & - 17, 25, 82, & - 19, 21, 71, & - 20, 30, 31, & - 23, 75, 80, & - 24, 69, 75, & - 27, 32, 62, & - 33, 59, 76, & - 34, 53, 61, & - 35, 46, 47, & - 40, 43, 83, & - 41, 42, 63, & - 20, 44, 48, & +data Mn/ & 16, 45, 73, & - 42, 49, 57, & 25, 51, 62, & 33, 58, 78, & 1, 44, 45, & @@ -172,98 +89,182 @@ data Mn/ & 14, 66, 72, & 22, 60, 74, & 35, 39, 79, & - 1, 46, 64/ + 1, 46, 64, & + 1, 24, 66, & + 2, 5, 70, & + 3, 31, 65, & + 4, 49, 58, & + 1, 4, 5, & + 6, 60, 67, & + 7, 32, 75, & + 8, 48, 82, & + 9, 35, 41, & + 10, 39, 62, & + 11, 14, 61, & + 12, 71, 74, & + 13, 23, 78, & + 11, 35, 55, & + 15, 16, 79, & + 7, 9, 16, & + 17, 54, 63, & + 18, 50, 57, & + 19, 30, 47, & + 20, 64, 80, & + 21, 28, 69, & + 22, 25, 43, & + 13, 22, 37, & + 2, 47, 51, & + 23, 54, 74, & + 26, 34, 72, & + 27, 36, 37, & + 21, 36, 63, & + 29, 40, 44, & + 19, 26, 57, & + 3, 46, 82, & + 14, 15, 58, & + 33, 52, 53, & + 30, 43, 52, & + 6, 9, 52, & + 27, 33, 65, & + 25, 69, 73, & + 38, 55, 83, & + 20, 39, 77, & + 18, 29, 56, & + 32, 48, 71, & + 42, 51, 59, & + 28, 44, 79, & + 34, 60, 62, & + 31, 45, 61, & + 46, 68, 77, & + 6, 24, 76, & + 8, 10, 78, & + 40, 41, 70, & + 17, 50, 53, & + 42, 66, 68, & + 4, 22, 72, & + 36, 64, 81, & + 13, 29, 47, & + 2, 8, 81, & + 56, 67, 73, & + 5, 38, 50, & + 12, 38, 64, & + 59, 72, 80, & + 3, 26, 79, & + 45, 76, 81, & + 1, 65, 74, & + 7, 18, 77, & + 11, 56, 59, & + 14, 39, 54, & + 16, 37, 66, & + 10, 28, 55, & + 15, 60, 70, & + 17, 25, 82, & + 20, 30, 31, & + 12, 67, 68, & + 23, 75, 80, & + 27, 32, 62, & + 24, 69, 75, & + 19, 21, 71, & + 34, 53, 61, & + 35, 46, 47, & + 33, 59, 76, & + 40, 43, 83, & + 41, 42, 63, & + 49, 75, 83, & + 20, 44, 48, & + 42, 49, 57/ -data Nm/ & - 1, 29, 57, 87, 114, 142, 174, & - 2, 30, 58, 88, 115, 143, 0, & - 3, 31, 59, 89, 107, 144, 0, & - 4, 29, 60, 90, 116, 145, 0, & - 2, 29, 61, 91, 108, 146, 166, & - 5, 32, 62, 89, 115, 147, 0, & - 6, 33, 63, 88, 117, 148, 161, & - 7, 34, 58, 92, 118, 149, 0, & - 8, 33, 62, 93, 119, 150, 0, & - 9, 34, 64, 94, 120, 150, 170, & - 10, 35, 65, 95, 121, 151, 0, & - 11, 36, 66, 96, 122, 152, 0, & - 12, 37, 67, 91, 123, 153, 165, & - 10, 38, 68, 97, 124, 154, 171, & - 13, 38, 69, 98, 125, 142, 0, & - 13, 33, 70, 83, 116, 155, 0, & - 14, 39, 71, 99, 126, 156, 0, & - 15, 40, 63, 100, 120, 157, 164, & - 16, 41, 72, 94, 127, 158, 0, & - 17, 42, 73, 82, 128, 138, 147, & - 18, 43, 72, 91, 129, 154, 0, & - 19, 37, 60, 101, 119, 159, 172, & - 12, 44, 74, 102, 121, 160, 0, & - 1, 32, 75, 103, 130, 153, 0, & - 19, 45, 71, 85, 131, 157, 0, & - 20, 41, 59, 104, 128, 161, 166, & - 21, 46, 76, 105, 130, 141, 0, & - 18, 47, 64, 99, 122, 145, 0, & - 22, 40, 67, 106, 126, 162, 0, & - 16, 48, 73, 102, 118, 142, 156, & - 3, 49, 73, 103, 119, 146, 0, & - 6, 50, 76, 97, 114, 162, 0, & - 23, 46, 77, 86, 127, 163, 0, & - 20, 51, 78, 102, 129, 164, 0, & - 8, 35, 79, 90, 132, 141, 173, & - 21, 43, 56, 95, 133, 144, 0, & - 21, 37, 70, 96, 134, 147, 0, & - 24, 36, 61, 107, 135, 159, 0, & - 9, 42, 68, 108, 136, 152, 173, & - 22, 52, 80, 103, 129, 148, 163, & - 8, 52, 81, 104, 137, 160, 0, & - 25, 53, 81, 84, 118, 165, 0, & - 19, 48, 80, 97, 113, 166, 0, & - 22, 47, 82, 87, 112, 151, 0, & - 26, 49, 83, 87, 135, 140, 169, & - 27, 31, 79, 109, 134, 139, 174, & - 16, 30, 67, 79, 135, 167, 0, & - 7, 50, 82, 90, 133, 164, 0, & - 4, 54, 84, 106, 138, 150, 0, & - 15, 39, 61, 109, 124, 160, 0, & - 25, 30, 85, 110, 124, 144, 145, & - 23, 48, 62, 110, 123, 139, 0, & - 23, 39, 78, 101, 132, 138, 0, & - 14, 44, 68, 89, 116, 168, 0, & - 24, 35, 64, 111, 131, 153, 168, & - 28, 40, 65, 92, 137, 146, 0, & - 15, 41, 84, 105, 136, 151, 0, & - 4, 38, 86, 96, 131, 161, 0, & - 25, 55, 65, 77, 114, 152, 0, & - 5, 51, 69, 95, 126, 149, 172, & - 10, 49, 78, 88, 122, 158, 0, & - 9, 51, 76, 85, 137, 169, 0, & - 14, 43, 81, 98, 139, 170, 0, & - 17, 36, 56, 93, 127, 165, 174, & - 3, 46, 57, 106, 117, 154, 0, & - 1, 53, 70, 94, 132, 171, 0, & - 5, 28, 66, 112, 117, 170, 0, & - 27, 53, 66, 113, 133, 143, 169, & - 18, 45, 75, 93, 136, 149, 167, & - 2, 52, 69, 105, 140, 168, 0, & - 11, 50, 72, 111, 115, 155, 0, & - 20, 55, 60, 111, 112, 167, 171, & - 28, 45, 83, 109, 128, 163, 0, & - 11, 44, 57, 100, 110, 172, 0, & - 6, 54, 74, 75, 134, 140, 0, & - 26, 32, 77, 104, 120, 156, 0, & - 27, 42, 63, 99, 130, 159, 0, & - 12, 34, 86, 107, 113, 155, 0, & - 13, 47, 59, 92, 123, 173, 0, & - 17, 55, 74, 98, 141, 143, 157, & - 26, 56, 58, 101, 125, 162, 0, & - 7, 31, 71, 108, 121, 148, 0, & - 24, 54, 80, 100, 125, 158, 0/ +data Nm/ & + 4, 31, 59, 91, 92, 96, 153, & + 5, 32, 60, 93, 115, 146, 0, & + 6, 24, 61, 94, 122, 151, 0, & + 7, 33, 62, 95, 96, 143, 0, & + 8, 25, 63, 83, 93, 96, 148, & + 6, 32, 64, 97, 126, 138, 0, & + 5, 34, 65, 78, 98, 107, 154, & + 9, 35, 66, 99, 139, 146, 0, & + 10, 36, 67, 100, 107, 126, 0, & + 11, 37, 67, 87, 101, 139, 158, & + 12, 38, 68, 102, 105, 155, 0, & + 13, 39, 69, 103, 149, 162, 0, & + 8, 40, 70, 82, 104, 114, 145, & + 14, 41, 71, 88, 102, 123, 156, & + 15, 42, 59, 106, 123, 159, 0, & + 1, 33, 72, 106, 107, 157, 0, & + 16, 43, 73, 108, 141, 160, 0, & + 17, 37, 74, 81, 109, 131, 154, & + 11, 44, 75, 110, 121, 166, 0, & + 45, 55, 64, 111, 130, 161, 173, & + 8, 46, 71, 112, 119, 166, 0, & + 18, 36, 76, 89, 113, 114, 143, & + 19, 38, 77, 104, 116, 163, 0, & + 20, 47, 70, 92, 138, 165, 0, & + 2, 48, 74, 113, 128, 160, 0, & + 21, 45, 78, 83, 117, 121, 151, & + 22, 47, 58, 118, 127, 164, 0, & + 16, 39, 62, 112, 134, 158, 0, & + 23, 43, 79, 120, 131, 145, 0, & + 19, 35, 59, 73, 110, 125, 161, & + 20, 36, 63, 94, 136, 161, 0, & + 14, 31, 79, 98, 132, 164, 0, & + 3, 44, 80, 124, 127, 169, 0, & + 19, 46, 81, 117, 135, 167, 0, & + 7, 49, 58, 90, 100, 105, 168, & + 12, 50, 61, 118, 119, 144, 0, & + 13, 51, 64, 114, 118, 157, 0, & + 24, 52, 76, 129, 148, 149, 0, & + 25, 53, 69, 90, 101, 130, 156, & + 20, 46, 65, 80, 120, 140, 170, & + 21, 54, 77, 100, 140, 171, 0, & + 35, 82, 133, 142, 171, 174, 0, & + 14, 30, 83, 113, 125, 170, 0, & + 4, 29, 68, 120, 134, 173, 0, & + 1, 4, 52, 57, 86, 136, 152, & + 26, 51, 56, 91, 122, 137, 168, & + 52, 84, 110, 115, 145, 168, 0, & + 7, 50, 81, 99, 132, 173, 0, & + 23, 55, 67, 95, 172, 174, 0, & + 26, 41, 77, 109, 141, 148, 0, & + 2, 27, 41, 61, 62, 115, 133, & + 27, 40, 56, 124, 125, 126, 0, & + 18, 49, 55, 124, 141, 167, 0, & + 6, 33, 85, 108, 116, 156, 0, & + 28, 48, 70, 85, 105, 129, 158, & + 9, 54, 63, 131, 147, 155, 0, & + 22, 53, 68, 109, 121, 174, 0, & + 3, 13, 48, 78, 95, 123, 0, & + 31, 69, 133, 150, 155, 169, 0, & + 12, 43, 66, 89, 97, 135, 159, & + 5, 39, 75, 102, 136, 167, 0, & + 2, 54, 86, 101, 135, 164, 0, & + 15, 56, 87, 108, 119, 171, 0, & + 10, 44, 82, 91, 111, 144, 149, & + 23, 34, 71, 94, 127, 153, 0, & + 11, 49, 88, 92, 142, 157, 0, & + 29, 34, 87, 97, 147, 162, 0, & + 30, 50, 60, 86, 137, 142, 162, & + 10, 53, 66, 84, 112, 128, 165, & + 22, 57, 85, 93, 140, 159, 0, & + 28, 32, 72, 103, 132, 166, 0, & + 28, 29, 84, 88, 117, 143, 150, & + 1, 26, 45, 80, 128, 147, 0, & + 17, 27, 89, 103, 116, 153, 0, & + 51, 57, 98, 163, 165, 172, 0, & + 21, 37, 73, 138, 152, 169, 0, & + 16, 47, 76, 130, 137, 154, 0, & + 3, 24, 30, 72, 104, 139, 0, & + 9, 40, 90, 106, 134, 151, 0, & + 15, 58, 60, 74, 111, 150, 163, & + 18, 42, 79, 144, 146, 152, 0, & + 25, 38, 65, 99, 122, 160, 0, & + 17, 42, 75, 129, 170, 172, 0/ -data nrw/ & -7,6,6,6,7,6,7,6,6,7,6,6,7,7,6,6,6, & -7,6,7,6,7,6,6,6,7,6,6,6,7,6,6,6,6, & -7,6,6,6,7,7,6,6,6,6,7,7,6,6,6,6,7, & -6,6,6,7,6,6,6,6,7,6,6,6,7,6,6,6,7, & -7,6,6,7,6,6,6,6,6,6,6,7,6,6,6/ +data nrw/ & +7,6,6,6,7,6,7,6,6,7,6,6,7,7,6,6, & +6,7,6,7,6,7,6,6,6,7,6,6,6,7,6,6, & +6,6,7,6,6,6,7,7,6,6,6,6,7,7,6,6, & +6,6,7,6,6,6,7,6,6,6,6,7,6,6,6,7, & +6,6,6,7,7,6,6,7,6,6,6,6,6,6,6,7, & +6,6,6/ ncw=3 diff --git a/lib/ft8/ldpc_174_91_c_reordered_parity.f90 b/lib/ft8/ldpc_174_91_c_reordered_parity.f90 deleted file mode 100644 index 2309ad8e8..000000000 --- a/lib/ft8/ldpc_174_91_c_reordered_parity.f90 +++ /dev/null @@ -1,270 +0,0 @@ -data Mn/ & - 16, 45, 73, & - 25, 51, 62, & - 33, 58, 78, & - 1, 44, 45, & - 2, 7, 61, & - 3, 6, 54, & - 4, 35, 48, & - 5, 13, 21, & - 8, 56, 79, & - 9, 64, 69, & - 10, 19, 66, & - 11, 36, 60, & - 12, 37, 58, & - 14, 32, 43, & - 15, 63, 80, & - 17, 28, 77, & - 18, 74, 83, & - 22, 53, 81, & - 23, 30, 34, & - 24, 31, 40, & - 26, 41, 76, & - 27, 57, 70, & - 29, 49, 65, & - 3, 38, 78, & - 5, 39, 82, & - 46, 50, 73, & - 51, 52, 74, & - 55, 71, 72, & - 44, 67, 72, & - 43, 68, 78, & - 1, 32, 59, & - 2, 6, 71, & - 4, 16, 54, & - 7, 65, 67, & - 8, 30, 42, & - 9, 22, 31, & - 10, 18, 76, & - 11, 23, 82, & - 12, 28, 61, & - 13, 52, 79, & - 14, 50, 51, & - 15, 81, 83, & - 17, 29, 60, & - 19, 33, 64, & - 20, 26, 73, & - 21, 34, 40, & - 24, 27, 77, & - 25, 55, 58, & - 35, 53, 66, & - 36, 48, 68, & - 37, 46, 75, & - 38, 45, 47, & - 39, 57, 69, & - 41, 56, 62, & - 20, 49, 53, & - 46, 52, 63, & - 45, 70, 75, & - 27, 35, 80, & - 1, 15, 30, & - 2, 68, 80, & - 3, 36, 51, & - 4, 28, 51, & - 5, 31, 56, & - 6, 20, 37, & - 7, 40, 82, & - 8, 60, 69, & - 9, 10, 49, & - 11, 44, 57, & - 12, 39, 59, & - 13, 24, 55, & - 14, 21, 65, & - 16, 71, 78, & - 17, 30, 76, & - 18, 25, 80, & - 19, 61, 83, & - 22, 38, 77, & - 23, 41, 50, & - 7, 26, 58, & - 29, 32, 81, & - 33, 40, 73, & - 18, 34, 48, & - 13, 42, 64, & - 5, 26, 43, & - 47, 69, 72, & - 54, 55, 70, & - 45, 62, 68, & - 10, 63, 67, & - 14, 66, 72, & - 22, 60, 74, & - 35, 39, 79, & - 1, 46, 64, & - 1, 24, 66, & - 2, 5, 70, & - 3, 31, 65, & - 4, 49, 58, & - 1, 4, 5, & - 6, 60, 67, & - 7, 32, 75, & - 8, 48, 82, & - 9, 35, 41, & - 10, 39, 62, & - 11, 14, 61, & - 12, 71, 74, & - 13, 23, 78, & - 11, 35, 55, & - 15, 16, 79, & - 7, 9, 16, & - 17, 54, 63, & - 18, 50, 57, & - 19, 30, 47, & - 20, 64, 80, & - 21, 28, 69, & - 22, 25, 43, & - 13, 22, 37, & - 2, 47, 51, & - 23, 54, 74, & - 26, 34, 72, & - 27, 36, 37, & - 21, 36, 63, & - 29, 40, 44, & - 19, 26, 57, & - 3, 46, 82, & - 14, 15, 58, & - 33, 52, 53, & - 30, 43, 52, & - 6, 9, 52, & - 27, 33, 65, & - 25, 69, 73, & - 38, 55, 83, & - 20, 39, 77, & - 18, 29, 56, & - 32, 48, 71, & - 42, 51, 59, & - 28, 44, 79, & - 34, 60, 62, & - 31, 45, 61, & - 46, 68, 77, & - 6, 24, 76, & - 8, 10, 78, & - 40, 41, 70, & - 17, 50, 53, & - 42, 66, 68, & - 4, 22, 72, & - 36, 64, 81, & - 13, 29, 47, & - 2, 8, 81, & - 56, 67, 73, & - 5, 38, 50, & - 12, 38, 64, & - 59, 72, 80, & - 3, 26, 79, & - 45, 76, 81, & - 1, 65, 74, & - 7, 18, 77, & - 11, 56, 59, & - 14, 39, 54, & - 16, 37, 66, & - 10, 28, 55, & - 15, 60, 70, & - 17, 25, 82, & - 20, 30, 31, & - 12, 67, 68, & - 23, 75, 80, & - 27, 32, 62, & - 24, 69, 75, & - 19, 21, 71, & - 34, 53, 61, & - 35, 46, 47, & - 33, 59, 76, & - 40, 43, 83, & - 41, 42, 63, & - 49, 75, 83, & - 20, 44, 48, & - 42, 49, 57/ - -data Nm/ & - 4, 31, 59, 91, 92, 96, 153, & - 5, 32, 60, 93, 115, 146, 0, & - 6, 24, 61, 94, 122, 151, 0, & - 7, 33, 62, 95, 96, 143, 0, & - 8, 25, 63, 83, 93, 96, 148, & - 6, 32, 64, 97, 126, 138, 0, & - 5, 34, 65, 78, 98, 107, 154, & - 9, 35, 66, 99, 139, 146, 0, & - 10, 36, 67, 100, 107, 126, 0, & - 11, 37, 67, 87, 101, 139, 158, & - 12, 38, 68, 102, 105, 155, 0, & - 13, 39, 69, 103, 149, 162, 0, & - 8, 40, 70, 82, 104, 114, 145, & - 14, 41, 71, 88, 102, 123, 156, & - 15, 42, 59, 106, 123, 159, 0, & - 1, 33, 72, 106, 107, 157, 0, & - 16, 43, 73, 108, 141, 160, 0, & - 17, 37, 74, 81, 109, 131, 154, & - 11, 44, 75, 110, 121, 166, 0, & - 45, 55, 64, 111, 130, 161, 173, & - 8, 46, 71, 112, 119, 166, 0, & - 18, 36, 76, 89, 113, 114, 143, & - 19, 38, 77, 104, 116, 163, 0, & - 20, 47, 70, 92, 138, 165, 0, & - 2, 48, 74, 113, 128, 160, 0, & - 21, 45, 78, 83, 117, 121, 151, & - 22, 47, 58, 118, 127, 164, 0, & - 16, 39, 62, 112, 134, 158, 0, & - 23, 43, 79, 120, 131, 145, 0, & - 19, 35, 59, 73, 110, 125, 161, & - 20, 36, 63, 94, 136, 161, 0, & - 14, 31, 79, 98, 132, 164, 0, & - 3, 44, 80, 124, 127, 169, 0, & - 19, 46, 81, 117, 135, 167, 0, & - 7, 49, 58, 90, 100, 105, 168, & - 12, 50, 61, 118, 119, 144, 0, & - 13, 51, 64, 114, 118, 157, 0, & - 24, 52, 76, 129, 148, 149, 0, & - 25, 53, 69, 90, 101, 130, 156, & - 20, 46, 65, 80, 120, 140, 170, & - 21, 54, 77, 100, 140, 171, 0, & - 35, 82, 133, 142, 171, 174, 0, & - 14, 30, 83, 113, 125, 170, 0, & - 4, 29, 68, 120, 134, 173, 0, & - 1, 4, 52, 57, 86, 136, 152, & - 26, 51, 56, 91, 122, 137, 168, & - 52, 84, 110, 115, 145, 168, 0, & - 7, 50, 81, 99, 132, 173, 0, & - 23, 55, 67, 95, 172, 174, 0, & - 26, 41, 77, 109, 141, 148, 0, & - 2, 27, 41, 61, 62, 115, 133, & - 27, 40, 56, 124, 125, 126, 0, & - 18, 49, 55, 124, 141, 167, 0, & - 6, 33, 85, 108, 116, 156, 0, & - 28, 48, 70, 85, 105, 129, 158, & - 9, 54, 63, 131, 147, 155, 0, & - 22, 53, 68, 109, 121, 174, 0, & - 3, 13, 48, 78, 95, 123, 0, & - 31, 69, 133, 150, 155, 169, 0, & - 12, 43, 66, 89, 97, 135, 159, & - 5, 39, 75, 102, 136, 167, 0, & - 2, 54, 86, 101, 135, 164, 0, & - 15, 56, 87, 108, 119, 171, 0, & - 10, 44, 82, 91, 111, 144, 149, & - 23, 34, 71, 94, 127, 153, 0, & - 11, 49, 88, 92, 142, 157, 0, & - 29, 34, 87, 97, 147, 162, 0, & - 30, 50, 60, 86, 137, 142, 162, & - 10, 53, 66, 84, 112, 128, 165, & - 22, 57, 85, 93, 140, 159, 0, & - 28, 32, 72, 103, 132, 166, 0, & - 28, 29, 84, 88, 117, 143, 150, & - 1, 26, 45, 80, 128, 147, 0, & - 17, 27, 89, 103, 116, 153, 0, & - 51, 57, 98, 163, 165, 172, 0, & - 21, 37, 73, 138, 152, 169, 0, & - 16, 47, 76, 130, 137, 154, 0, & - 3, 24, 30, 72, 104, 139, 0, & - 9, 40, 90, 106, 134, 151, 0, & - 15, 58, 60, 74, 111, 150, 163, & - 18, 42, 79, 144, 146, 152, 0, & - 25, 38, 65, 99, 122, 160, 0, & - 17, 42, 75, 129, 170, 172, 0/ - -data nrw/ & -7,6,6,6,7,6,7,6,6,7,6,6,7,7,6,6, & -6,7,6,7,6,7,6,6,6,7,6,6,6,7,6,6, & -6,6,7,6,6,6,7,7,6,6,6,6,7,7,6,6, & -6,6,7,6,6,6,7,6,6,6,6,7,6,6,6,7, & -6,6,6,7,7,6,6,7,6,6,6,6,6,6,6,7, & -6,6,6/ - -ncw=3