Module: Iterar sobre todos os subpadrões de uma determinada máscara


Problem

7 /7


Bessie se vingou

Problem

O fazendeiro John e a vaca Besi adoram trocar quebra-cabeças de matemática em seu tempo livre. O último quebra-cabeça que FD deu a Besie foi bastante difícil e Besie não conseguiu resolvê-lo. Agora ela quer dar a FD um quebra-cabeça muito difícil.

Besi fornece uma expressão FD  (B+E+S+S+I+E)(G+O+E+S)(M+O+O), contendo sete variáveis B,E , S,I,G,O,M ("O" é uma variável, não 0). Para cada variável, dá ao FD uma lista de até 20 inteiros que esta variável pode aceitar. Besi pede ao FD para contar o número de maneiras diferentes de atribuir valores às variáveis ​​para que a expressão calculada seja um número par.

Entrada

A primeira linha de entrada contém um número inteiro N. Cada uma das N linhas a seguir contém uma variável e um valor possível para essa variável. Cada variável aparecerá nesta lista pelo menos uma vez e no máximo 20 vezes. Para a mesma variável, todos os valores dados são diferentes. Todos os valores variam de &menos;300 a 300.

Saída

Imprima um único inteiro que especifica o número de maneiras que o FD pode atribuir valores às variáveis ​​para que a expressão forneça um resultado par.

 

Entrada Saída
10
B2
E 5
S7
eu 10
O 16
M19
B3
G1
eu 9
M2
6
 

Existem 6 opções possíveis para atribuir valores a variáveis:

 

(B,E,S,I,G,O,M) = (2, 5, 7, 10, 1, 16, 19) -> 53.244 = (2, 5, 7, 10, 1, 16, 2) -> 35.496 = (2, 5, 7, 9, 1, 16, 2) -> 34.510 = (3, 5, 7, 10, 1, 16, 2) -> 36.482 = (3, 5, 7, 9, 1, 16, 19) -> 53.244 = (3, 5, 7, 9, 1, 16, 2) -> 35.496

Observe que (2,5,7,10,1,16,19) e (3,5,7,9,1,16,19) são tratados como atribuições diferentes, embora forneçam o mesmo resultado.< /p>