Como posso "paralelizar" melhor um conjunto de quatro loops aninhados para () - em um ataque de força bruta?

Eu tenho a seguinte tarefa de lição de casa:
Preciso usar a senha de força bruta de 4 caracteres com a seguinte máscara

%%@@

( Onde@ - é um caractere numérico,% - é um caractere alfa)

em vários threads usando o OpenMP.

Aqui está um pedaço de código, mas não tenho certeza se está fazendo a coisa certa:

int i, j, m, n;

const char alph[26] = "abcdefghijklmnopqrstuvwxyz";
const char num[10] = "0123456789";

#pragma omp parallel for private(pass) schedule(dynamic) collapse(4)
for (i = 0; i < 26; i++)
    for (j = 0; j < 26; j++)
        for (m = 0; m < 10; m++)
            for (n = 0; n < 10; n++) {
                pass[0] = alph[i];
                pass[1] = alph[j];
                pass[2] = num[m];
                pass[3] = num[n];

                /* Working with pass here */

            }

Então minha pergunta é :
Como especificar corretamente a instrução "paralelo para", a fim de dividir o intervalo de frases secretas entre vários núcleos?

A ajuda é muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion