题目描述
逻辑表达式的定义如下:
+ 单个 `true` 或 `false` 都是逻辑表达式;
+ 如果 `S` 及 `T` 是逻辑表达式,那么 `S and T` 也是逻辑表达式;
+ 如果 `S` 及 `T` 是逻辑表达式,那么 `S or T` 也是逻辑表达式。
对逻辑表达式求值前,需要确定 `and` 与 `or` 运算的优先级:
+ 若规定先算 `and` 再算 `or`,则以下表达式的值为
````
true or false and false or false
~~~~~~~~~~~~~~~
= true or false or false
= true
````
定义这种计算顺序为**合取优先**;
+ 若规定先算 `or` 再算 `and`,则以下表达式的值为
````
true or false and false or false
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
= true and false
= false
````
定义这种计算顺序为**析取优先**。
给定一个逻辑表达式,请分别求出**合取优先**及**析取优先**规定下的计算结果。
输入
一串字符序列:表示给定的逻辑表达式,保证输入数据是一个合法的逻辑表达式。
输出
+ 第一行:表示在**合取优先**规定下逻辑表达式的值。
+ 第二行:表示在**析取优先**规定下逻辑表达式的值。
样例输入输出
输入#1
复制
true or false and false or false
提示
记 $n$ 表示输入字符序列的总长度,
+ 对于 $50\%$ 的数据,$1\leq n\leq 1000$;
+ 对于 $100\%$ 的数据,$1\leq n\leq 1,000,000$。