For technical reasons, some programming languages (Kotlin, C #) will not be available during round 877.
×

Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

C. Holidays

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputSchool holidays come in Berland. The holidays are going to continue for *n* days. The students of school №*N* are having the time of their lives and the IT teacher Marina Sergeyevna, who has spent all the summer busy checking the BSE (Berland State Examination) results, has finally taken a vacation break! Some people are in charge of the daily watering of flowers in shifts according to the schedule. However when Marina Sergeyevna was making the schedule, she was so tired from work and so lost in dreams of the oncoming vacation that she perhaps made several mistakes. In fact, it is possible that according to the schedule, on some days during the holidays the flowers will not be watered or will be watered multiple times. Help Marina Sergeyevna to find a mistake.

Input

The first input line contains two numbers *n* and *m* (1 ≤ *n*, *m* ≤ 100) — the number of days in Berland holidays and the number of people in charge of the watering respectively. The next *m* lines contain the description of the duty schedule. Each line contains two integers *a*_{i} and *b*_{i} (1 ≤ *a*_{i} ≤ *b*_{i} ≤ *n*), meaning that the *i*-th person in charge should water the flowers from the *a*_{i}-th to the *b*_{i}-th day inclusively, once a day. The duty shifts are described sequentially, i.e. *b*_{i} ≤ *a*_{i + 1} for all *i* from 1 to *n* - 1 inclusively.

Output

Print "OK" (without quotes), if the schedule does not contain mistakes. Otherwise you have to find the minimal number of a day when the flowers will not be watered or will be watered multiple times, and output two integers — the day number and the number of times the flowers will be watered that day.

Examples

Input

10 5

1 2

3 3

4 6

7 7

8 10

Output

OK

Input

10 5

1 2

2 3

4 5

7 8

9 10

Output

2 2

Input

10 5

1 2

3 3

5 7

7 7

7 10

Output

4 0

Note

Keep in mind that in the second sample the mistake occurs not only on the second day, but also on the sixth day, when nobody waters the flowers. However, you have to print the second day, i.e. the day with the minimal number.

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/24/2017 14:07:26 (c3).

Desktop version, switch to mobile version.

User lists

Name |
---|