#HK4163. 「JOI Open 2024」考试 2
「JOI Open 2024」考试 2
Statement
JOI-kun goes to IOI High School, where the final exam is held soon. In the exam, students will be tested on whether they can correctly calculate the value of an IOI function. An IOI function is a string obtained by one of the following six rules defined by IOI High School, which maps integers between and (inclusive) to boolean values, either True or False.
- Let a be an integer between and (inclusive), then
[a]is an IOI function (ais the string representation of a in decimal notation). This IOI function maps integers greater than or equal to a toTrue, and integers less than a toFalse. - Let
fbe an IOI function, then(f)is also an IOI function. This IOI function maps the same integers toTrueandFalseasfdoes. - Let
fbe an IOI function, then!fis also an IOI function. This IOI function maps integers thatfmaps toTruetoFalse, and vice versa. - Let
fandgbe IOI functions, thenf&gis also an IOI function. This IOI function maps integers toTrueif bothfandgmap them toTrue, and toFalseotherwise. - Let
fandgbe IOI functions, thenf^gis also an IOI function. This IOI function maps integers toTrueif exactly one offorgmaps them toTrue, and toFalseotherwise. - Let
fandgbe IOI functions, thenf|gis also an IOI function. This IOI function maps integers toTrueif at least one offorgmaps them toTrue, and toFalseotherwise.
If an IOI function is obtained using multiple rules, the rule with the higher number determines the boolean value that the IOI function maps integers to. For example, for [1]&[2]|[3], rule 6 is applied to f = [1]&[2] and g = [3] (rather than applying rule 4 to f = [1] and g = [2]|[3]). Additionally, for rules 4, 5, and 6, the rule is applied so that f becomes as long as possible. For example, for [4]^[5]^[6], rule 5 is applied to f = [4]^[5] and g = [6] (rather than applying rule 5 to f = [4] and g = [5]^[6]).
To prepare for the exam, JOI-kun has prepared an IOI function of length and intends to practice determining the boolean values that this IOI funcition maps integers to. He askes for your help, as you are proficient with handling IOI functions, to create a sample solution.
Write a program which, given , , and , determines the boolean values that the IOI function maps integers to.
Input
The input is given from Standard Input in the following format:
Output
Print lines to Standard Output. -th line should contain a single boolean value which the IOI function maps the integer to.
Constraints
- .
- .
- is an IOI function of length .
- (.
- , , and () are integers.
Subtasks
- (5 points) does not contain
&or|. - (20 points) .
- (10 points) .
- (6 points) does not contain
!or^. - (12 points) When rule 4 or rule 6 was applied in the process of obtaining , at least one of
forgwas an IOI function obtained from rule 1. - (20 points) .
- (27 points) No additional constraints.
15 5
(![2]|[3])&![4]
1
2
3
4
5
True
False
True
False
False
For some of the IOI functions that appear in the process of obtaining according to the rules in the problem statement, the boolean values they map integers ( to are as shown in the following table.
![2] |
[3] |
![2]|[3] |
![4] |
(![2]|[3])&![4] |
|
|---|---|---|---|---|---|
| 1 | True |
False |
True |
True |
True |
| 2 | False |
False |
False |
True |
False |
| 3 | False |
True |
True |
True |
True |
| 4 | False |
True |
True |
False |
False |
| 5 | False |
True |
True |
False |
False |
This sample input satisfies the constraints of subtasks 3, 6 and 7.
20 4
(!![23])^((([116])))
54
1
200
89
True
False
False
True
This sample input satisfies the constraints of subtasks 1, 3, 5, 6 and 7.
32 4
[2]|[5]&[1]|(([1000000000])|[7])
4
10
6
1
True
True
True
False
This sample input satisfies the constraints of subtasks 3, 4, 6 and 7.