private static void lookAt(int i, int j, int level) {
        if (level == 0) used[i][j] = true;
        cgrid[i][j] = '#';

        int end_i = findend_i(i, j);        
        int end_j = findend_j(i, j);
        
        if (level == 1) {
            total += (i - end_i) * (end_j - j);
        }
        else if (i - end_i > 0 && end_j - j > 0) {
            for (int k = i-1; k >= end_i; k--) cgrid[k][j] = '#';
            
            for (int ki = end_i; ki < i; ki++) {
                for (int k = j+1; k <= end_j; k++) cgrid[i][k] = '#';

                for (int kj = end_j; kj > j; kj--) {
                    recur(level+1);
                    cgrid[i][kj] = '.';
                }
                
                cgrid[ki][j] = '.';
            }
        }

        cgrid[i][j] = '.';
    }