C - 1=0.999... Editorial /

Time Limit: 2 sec / Memory Limit: 64 MB


1 と 0.999... がまったく同じ実数を表すということは、 ネット上でもしばしば議論される話題です。
この問題は、そんな小数に関する問題です。

入力

入力は以下の形式に従う。
N
a_1
a_2
:
a_N
1行目には、与えられる小数の数 N が与えられる。 2行目から続く N 行では、実数 a_i が与えられる。
a_i は有限小数または循環小数であり、実数の集合 A = {a_i} のすべての要素を表す。 1 つの実数が異なる表記で与えられる場合がある。
有限小数および循環小数は以下のBNFに従う。 循環小数において括弧で囲まれた部分は循環節を表し、 例えば 0.(01)0.010101... を表現する。
<有限小数> ::= <整数部> "." <\d+>
<循環小数> ::= <整数部> "." <\d*> "(" <\d+> ")"
<整数部>   ::= "0" | <[1-9]> <\d*>
<\d*>      ::= "" | <\d+>
<\d+>      ::= <[0-9]> <\d*>
<[0-9]>    ::= "0" | <[1-9]>
<[1-9]>    ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

制約

  • 1 ≦ N ≦ 300
  • a_i の文字列長は 300 以下

出力

実数の集合 A の要素数を求めよ。

Input 1

2
1.0
0.(9)

Output 1

1

Input 2

3
3.(142857)
3.1(428571)
3.14(285714)

Output 2

1