Yuuka is interested in n independent events. The probability that the i-th event occurs is p_i. Yuuka is going to perform m operations, each being one of the following:
The input contains zero or more test cases, and is terminated by end-of-file. For each test case:
The first line contains two integers n and m: the number of events and the number of operations (1≤n,m≤105).
The second line contains n real numbers p_1,p_2,…,p_n where p_i is the probability that the i-th event occurs (10−5≤p_i≤0.1).
The following m lines provide the descriptions of the operations. The i-th line starts with an integer t_i: the type of the corresponding operation. If t_i is "0", it is followed by two integers l_i and r_i. If t_i is "1", it is followed by two integers l_i and r_i, and a real number k_i (1≤l_i≤r_i≤n, 0.0001≤k_i≤100).
Each real number in the input has exactly five digits after the decimal point. Additionally, it is guaranteed that, at every moment, every p_i lies in the interval \[10−5,0.1].
It is guaranteed that neither the sum of all n nor the sum of all m will exceed 105.
For each operation of type "0", output a real number denoting the answer. Your answer will be considered correct if its relative error doesn't exceed 10−9.