AlienAlgegra
In the planet SillyMath, the algebraist Bongo invented the Bongo Algebra. The Bongo Algebra is a calculation system for a language that only contains three operators (k,i,t) and a constant (0). The language of Bongo expressions is defined as follows:
- 0 is a Bongo Expression.
- If e1 and e2 are Bongo expressions, then i(e1), k(e1, e2) and t(e1, e2) are also Bongo expressions. 3. There are no more Bongo expressions, except those defined by 1. and 2. above.
The motivation for Bongo Algebra is connected to Bimbo Theory; unfortunately, we cannot explain the connections in detail for lack of space. Anyway, the purpose of Bongo Algebra is to verify if equations between Bongo expressions are valid. This has been an open problem for quite a while, since Tango has raised it at the Interplanetary Algebra Congress for the first time. What has bugged researchers for so long is that nothing (really!) is known about the operators k, i, and t, except that they obey the two following fundamental laws:
(Law1) i(x) = x for any x.
(Law2) t(y, t(x, 0)) = k(x, y) for any x,y.
These laws have been named the Bongo Laws even if other researchers have been claiming credit for similar (unfortunately incorrect) solutions. The interest of these laws is clear: using them, one can easily determine if two Bongo expressions are equal. For example, we can check that the equation
i(i(k(t(0, 0), i(0))) = t(0, t(t(0, 0), 0)) is valid in the Bongo Algebra. Indeed, we have
i(i(k(t(0,0),i(0))) = k(t(0, 0), i(0)) k(t(0,0),i(0)) = k(t(0,0),0) k(t(0,0),0) = t(0,t(t(0,0),0))
applying Law1, twice applying Law1 applying Law2
Write a program that reads a sequence of pairs of Bongo expressions and determines whether each pair consists of expressions that can be proved equal by means of the Bongo Laws.
Input
The first line contains a positive integer N, indicating the number of pairs of expressions to process. The following lines include N ∗2 Bongo expressions, represented as strings built using just the characters ‘t’, ‘k’, ‘i’, ‘(’, ‘)’, ‘,’, and ‘0’. Starting from the first string, each consecutive pair of strings represents a pair of expressions to be compared.
Output
If the first line of the input contained the number N, then the output must contain exactly N lines, each one containing either ‘true’ or ‘false’, depending on whether the corresponding equation in the input is valid or invalid.
2/2 Sample Input
2
t(0,t(t(0,0),0))
i(i(k(t(0,0),i(0))))
i(t(0,t(0,0)))
k(0,t(0,0))
Sample Output
true false