This task is very simple. Given a string *S* of length *n* and *q* queries each query is on the format *i* *j* *k* which means sort the substring consisting of the characters from *i* to *j* in non-decreasing order if *k* = 1 or in non-increasing order if *k* = 0.

Output the final string after applying the queries.
The first line will contain two integers *n*, *q* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>, 0 ≤ *q* ≤ 50 000), the length of the string and the number of queries respectively. 

Next line contains a string *S* itself. It contains only lowercase English letters.

Next *q* lines will contain three integers each *i*, *j*, *k* (1 ≤ *i* ≤ *j* ≤ *n*, <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/187c38b0d200dfc5b5249f93c000f8dee9c1180d.png" style="max-width: 100.0%;max-height: 100.0%;"/>).
s= input()
x=s.split(" ")[0]
y=s.split(" ")[1]
s=input()
i=0
while i < int(y):
    x=input().split(" ")
    if x[2] == "0":
        ps1=""
        ps2=""
        ps1+=s[:(int(x[0])-1)]
        ps2+=s[int(x[1]):]
        sp=s[(int(x[0])-1):int(x[1])]
        sp="".join(sorted(sp))
        s=ps1+sp[::-1]+ps2
    
    if x[2] == "1":
        ps1=""
        ps2=""
        ps1+=s[:(int(x[0])-1)]
        ps2+=s[int(x[1]):]
        sp=s[(int(x[0])-1):int(x[1])]
        sp="".join(sorted(sp))
        s=ps1+sp+ps2

    i=i+1
print(s)
 	  	 	  	   	  	 	     				