Worms

The students of UBB Cluj have a lot of free time, and so does Comisia.

After returning to Cluj-Napoca from Bucharest and finishing her introspective analysis of the city's infrastructure, she decided to make a game. She doesn't want to create a very complex game (after all, she wants to finish it today), so she chose to clone the standard game of Worms. To make things easier for her, she will only implement a 1D version of it (because switching to 2D (or even 3D) is easy after finishing the 1D version).

A few hours have passed since she started writing the code and almost all of the graphics functions are ready. The main structure of the game is also finished. However an important problem arose and, after thinking about it for more than half an hour, she asks you for help.

You are given a 1-based indexed array of length N denoted by v, whose elements are 0 or 1, all of them being initially set to 0. You must execute M operations on this array:

1 a b c
Set v[a], v[a+1], ..., v[b] to c
2 a
Print 3 numbers, v[a], y, z where y is the smallest index such that v[y], v[y+1], ..., v[a] are equal and z is the largest index such that v[a], v[a+1], ..., v[z] are equal.

Help Comisia by writing a program which solves this problem and she will be able to finish her game in no time.

Input

On the first line of the input there are N and M. Each of the next M lines contains the description of a query.

Output

Print the answer to each operation of type 2, as described above.

Constraints

1 ≤ N, M ≤ 50000
For every query, 1 ≤ a ≤ b ≤ n and c is 0 or 1.

Sample

InputOutput
7 10
2 3
1 2 3 1
2 3
1 3 4 0
2 3
1 3 6 1
2 5
2 1
1 3 5 0
2 4
0 1 7
1 2 3
0 3 7
1 2 6
0 1 1
0 3 5
Questions?

Sponsors Gold