Nick is a mathematician and his speciality is Boolean logic, especially repetition-free functions. The
Boolean function is repetition-free if it can be represented as a repetition-free formula. Formula is
repetition-free if each variable occurs in the formula only once.
Let us fix the syntax of considered logical formula:
. Variables — letters from ‘a’ to ‘k’;
. Parentheses — if E is a formula, then (E) is another;
. Negation — ~E is a formula for any formula E;
. Conjunction — E1 & E2 & ... & En.
. Disjunction — E1 | E2 | ... | En.
The operations are listed from the highest priority to the lowest.
The problem is to represent given Boolean function by a repetition-free formula.
The only line of input contains the Boolean function represented as a string consisting of characters
‘a’..‘k’, ‘(’, ‘)’, ‘~’, ‘&’ and ‘|’. Tokens can be
separated by an arbitrary number of spaces. The line contains 1000 characters at most. The formula in
the file is syntactically correct.
The first line of the output file must contain “yes” if function is repetition-free and “no” otherwise.
Migrated from old NTUJ.
No. | Testdata Range | Score |
---|