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%;"/>).
import io, os, sys

input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline


def solve():
    n, q = map(int, input().split())
    s = input().strip().decode()
    for _ in range(q):
        i, j, k = map(int, input().split())
        if k == 1:
            s = s[:i-1] + ''.join(sorted(s[i-1:j],)) + s[j:]
        else:
            s = s[:i-1] + ''.join(sorted(s[i-1:j], reverse=True)) + s[j:]
    sys.stdout.write(f'{s}\n')



if __name__ == '__main__':
    solve()
