import java.util.ArrayList;

class Mutant {
    int dna_len;
    int counter;

    Mutant(){
    }
    public static void main(String[] args){
      String[] dna = {"ATGCGA", "CAGTGC", "TTATGT", "AGAAGG", "CCCCTA", "TCACTG"};
      Mutant mutant = new Mutant();
      mutant.isMutant(dna);
    }
    private boolean isMutant(String[] dna){
        ArrayList<char[]> array = new ArrayList<>();

        int len;
        int max_width = 0;
        int max_height;
        counter = 0;
        dna_len = 4;
        max_height = dna.length;

        //first convert to char[] and get max_length
        for (String i: dna){
            array.add(i.toCharArray());

            len = i.length();
            if(max_width < len){
                max_width = len;
            }
        }

        //fill the matrix
        char[][] matrix = new char[max_width][max_height];
        for(int i=0; i<max_height; i++){
            char[] tmp = array.get(i);
            check_horizontal(tmp);

            for(int j=0; j<max_width; j++){
                matrix[i][j] = tmp[j];
            }
        }

        System.out.println(counter);
        return false;
    }

    private void check_horizontal(char[] item){
        int l = item.length;
        char flag;
        if(l < dna_len){
            return;
        }

        for(int i=0; i<l-dna_len+1; i++){
            flag = item[i];
            System.out.println("========flag======");
            System.out.println(flag);
            System.out.println("-----------------");
            for(int j=i+dna_len-1; j>i; j--){
                System.out.println(item[j]);
                if(flag != item[j]){
                    break;
                }else if(j>i+1){
                  continue;
                }
                System.out.println("*******************");
                System.out.println(flag);
                System.out.println("*******************");
                counter++;
                i += dna_len -1;
            }
        }
    }

}


@@ -165,16 +165,22 @@
 %7B%22ATGCGA
+CAGTGC
 %22, %22CAGT
@@ -177,24 +177,30 @@
 GC%22, %22CAGTGC
+CAGTGC
 %22, %22TTATGT%22,
@@ -197,16 +197,22 @@
  %22TTATGT
+CCCCTA
 %22, %22AGAA
@@ -213,16 +213,22 @@
  %22AGAAGG
+CCCCTA
 %22, %22CCCC
@@ -225,24 +225,30 @@
 TA%22, %22CCCCTA
+CCCCTA
 %22, %22TCACTG%22%7D
@@ -245,16 +245,22 @@
  %22TCACTG
+CCCCTA
 %22%7D;%0A    
@@ -421,16 +421,70 @@
 ist%3C%3E();
+%0A        ArrayList%3Cchar%5B%5D%3E helper = new ArrayList%3C%3E();
 %0A%0A      
@@ -619,16 +619,64 @@
 .length;
+%0A        char%5B%5D vertical = new char%5Bmax_height%5D;
 %0A%0A      
@@ -905,32 +905,33 @@
    %7D%0A        %7D%0A%0A
+%0A
         //fill t
@@ -983,25 +983,25 @@
 max_
-width%5D%5Bmax_height
+height%5D%5Bmax_width
 %5D;%0A 
@@ -1285,24 +1285,24 @@
 lse;%0A    %7D%0A%0A
-
     private 
@@ -1433,32 +1433,537 @@
 urn;%0A        %7D%0A%0A
+        for(int i=0; i%3Cl-dna_len+1; i++)%7B%0A            flag = item%5Bi%5D;%0A            for(int j=i+dna_len-1; j%3Ei; j--)%7B%0A                if(flag != item%5Bj%5D)%7B%0A                    break;%0A                %7Delse if(j%3Ei+1)%7B%0A                  continue;%0A                %7D%0A                counter++;%0A                i += dna_len -1;%0A            %7D%0A        %7D%0A    %7D%0A%0A    %0A    private void check_vertical(char%5B%5D item)%7B%0A        int l = item.length;%0A        char flag;%0A        if(l %3C dna_len)%7B%0A            return;%0A        %7D%0A%0A
         for(int 

width, height