]> www.fi.muni.cz Git - aoc.git/blob - 2015/y/task38.yp
Year 2015
[aoc.git] / 2015 / y / task38.yp
1 %{
2         my $count = 0;
3 %}
4
5 %start e
6
7 %%
8
9 Al :    'Al'
10         |  Th F { shift->YYData->{count}++ }
11         |  Th Rn F Ar { shift->YYData->{count}++ }
12         ;
13 B :     'B'
14         |  B Ca { shift->YYData->{count}++ }
15         |  Ti B { shift->YYData->{count}++ }
16         |  Ti Rn F Ar { shift->YYData->{count}++ }
17         ;
18 Ca :    'Ca'
19         |  Ca Ca { shift->YYData->{count}++ }
20         |  P B { shift->YYData->{count}++ }
21         |  P Rn F Ar { shift->YYData->{count}++ }
22         |  Si Rn F Y F Ar { shift->YYData->{count}++ }
23         |  Si Rn Mg Ar { shift->YYData->{count}++ }
24         |  Si Th { shift->YYData->{count}++ }
25         ;
26 F :     'F'
27         |  Ca F { shift->YYData->{count}++ }
28         |  P Mg { shift->YYData->{count}++ }
29         |  Si Al { shift->YYData->{count}++ }
30         ;
31 H :     'H'
32         |  C Rn Al Ar { shift->YYData->{count}++ }
33         |  C Rn F Y F Y F Ar { shift->YYData->{count}++ }
34         |  C Rn F Y Mg Ar { shift->YYData->{count}++ }
35         |  C Rn Mg Y F Ar { shift->YYData->{count}++ }
36         |  H Ca { shift->YYData->{count}++ }
37         |  N Rn F Y F Ar { shift->YYData->{count}++ }
38         |  N Rn Mg Ar { shift->YYData->{count}++ }
39         |  N Th { shift->YYData->{count}++ }
40         |  O B { shift->YYData->{count}++ }
41         |  O Rn F Ar { shift->YYData->{count}++ }
42         ;
43 Mg :    'Mg'
44         |  B F { shift->YYData->{count}++ }
45         |  Ti Mg { shift->YYData->{count}++ }
46         ;
47 N :     'N'
48         |  C Rn F Ar { shift->YYData->{count}++ }
49         |  H Si { shift->YYData->{count}++ }
50         ;
51 O :     'O'
52         |  C Rn F Y F Ar { shift->YYData->{count}++ }
53         |  C Rn Mg Ar { shift->YYData->{count}++ }
54         |  H P { shift->YYData->{count}++ }
55         |  N Rn F Ar { shift->YYData->{count}++ }
56         |  O Ti { shift->YYData->{count}++ }
57         ;
58 P :     'P'
59         |  Ca P { shift->YYData->{count}++ }
60         |  P Ti { shift->YYData->{count}++ }
61         |  Si Rn F Ar { shift->YYData->{count}++ }
62         ;
63 Si :    'Si'
64         |  Ca Si { shift->YYData->{count}++ }
65         ;
66 Th :    'Th'
67         |  Th Ca { shift->YYData->{count}++ }
68         ;
69 Ti :    'Ti'
70         |  B P { shift->YYData->{count}++ }
71         |  Ti Ti { shift->YYData->{count}++ }
72         ;
73 e:
74            H F { shift->YYData->{count}++ }
75         |  N Al { shift->YYData->{count}++ }
76         |  O Mg { shift->YYData->{count}++ }
77         ;
78 %%