GUESSTHE - Guess the Number

no tags 

You are playing the funny game “Guess the number” with a friend. In this game, one of the players choose a positive integer and the other has to guess it by using the clues that are revealed. The i-th clue is either “Y” or “N” indicating whether the hidden number is a multiple of i or not, respectively. For instance, if the clues so far are “YYNYY” it means that the number is a multiple of 1, 2, 4 and 5, but it is not a multiple of 3. Given the clues of the game so far, you have to guess the minimum possible number according to them, or call your friend a cheater if there is no number such that the clues were correctly given.

Input

The input contains several test cases. Each test case is described in a single line that contains a non-empty string of at most 20 characters. The string is formed entirely of uppercase letters “Y” and “N”, and represents the clues given so far, in order from left to right. The last line of the input contains a single asterisk and should not be processed as a test case.

Output

For each test case output a single line with the minimum positive integer that satisfies all the clues, or −1 if there is no such a number.

Example

Input:
YYNYY
YYYNNN
*

Output:
20
-1

hide comments
Patrick Klitzke: 2010-09-01 00:27:01

I also agree that 1s is just fine. My C++ solution runs in 0.03 seconds and I do not think that java is more than thirty times slower than C++. You just have to think about a fast algorithm

Mitch Schwartz: 2010-09-01 00:27:01

1s was fine for Java. I'm glad my original solution got rejected for TLE (now AC at 1.17 s) because it forced me to find a better way and not be too lazy. :)

Pablo Ariel Heiber: 2010-09-01 00:27:01

I just submitted a java translation of my C++ solution and passed in 0.91. I raised the limit to 3s to give more margin, but I think it wasn't THAT low.


Added by:Pablo Ariel Heiber
Date:2010-08-19
Time limit:2.950s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS OBJC PERL6 VB.NET
Resource:FCEyN UBA ICPC Selection 2008