Binary Simulation

2 seconds
64 MB
Easy
LOJ-1080 Udebug Debug
English

Given a binary number, we are about to do some operations on the number. Two types of operations can be here:

  1. I i j, inverts all the bits from i to j (inclusive).
  2. Q i return whether the ith bit is 0 or 1.

The MSB (most significant bit) is the first bit (i.e. i=1). The binary number can contain leading zeroes.

Input

Input starts with an integer T (≤ 10), denoting the number of test cases.

Each case starts with a line containing a binary integer having length n (1 ≤ n ≤ 105). The next line will contain an integer q (1 ≤ q ≤ 50000) denoting the number of queries.

Each query will be either in the form I i j where i, j are integers and 1 ≤ i ≤ j ≤ n. Or the query will be in the form Q i where i is an integer and 1 ≤ i ≤ n.

Output

For each case, print the case number in a single line. Then for each query Q i you have to print 1 or 0 depending on the ith bit.

Sample

Sample Input Sample Output

2 0011001100 6 I 1 10 I 2 7 Q 2 Q 1 Q 7 Q 5 1011110111 6 I 1 10 I 2 7 Q 2 Q 1 Q 7 Q 5

Case 1: 0 1 1 0 Case 2: 0 0 0 1

Notes

Dataset is huge, use faster I/O methods.