@Override
    public long solve() {
        Stack<Integer> stack = new Stack<Integer>();
        int columnSum = 0;
        StringBuilder sb = new StringBuilder();
        for (int ci = DATA[0].length() - 1; ci >= 0; ci--) {
            for (int ri = 0; ri < DATA.length; ri++) {
                columnSum += getNumber(ri, ci);
            }
            stack.push(columnSum % 10);
            columnSum /= 10;
        }
        while (columnSum > 0) {
            stack.push(columnSum % 10);
            columnSum /= 10;
        }
        for (int i = 0; i < 10; i++) {
            sb.append(stack.pop());
        }
        return Long.parseLong(sb.toString());
    }