zoukankan      html  css  js  c++  java
  • RMQ+1/1算法 [转]

    [转] http://blog.csdn.net/ljsspace/article/details/6659517

      

    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

  • 相关阅读:
    排列与组合
    C++构造函数虚函数例题
    排序
    Android相机是如何获取到图像的
    《Android进阶》之第七篇 NDK的使用
    递归相关题目
    华为模拟性格测试
    平衡二叉树
    Fragment回调接口应用间分享数据
    IOS中限制TextField中输入的类型以及长度
  • 原文地址:https://www.cnblogs.com/longdouhzt/p/2212632.html
Copyright © 2011-2022 走看看