Today, Rikka is going to learn how to use BIT to solve some simple data structure tasks. While studying, She finds there is a magic expression
)
in the template of BIT. After searching for some literature, Rikka realizes it is the implementation of the function
%7D)
.
)
is defined on all positive integers. Let a
1...a
m be the binary representation of x while a
1 is the least significant digit, k be the smallest index which satisfies a
k = 1. The value of
)
is equal to 2
k-1.
After getting some interesting properties of
)
, Rikka sets a simple data structure task for you:
At first, Rikka defines an operator f(x), it takes a non-negative integer x. If x is equal to 0, it will return 0. Otherwise it will return
)
or
)
, each with the probability of

.
Then, Rikka shows a positive integer array A of length n, and she makes m operations on it.
There are two types of operations:
1. 1 L R, for each index i ∈ [L,R], change A
i to f(A
i).
2. 2 L R, query for the expectation value of

. (You may assume that each time Rikka calls f, the random variable used by f is independent with others.)