ICPC 2014 · Problem K · Surveillance

38th ICPC · Yekaterinburg, Russia

Statement

Time Limit: 4 seconds

The International Corporation for Protection and Control (ICPC) develops efficient technology for, well, protection and control. Naturally, they are keen to have their own headquarters protected and controlled. Viewed from above, the headquarters building has the shape of a convex polygon. There are several suitable places around it where cameras can be installed to monitor the building. Each camera covers a certain range of the polygon sides (building walls), depending on its position. ICPC wants to minimize the number of cameras needed to cover the whole building.

Input

The input consists of a single test case. Its first line contains two integers nn and kk (3n1063 \le n \le 10^{6} and 1k1061 \le k \le 10^{6}), where nn is the number of walls and kk is the number of possible places for installing cameras. Each of the remaining kk lines contains two integers aia_{i} and bib_{i} (1ai,bin1\le ai, bi \le n). These integers specify which walls a camera at the ithi^{th} place would cover. If aibiai \le bi then the camera covers each wall jj such that aijbiai \le j \le bi. If ai>biai > bi then the camera covers each wall jj such that aijnai \le j \le n or 1jbi1\le j \le b_{i}.

Output

Display the minimal number of cameras that suffice to cover each wall of the building. The ranges covered by two cameras may overlap. If the building cannot be covered, display impossible instead.

Sample Input 1

100 7
1 50
50 70
70 90
90 40
20 60
60 80
80 20

Sample Output 1

3

Sample Input 2

8 2
8 3
5 7

Sample Output 2

impossible

Sample Input 3

8 2
8 4
5 7

Sample Output 3

2

ACM-ICPC World Finals 2014 Problem K: Surveillance

No official solution in the source collection.