The street in front of you has some empty parking spots. A car needs 1 parking spot to park; an SUV needs 2 parking spots; and an 18-wheeler truck needs 4. Some parking spots are already taken. Given a description of the parking spots that are free and taken in the street currently, compute in how many different ways you can fill up the street with vehicles (cars, SUVs, or 18-wheelers).
For instance, in the following street, where a dash (-) means an empty spot and an X means a spot already taken,
The input consists of an arbitrary number of lines. Every line is a non-empty string with symbols - or X. No line will be larger than 70 symbols.
For each input case, output a line with the total number of different configurations. No output will be larger than $$$10^{18}$$$.
-X---XXX-------
1 1 2 1 1 3 6
-XX--X----X---X--XX--------X-X---XXXXXXXX-XX----------------------------------X-X-X--X-X-X-X-X-X-X-X-X-X-X-X-X
12 990 69988378 2
| Name |
|---|


