Module: 指定されたマスクのすべてのサブパターンを反復します


Problem

7 /7


ベッシーは仕返しした

Problem

農夫のジョンと牛のベシは、暇なときに数学パズルを交換するのが大好きです。 FD が Besie に出した最後のパズルは非常に難しく、Besie はそれを解くことができませんでした。今、彼女はFDに非常に難しいパズルを与えたいと考えています。

Besi は、7 つの変数を含む FD 式  (B+E+S+S+I+E)(G+O+E+S)(M+O+O)を与えます B,E 、S、I、G、O、M (「O」は変数であり、0 ではありません)。各変数について、この変数が受け入れることができる最大 20 個の整数のリストを FD に提供します。 Besi は、計算された式が偶数になるように変数に値を割り当てるさまざまな方法の数を数えるように FD に依頼します。

入力

入力の最初の行には整数 N が含まれています。次の各 N 行には、変数とその変数の可能な値が含まれています。各変数は、このリストに少なくとも 1 回、最大で 20 回表示されます。同じ変数に対して、与えられた値はすべて異なります。すべての値の範囲は -300 ~ 300です。

出力

式が均等な結果を与えるために、FD が変数に値を割り当てる方法の数を指定する単一の整数を出力します。

 

<本体> <プレ>  

変数に値を割り当てるには 6 つのオプションがあります:

 

<プレ> (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

(2,5,7,10,1,16,19) と (3,5,7,9,1,16,19) は、同じ結果が得られる場合でも、異なる代入として扱われることに注意してください。< /p>

入力 出力
10
B2
E5
S7
私10
O16
M19
B3
G1
I9
M2
6