现请你输出指定大小的“ACM”字符串。特别地,我们要求输出的字符串是正方形的(行数和列数相等)

输入

输入的第一行是一个正整数N(N<=20),表示一共有N组数据,接着是N行数据,每行包含一个正整数M(M<=50),表示一行内有M个“ACM”相连。

输出

输出指定的正方形字符串。

样例输入

2

1

2

样例输出

ACM

ACM

ACM

ACMACM

ACMACM

ACMACM

ACMACM

ACMACM

ACMACM

代码

import java.util.Scanner;
import java.util.regex.Pattern;
public class Main2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String[] strings1 = new String[n];
        for (int i = 0; i < n; i++)
            strings1[i] = sc.next();
        for (int i = 0; i < n; i++) {
            String[] strings2 = strings1[i].split("");
            int sum = 0;
            for (int j = 0; j < strings2.length; j++) {
                switch (strings2[j]) {
                    case "H":
                        if (j < strings2.length - 1 &&Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 1;
                        }
                        break;
                    case "C":
                        if (j < strings2.length - 1 &&Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (12 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 12;
                        }
                        break;
                    case "N":
                        if (j < strings2.length - 1 &&Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (14 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 14;
                        }
                        break;
                    case "O":
                        if (j < strings2.length - 1 && Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (16 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 16;
                        }
                        break;
                    case "F":
                        if (j < strings2.length - 1 && Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (19 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 19;
                        }
                        break;
                    case "P":
                        if (j < strings2.length - 1 && Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (31 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 31;
                        }
                        break;
                    case "S":
                        if (j < strings2.length - 1 && Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (32 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 32;
                        }
                        break;
                    case "K":
                        if (j < strings2.length - 1 && Pattern.matches("\\d", strings2[j + 1])) {
                            sum += (39 * Integer.parseInt(strings2[j + 1]));
                            j += 1;
                        } else {
                            sum += 39;
                        }
                        break;
                    default:
                        break;
                }
            }
            System.out.println(sum);
        }
    }
}