#include <stdio.h>

char matriz[500][500];

// Esta função analisa as bordas e atribui X na matriz se elas indicarem que sai do tabuleiro
int AnalisaBordas(int linhas, int colunas, int *fila_linhas, int *fila_colunas) {
    int contador;
    int posicao_fila = 0;

    for (contador = 0; contador < colunas; contador++) {
        // Analisa a primeira linha.
        if (matriz[0][contador] == 'A') {
            matriz[0][contador] = 'X';
            fila_linhas[posicao_fila] = 0;
            fila_colunas[posicao_fila] = contador;
            posicao_fila++;
        }

        // Analisa a última linha.
        if (matriz[linhas - 1][contador] == 'V') {
            matriz[linhas - 1][contador] = 'X';
            fila_linhas[posicao_fila] = linhas - 1;
            fila_colunas[posicao_fila] = contador;
            posicao_fila++;
        }
    }

    for (contador = 0; contador < linhas; contador++) {
        // Analisa a primeira coluna.
        if (matriz[contador][0] == '<') {
            matriz[contador][0] = 'X';
            fila_linhas[posicao_fila] = contador;
            fila_colunas[posicao_fila] = 0;
            posicao_fila++;
        }

        // Analisa a última coluna.
        if (matriz[contador][colunas - 1] == '>') {
            matriz[contador][colunas - 1] = 'X';
            fila_linhas[posicao_fila] = contador;
            fila_colunas[posicao_fila] = colunas - 1;
            posicao_fila++;
        }
    }

    return posicao_fila;
}

// Esta função analisa os vizinhos da célula [i][j].
void AnalisaVizinhos(int i, int j, int *fila_linhas, int *fila_colunas, int *posicao_fila) {

    // Analisa a célula a direita.
    if (matriz[i][j + 1] == '<') {
        matriz[i][j + 1] = 'X';
        fila_linhas[*posicao_fila] = i;
        fila_colunas[*posicao_fila] = j + 1;
        (*posicao_fila)++;
    }

    // Analisa a célula a esquerda.
    if (matriz[i][j - 1] == '>') {
        matriz[i][j - 1] = 'X';
        fila_linhas[*posicao_fila] = i;
        fila_colunas[*posicao_fila] = j - 1;
        (*posicao_fila)++;
    }

    // Analisa a célula abaixo.
    if (matriz[i + 1][j] == 'A') {
        matriz[i + 1][j] = 'X';
        fila_linhas[*posicao_fila] = i + 1;
        fila_colunas[*posicao_fila] = j;
        (*posicao_fila)++;
    }

    // Analisa a célula acima.
    if (matriz[i - 1][j] == 'V') {
        matriz[i-  1][j] = 'X';
        fila_linhas[*posicao_fila] = i - 1;
        fila_colunas[*posicao_fila] = j;
        (*posicao_fila)++;
    }
}

void PropagaFila(int *fila_linhas, int *fila_colunas, int tamanho_inicial_fila) {
    int inicio_fila = 0;
    int fim_fila = tamanho_inicial_fila;
    while (inicio_fila < fim_fila) {
        AnalisaVizinhos(fila_linhas[inicio_fila], fila_colunas[inicio_fila], fila_linhas, fila_colunas, &fim_fila);
        inicio_fila++;
    }
}

// Loop para adicionar os caracteres.
void PreencherMatriz(int linhas, int colunas) {
    int linha, coluna;
    for (linha = 0; linha < linhas; linha++) {
        for (coluna = 0; coluna < colunas; coluna++) {
            char c;
            do {
                c = getchar();
            } while (c != '<' && c != '>' && c != 'V' && c != 'A');
            matriz[linha][coluna] = c;
        }
    }
}

// Loop para adicionar os caracteres.
int ContarMatriz(int linhas, int colunas) {
	int seguras = 0;
    int linha, coluna;
    for (linha = 0; linha < linhas; linha++) {
        for (coluna = 0; coluna < colunas; coluna++) {
            if (matriz[linha][coluna] != 'X') seguras++;
        }
    }
    return seguras;
}

int main() {
    int n;
    scanf("%d", &n);
    if (n <= 0 || n > 500) {
        printf("Tamanho invalido para a matriz");
        return 1;
    }

    PreencherMatriz(n, n);

    // Cria a fila.
    int fila_linhas[500];
    int fila_colunas[500];
    int i;
    for (i = 0; i < 500; i++) {
        fila_linhas[i] = fila_colunas[i] = -1;
    }

    int tamanho_inicial_fila = AnalisaBordas(n, n, fila_linhas, fila_colunas);
    PropagaFila(fila_linhas, fila_colunas, tamanho_inicial_fila);

    int seguras = ContarMatriz(n, n);

    printf("%d\n", seguras); // Exibe quantas posições são seguras.
    return 0;
}