import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        OutputWriter out = new OutputWriter(outputStream);
        TaskB solver = new TaskB();
        solver.solve(in, out);
        out.close();
    }
}
class TaskB {

    public void solve(InputReader in, OutputWriter out) {

        System.out.println(calculateSum("GAAAGGCCCCCCGGG", "GAAAGGCCCCCCGGG")); // 1215
        System.out.println(calculateSum("GAAAGGCCCCCCGGG","GTTTGGCCCCCCGGG")); // 1080
    }

    private long calculateSum(String s, String t) {
        long sum = 0;
        for(int i=0;i<s.length();i++) {
            for(int j=0;j<t.length();j++) {
                sum += calculate(s,t);
                t = (t.substring(1,t.length()) + t.charAt(0));
            }
            s = (s.substring(1,s.length()) + s.charAt(0));
        }
        return sum;
    }

    private long calculate(String s, String t) {
        long sum = 0;
        for(int i=0;i<s.length();i++) {
            if(s.charAt(i) == t.charAt(i)) sum++;
        }
        return sum;
    }

}


class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;
    public InputReader(InputStream stream) {
        reader = new BufferedReader(new InputStreamReader(stream), 32768);
        tokenizer = null;
    }
    public String next() {
        while (tokenizer == null || !tokenizer.hasMoreTokens()) {
            try {
                tokenizer = new StringTokenizer(reader.readLine());
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
        return tokenizer.nextToken();
    }
    public boolean hasNext() {
        while (tokenizer == null || !tokenizer.hasMoreTokens()) {
            try {
                String line = reader.readLine();
                if ( line == null ) {
                    return false;
                }
                tokenizer = new StringTokenizer(line);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
        return true;
    }
    public int nextInt() {
        return Integer.parseInt(next());
    }
    public long nextLong() {
        return Long.parseLong(next());
    }
    public double nextDouble() { return Double.parseDouble(next());}
}
class OutputWriter {
    private final PrintWriter writer;
    public OutputWriter(OutputStream outputStream) {
        writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
    }
    public OutputWriter(Writer writer) {
        this.writer = new PrintWriter(writer);
    }
    public void print(Object... objects) {
        for (int i = 0; i < objects.length; i++) {
            if ( i != 0 ) {
                writer.print(' ');
            }
            writer.print(objects[i]);
        }
    }
    public void printLine(Object... objects) {
        print(objects);
        writer.println();
    }
    public void close() {
        writer.close();
    }
}