anchor.diff:  
       
       let rec compute l m =
  -        let mid = (l + m) / 2
  +        let mid = int (l + m) / 2
           if m - l >= 4 then 
               compute l mid |> ignore
  -            compute mid m |> ignore
  -        completeT (l, mid, mid, m)
  +            if mid < stringSize + 1 then
  +                compute mid m |> ignore
  +        if mid < stringSize + 1 then
  +            completeT (l, mid, mid, m)
   
       and completeT (l1, m1, l2, m2) =
           assert (m1 - l1 = m2 - l2)
  
positive.code:     check "aaabbcc" 0.0000524288 |> ignore
  
  
      System.Console.ReadLine() |> ignore
      0
negative.code:         else if m1 - l1 > 1 then
              let mid1: int = int (l1 + m1) / 2
              let mid2: int = int (l2 + m2) / 2
  
              let b1 = (l1, mid1, mid1, m1)
  
              let c  = (mid1, m1, l2, mid2)
              let d1 = (l1, mid1, l2, mid2)
              
              let b2 = (l2, mid2, mid2, m2)
              let d2 = (mid1, m1, mid2, m2)
              let  e = (l1, mid1, mid2, m2)
  
              completeT c |> ignore
              completeP d1 b1 c |> ignore
              completeT d1 |> ignore
  
              if mid2 <= stringSize then
                  completeP d2 c b2 |> ignore
                  completeT d2 |> ignore
                  completeP e b1 d2 |> ignore
                  completeP e d1 b2 |> ignore
                  completeT e  |> ignore
  
      compute 0 (roundedSize + 1) |> ignore
      (tMatrix.Item S).[0, stringSize]
  
  
  [<EntryPoint>]
  