RACETIME  Race Against Time
As another one of their crazy antics, the N (1 ≤ N ≤ 100,000) cows want Farmer John to race against the clock to answer some of their pressing questions.
The cows are lined up in a row from 1 to N, and each one is holding a sign representing a number, A_{i} (1 ≤ A_{i} ≤ 1,000,000,000). The cows need FJ to perform Q (1 ≤ Q ≤ 50,000) operations, which can be either of the following:
 Modify cow i's number to X (1 ≤ X ≤ 1,000,000,000). This will be represented in the input as a line containing the letter M followed by the spaceseparated numbers i and X.
 Count how many cows in the range [P, Q] (1 ≤ P ≤ Q ≤ N) have A_{i} ≤ X (0 ≤ X ≤ 1,000,000,000). This will be represented in the input as a line containing the letter C followed by the spaceseparated numbers P, Q, and X.
Of course, FJ would like your help.
Input
The first line gives the integers N and Q, and the next N lines give the initial values of A_{i}. Finally, the next Q lines each contain a query of the form "M i X" or "C P Q X".
Output
Print the answer to each 'C' query, one per line.
Example
Input: 4 6 3 4 1 7 C 2 4 4 M 4 1 C 2 4 4 C 1 4 5 M 2 10 C 1 3 9 Output: 2 3 4 2
FJ has 4 cows, whose initial numbers are 3, 4, 1, and 7. The cows then give him 6 operations; the first asks him to count the how many of the last three cows have a number at most 4, the second asks him to change the fourth cow's number to 1, etc.
Warning: large input/output data.hide comments
secta:
20160302 14:00:48
I couldn't make my N*log^2(N) pass, I used segment tree with treap in each node and added fast input but still TLE :( 

Junior Andrade [UNIFEI]:
20151009 18:54:10
N + q*sqrt(n)*log(n) works! :) 

aristofanis:
20130903 15:17:46
How come N*sqrt(N) gets AC, and N*lg^2(N) gets TLE?


Pushkar Mishra:
20130412 17:23:57
how can an algorithm of complexity (N+Q)*log(N+Q) be TLE??! 
Added by:  Neal Wu 
Date:  20081025 
Time limit:  1s1.200s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO 