RMQ+1/-1問題要求數列中相鄰兩個元素相差+1或-1。利用這個限定條件可以使該算法複雜度總體上達到<O(n),O(1)>。具體做法是:
1) 設數列A的大小爲n,先對數列A分組,每組大小爲b=1/2.logn (之所以這樣分是爲了將預處理複雜度從O(nlogn)降爲O(n)),共分爲n/b個組;
以下第2到第4步完成RMQ+1/-1問題的預處理階段(參考以下實現中的preprocess方法)。
2)生成O(sqrt(n))個LU表P[][]和一個block類型數組T[]: 對每個組內部進行預處理(inblock preprocessing)(參考以下實現中的makeLUTable方法),採用的方法是用動態規劃加速的蠻立法,組內預處理的結果是生成2^(b-1)個不同組的lookup table(LU表),這裏之所以只需要處理2^(b-1)個不同組(姑且把這些組叫做基本blocks)就是利用了"數列中相鄰兩個元素相差+1或-1"這個特點,由於2^(b-1)相當於O(sqrt(n))數量級,因此inblock預處理組的數量是很小的,由於將上三角形狀的LU表壓縮存儲爲一維表L,因此每一個block的LU表佔的存儲空間可以從b^2降至(b+1)*b/2。需要注意的是,每個block的LU表存儲的只是該組的最小元素在該組內部的下標值,因此在調用queryLUTable方法進行組內查詢(inblock query)時還需要加一個偏移量offset,將查詢的結果轉化爲數列A的下標值(參考以下實現中的queryLUTable方法)。
這一步操作的複雜度爲O((2^(b-1)) * (b+1)*b/2) = O(n)。
由於在組內查詢時需要將n/b個blocks映射到2^(b-1)個基本blocks(多對一映射),因此還需要計算每一個block的類型數組T[],計算細節參考以下實現中的computeBlockType方法。計算過程使用Horner規則。這一步操作的複雜度爲O(n)。
另外,在第一步的分組中,最後一個block大小可能比b小,這時還需要對該組進行特殊處理。
3)生成每個組的代表元素min值(注:每一個組可以看成一個等價類)的下標數組B[]: 利用inblock預處理的結果找出每一個block的最小元素的下標值(由於區間查詢使用的是queryLUTable方法,該下標是數列A的下標值,而不是block內部的下標值,這正是我們需要得到的下標值),而不需要掃描整個block來找min值。需要注意的是,最後一個block大小小於b的情況,這時區間查詢應該是start...n-1而不是start...end (start和end是該block的起始和結束位置下標值,並且end>n-1)。
這一步生成的結果B[]用於下面一步的組間預處理(outbock preprocessing)中。
4)利用第3步中的數組B生成組間稀疏表M[]: 採用ST(Sparse Table)算法,計算細節參考以下實現中的outBlockPreprocess方法。這一步操作的複雜度爲O(n/b*log(n/b))=O(n)。
上面2-4步完成的是預處理,預處理總的複雜度爲O(n)。
5)接下來進行查詢(參考以下實現中的query方法)。查詢分兩個cases:
case a)如果查詢區間p..q剛好落在一個block中,可以直接調用queryLUTable方法查詢得出結果。由於使用lookup table,這一步的複雜度爲O(1)。
case b)如果查詢區間p..q跨越兩個或以上的blocks,則針對第一個和最後一個block使用queryLUTable方法查詢得出各自最小值的下標,這一步的複雜度爲O(1)。然後對中間跨越的那些blocks使用組間查詢(參考以下實現中的outBlockQuery方法),這一步的複雜度等於ST算法中的O(1)。然後比較這三個最小值下標,將他們的最小值對應的下標作爲結果返回。
需要注意幾點:
1)分組大小爲b=1/2.logn,可以將該算法預處理複雜度從普通ST算法的O(nlogn)降到O(n),即去除對數因子。
2)LU表是基本表,因此該表中存儲的下標值是表內部的下標值(即不依賴於任何具體的block),這不同於數列A的下標。因此在查詢時需要偏移。
3) 下標數組B[]也叫做概要數組(summary array),如果在組間查詢時將每一個block看成一個等價類,那麼B中每一個元素相當於對應block這個等價類中的代表元素。
4)最後一個block可能需要單獨處理:將不足一個block的元素擴展爲一個整的block。但是在查詢階段,查詢區間p...q不會超越數列A的範圍0...n-1。
5)總體複雜度是<O(n),O(1)>,因此相比ST算法,該算法是最佳的選擇。雖然RMQ+1/-1具有特殊性,但是一般的RMQ問題也可以在O(n)時間內轉化爲RMQ+1/-1問題,因此一般的RMQ問題也可以達到<O(n),O(1)>的複雜度。
實現:
/**
*
* An algorithm to solve RMQ+1/-1 problem
* time complexity: <O(n),O(1)>
*
*
* Copyright (c) 2011 ljs (http://blog.csdn.net/ljsspace/)
* Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
*
* @author ljs
* 2011-08-04
*
*/
public class MinusOrPlusOne_RMQ {
private int blocksize;
private int blockcount;
//block type
private int[] T;
//block LookUp table
private int[][] P;
//out-of-block sparse table
//the first-dimension indices are block IDs
private int[][] M;
//check if A is valid +1/-1 RMQ
private void sanityCheck(int[] A) throws Exception{
for(int i=1;i<A.length;i++){
int diff = A[i] - A[i-1];
if(!(diff==1 || diff==-1))
throw new Exception("illegal +1/-1 RMQ problem!");
}
}
//output: blocksize, blockcount, T[], P[][], M
public void preprocess(int[] A) throws Exception {
sanityCheck(A);
int n = A.length;
int paddingsize = 0;
// grouping into logn/2 sized blocks
int b = (int) (Math.log(n) / Math.log(2)) >> 1;
if(b==0){
b = n; //small problem
}
int count = (int) Math.ceil(n / (double)b);
this.blocksize = b;
this.blockcount = count;
// padding the last block
int endblocksize = n - b * (count - 1);
if (endblocksize > 0 && endblocksize < b) {
paddingsize = b - endblocksize;
}
//step 1: in-block preprocess
//the size of LU table (one-dimensional)
int size = b*(b+1)/2;
int start = 0; // j is the index of A
int end = -1;
T = new int[count];
int blockTypesCount = 1<<(b-1);
P = new int[blockTypesCount][size];
int[] B = new int[count]; //used in ST algorithm: the min-value array for each block
boolean[] pDone =new boolean[blockTypesCount];
int fullblockscnt = count;
if(paddingsize>0){
fullblockscnt = count - 1;
}
for (int i = 0; i < fullblockscnt; i++) {
start = end+1;
end = (i+1)*b-1;
//compute the type of the block
int type = computeBlockType(A,start,end);
T[i] = type;
if(!pDone[type]){
//if LU table is not done yet for this type of block
P[type] = makeLUTable(b,A,start,size);
pDone[type]=true;
}
B[i] = queryLUTable(b,start,start,end,type);
}
//the end block
if(paddingsize>0){
start = end+1;
end = count*b-1;
//extend the end block
int actualsize = n-start;
int[] D = new int[b];
System.arraycopy(A, start, D, 0, actualsize);
for (int k = actualsize; k < b; k++) {
D[k] = D[k - 1] + 1;
}
int type = computeBlockType(D,0,b-1);
T[count-1] = type;
if(!pDone[type]){
P[type] = makeLUTable(b,D,0,size);
pDone[type]=true;
}
//the min-index from start...n-1, not start...end
B[count-1] = queryLUTable(b,start,start,n-1,type);
}
//step 2: Sparse table algorithm applied to out-of-blocks
this.M = outBlockPreprocess(B,A,count);
}
//return the index
public int query(int[] A,int p,int q){
if(q<p){
//swap
int tmp=p;p=q;q=tmp;
}
int start = 0; // j is the index of A
int end = -1;
int s = 0,t=0; //i..j for ST algorithm
int startMin=-1,endMin=-1; //the start block and end block's min index
for (int i = 0; i < this.blockcount; i++) {
start = end+1;
end = (i+1)*this.blocksize-1;
if(p>=start && q<=end){
//within a block
return queryLUTable(blocksize,start,p,q,T[i]);
}else if(p>=start && p<=end){
startMin = queryLUTable(blocksize,start,p,end,T[i]);
s=i+1;
}else if(q<=end && q>=start){
endMin = queryLUTable(blocksize,start,start,q,T[i]);
t=i-1;
break;
}
}
int minIndex = startMin;
if(s<=t){
int outBlocksMin = outBlockQuery(A,s,t);
if(A[startMin]>A[outBlocksMin]){
minIndex = outBlocksMin;
}
}
if(A[minIndex]>A[endMin]){
minIndex = endMin;
}
return minIndex;
}
//ST: O(1) for querying
//precondition: s<=t
private int outBlockQuery(int[] A,int s,int t){
int k = (int)(Math.log(t-s+1)/Math.log(2));
//the first interval
int mina = M[s][k];
int minb = M[t-(1<<k)+1][k];
if(A[mina]<=A[minb])
return mina;
else
return minb;
}
private int[][] outBlockPreprocess(int[] B,int[] A,int count){
//floor value
int maxJ=(int)(Math.log(count)/Math.log(2));
int[][] M = new int[count][maxJ+1];
//initial condition for dynamic programming: the RMQ for interval length=1
for (int i = 0; i < count; i++)
M[i][0] = B[i];
//dynamic programming: compute values from smaller(j=1) to bigger intervals
for (int j = 1; j<=maxJ; j++){
for (int i = 0; i + (1 << j) - 1 < count; i++){
int nexti = i + (1 << (j - 1));
if (A[M[i][j - 1]] <= A[M[nexti][j - 1]])
M[i][j] = M[i][j - 1];
else
M[i][j] = M[nexti][j - 1];
}
}
return M;
}
private int computeBlockType(int[] D,int start,int end){
int sum = 0;
//use Horner's rule
for(int i=start+1;i<=end;i++){
int diff = D[i]-D[i-1];
if(diff==1){//0 when diff=+1
sum <<= 1;
}else{//1 when diff=-1
sum = (sum << 1) + 1;
}
}
return sum;
}
//return the index
//precondition: i<=j
private int queryLUTable(int blocksize,int offset,int i,int j,int type){
i -= offset; j-=offset;
int[] L = P[type];
int index = blocksize*i - (i-1)*i/2 + (j-i);
return L[index]+offset;
}
//use naive method to compute the lookup table for a block
//the return index is relative to the block itself
private int[] makeLUTable(int blocksize, int[] D,int offset,int size) {
int[][] Q = new int[blocksize][blocksize];
for (int i = 0; i < blocksize; i++)
Q[i][i] = i;
for (int i = 0; i < blocksize; i++)
for (int j = i + 1; j < blocksize; j++)
if (D[Q[i][j - 1]+offset] <= D[j+offset])
Q[i][j] = Q[i][j - 1];
else
Q[i][j] = j;
//convert to one-dimension array
int[] L = new int[size];
int k=0;
for(int i=0;i<blocksize;i++){
for(int j=i;j<blocksize;j++,k++){
L[k] = Q[i][j];
}
}
return L;
}
private void reportLUTable(int[] A){
System.out.format("%n***********************%n");
for(int x=0;x<A.length;x++){
System.out.format("%d..[%d-%d]",x,x,A.length-1);
for(int y=x;y<A.length;y++){
int p = query(A,x,y);
System.out.format(" %d/%d",A[p],p);
}
System.out.println();
}
}
public static void main(String[] args) throws Exception {
int[] A = new int[]{3,2,3};
MinusOrPlusOne_RMQ mpoRMQ = new MinusOrPlusOne_RMQ();
mpoRMQ.preprocess(A);
mpoRMQ.reportLUTable(A);
A = new int[]{1,0,1,2};
mpoRMQ = new MinusOrPlusOne_RMQ();
mpoRMQ.preprocess(A);
mpoRMQ.reportLUTable(A);
A = new int[]{1,0,1,0};
mpoRMQ = new MinusOrPlusOne_RMQ();
mpoRMQ.preprocess(A);
mpoRMQ.reportLUTable(A);
A = new int[] { 0, 1, 0, 1, 2, 3, 2, 3, 2, 1, 2, 3, 2, 3, 2, 1, 0 };
mpoRMQ = new MinusOrPlusOne_RMQ();
mpoRMQ.preprocess(A);
System.out.format("%n***********************%n");
int i=5,j=11;
int min = mpoRMQ.query(A,i,j);
System.out.format("RMQ for A[%d..%d]: A[%d]=%d", i,j,min,A[min]);
System.out.format("%n***********************%n");
j=5;
i=11;
min = mpoRMQ.query(A,i,j);
System.out.format("RMQ for A[%d..%d]: A[%d]=%d", i,j,min,A[min]);
System.out.format("%n***********************%n");
i=4;
j=16;
min = mpoRMQ.query(A,i,j);
System.out.format("RMQ for A[%d..%d]: A[%d]=%d", i,j,min,A[min]);
System.out.format("%n***********************%n");
mpoRMQ.reportLUTable(A);
A = new int[]{
10,11,12,13,12,11,10,9,10,11, //0..9
12,13,14,15,14,15,14,15,16,17, //10..19
16,15,14,13,12,11,10,9,8,7, //20..29
8,9,10,11,12,13,12,11,10,9, //30..39
10,11,12,13,14,15,14,15,14,15, //40..49
16,17,16,15,14,13,12,11,10,9, //50..59
8,7,8,9,10,11,12,13,12,11, //60..69
10,9,10,11,12,13,14,15,14,15, //70..79
14,15,16,17,16,15,14,13,12,11, //80..89
10,9,8,7,8,9,10,11,12,13,14}; //90..100
mpoRMQ = new MinusOrPlusOne_RMQ();
mpoRMQ.preprocess(A);
mpoRMQ.reportLUTable(A);
}
}
測試輸出:
***********************
0..[0-3] 1/0 1/0 1/0 1/0
1..[1-3] 2/1 2/1 2/1
2..[2-3] 3/2 3/2
3..[3-3] 4/3
***********************
0..[0-3] 1/0 0/1 0/1 0/1
1..[1-3] 0/1 0/1 0/1
2..[2-3] 1/2 1/2
3..[3-3] 2/3
***********************
0..[0-3] 1/0 0/1 0/1 0/1
1..[1-3] 0/1 0/1 0/1
2..[2-3] 1/2 0/3
3..[3-3] 0/3
***********************
RMQ for A[5..11]: A[9]=1
***********************
RMQ for A[11..5]: A[9]=1
***********************
RMQ for A[4..16]: A[16]=0
***********************
***********************
0..[0-16] 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0
1..[1-16] 1/1 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
2..[2-16] 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
3..[3-16] 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 0/16
4..[4-16] 2/4 2/4 2/4 2/4 2/4 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0/16
5..[5-16] 3/5 2/6 2/6 2/6 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0/16
6..[6-16] 2/6 2/6 2/6 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0/16
7..[7-16] 3/7 2/8 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0/16
8..[8-16] 2/8 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0/16
9..[9-16] 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0/16
10..[10-16] 2/10 2/10 2/10 2/10 2/10 1/15 0/16
11..[11-16] 3/11 2/12 2/12 2/12 1/15 0/16
12..[12-16] 2/12 2/12 2/12 1/15 0/16
13..[13-16] 3/13 2/14 1/15 0/16
14..[14-16] 2/14 1/15 0/16
15..[15-16] 1/15 0/16
16..[16-16] 0/16
***********************
0..[0-100] 10/0 10/0 10/0 10/0 10/0 10/0 10/0 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
1..[1-100] 11/1 11/1 11/1 11/1 11/1 10/6 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
2..[2-100] 12/2 12/2 12/2 11/5 10/6 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
3..[3-100] 13/3 12/4 11/5 10/6 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
4..[4-100] 12/4 11/5 10/6 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
5..[5-100] 11/5 10/6 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
6..[6-100] 10/6 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7..[7-100] 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 9/7 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
8..[8-100] 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 10/8 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
9..[9-100] 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 11/9 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
10..[10-100] 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 12/10 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
11..[11-100] 13/11 13/11 13/11 13/11 13/11 13/11 13/11 13/11 13/11 13/11 13/11 13/11 13/11 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
12..[12-100] 14/12 14/12 14/12 14/12 14/12 14/12 14/12 14/12 14/12 14/12 14/12 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
13..[13-100] 15/13 14/14 14/14 14/14 14/14 14/14 14/14 14/14 14/14 14/14 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
14..[14-100] 14/14 14/14 14/14 14/14 14/14 14/14 14/14 14/14 14/14 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
15..[15-100] 15/15 14/16 14/16 14/16 14/16 14/16 14/16 14/16 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
16..[16-100] 14/16 14/16 14/16 14/16 14/16 14/16 14/16 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
17..[17-100] 15/17 15/17 15/17 15/17 15/17 14/22 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
18..[18-100] 16/18 16/18 16/18 15/21 14/22 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
19..[19-100] 17/19 16/20 15/21 14/22 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
20..[20-100] 16/20 15/21 14/22 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
21..[21-100] 15/21 14/22 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
22..[22-100] 14/22 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
23..[23-100] 13/23 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
24..[24-100] 12/24 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
25..[25-100] 11/25 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
26..[26-100] 10/26 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
27..[27-100] 9/27 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
28..[28-100] 8/28 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
29..[29-100] 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29 7/29
30..[30-100] 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 8/30 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
31..[31-100] 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 9/31 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
32..[32-100] 10/32 10/32 10/32 10/32 10/32 10/32 10/32 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
33..[33-100] 11/33 11/33 11/33 11/33 11/33 10/38 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
34..[34-100] 12/34 12/34 12/34 11/37 10/38 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
35..[35-100] 13/35 12/36 11/37 10/38 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
36..[36-100] 12/36 11/37 10/38 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
37..[37-100] 11/37 10/38 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
38..[38-100] 10/38 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
39..[39-100] 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 9/39 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
40..[40-100] 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 10/40 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
41..[41-100] 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 11/41 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
42..[42-100] 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 12/42 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
43..[43-100] 13/43 13/43 13/43 13/43 13/43 13/43 13/43 13/43 13/43 13/43 13/43 13/43 13/43 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
44..[44-100] 14/44 14/44 14/44 14/44 14/44 14/44 14/44 14/44 14/44 14/44 14/44 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
45..[45-100] 15/45 14/46 14/46 14/46 14/46 14/46 14/46 14/46 14/46 14/46 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
46..[46-100] 14/46 14/46 14/46 14/46 14/46 14/46 14/46 14/46 14/46 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
47..[47-100] 15/47 14/48 14/48 14/48 14/48 14/48 14/48 14/48 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61 7/61
48..[48-100] 14/48 14/48 14/48 14/48 14/48 14/48 14/48 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61 7/61
49..[49-100] 15/49 15/49 15/49 15/49 15/49 14/54 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61 7/61
50..[50-100] 16/50 16/50 16/50 15/53 14/54 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61 7/61 7/61
51..[51-100] 17/51 16/52 15/53 14/54 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61 7/61
52..[52-100] 16/52 15/53 14/54 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
7/61
53..[53-100] 15/53 14/54 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
54..[54-100] 14/54 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
55..[55-100] 13/55 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
56..[56-100] 12/56 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
57..[57-100] 11/57 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
58..[58-100] 10/58 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
59..[59-100] 9/59 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
60..[60-100] 8/60 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
61..[61-100] 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61 7/61
62..[62-100] 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 8/62 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
63..[63-100] 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 9/63 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
64..[64-100] 10/64 10/64 10/64 10/64 10/64 10/64 10/64 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
65..[65-100] 11/65 11/65 11/65 11/65 11/65 10/70 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
66..[66-100] 12/66 12/66 12/66 11/69 10/70 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
67..[67-100] 13/67 12/68 11/69 10/70 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
68..[68-100] 12/68 11/69 10/70 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
69..[69-100] 11/69 10/70 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
70..[70-100] 10/70 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
71..[71-100] 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 9/71 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
72..[72-100] 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 10/72 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
73..[73-100] 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 11/73 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
74..[74-100] 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 12/74 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
75..[75-100] 13/75 13/75 13/75 13/75 13/75 13/75 13/75 13/75 13/75 13/75 13/75 13/75 13/75 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
76..[76-100] 14/76 14/76 14/76 14/76 14/76 14/76 14/76 14/76 14/76 14/76 14/76 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
77..[77-100] 15/77 14/78 14/78 14/78 14/78 14/78 14/78 14/78 14/78 14/78 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
78..[78-100] 14/78 14/78 14/78 14/78 14/78 14/78 14/78 14/78 14/78 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
79..[79-100] 15/79 14/80 14/80 14/80 14/80 14/80 14/80 14/80 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
80..[80-100] 14/80 14/80 14/80 14/80 14/80 14/80 14/80 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
81..[81-100] 15/81 15/81 15/81 15/81 15/81 14/86 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
82..[82-100] 16/82 16/82 16/82 15/85 14/86 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
83..[83-100] 17/83 16/84 15/85 14/86 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
84..[84-100] 16/84 15/85 14/86 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
85..[85-100] 15/85 14/86 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
86..[86-100] 14/86 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
87..[87-100] 13/87 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
88..[88-100] 12/88 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
89..[89-100] 11/89 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
90..[90-100] 10/90 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
91..[91-100] 9/91 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
92..[92-100] 8/92 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
93..[93-100] 7/93 7/93 7/93 7/93 7/93 7/93 7/93 7/93
94..[94-100] 8/94 8/94 8/94 8/94 8/94 8/94 8/94
95..[95-100] 9/95 9/95 9/95 9/95 9/95 9/95
96..[96-100] 10/96 10/96 10/96 10/96 10/96
97..[97-100] 11/97 11/97 11/97 11/97
98..[98-100] 12/98 12/98 12/98
99..[99-100] 13/99 13/99
100..[100-100] 14/100