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