Twist and whirl - want to cheat

View as PDF

Submit solution

Points: 1.20 (partial)
Time limit: 1.0s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
NEERC Southern Subregion 2003 - 2004
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Một tay lừa đảo có tiếng l*** đã sáng tạo ra một phương pháp để lừa bịp mọi người. Có ~N~ cái bát úp thành 1 hàng ngang trên bàn, và ở dưới mỗi cái bát đều có một quả bóng nhỏ. Các quả bóng này được đánh số từ 1 đến ~N~ từ trái sang phải. Một thao tác của l*** sẽ làm đảo ngược thứ tự của một dãy bát liên tiếp, ví dụ 2,3,4,5 thành 5,4,3,2. Sau khi l*** thực hiện M thao tác như vậy, bạn cần phải tìm ra số hiệu của ~N~ quả bóng nằm dưới ~N~ cái bát theo thứ tự từ trái sang phải.

Input

  • Dòng đầu chứa 2 số nguyên ~N~ và ~M~ ~(1 \leq N \leq 100000,\; 1 \leq M \leq 100000)~. Mỗi dòng trong M dòng tiếp theo chứa 2 số nguyên ~P_{i}~, ~Q_{i}~ (~1 \leq P_{i} \leq Q_{i} \leq N~) - vị trí của cái bát trái nhất và phải nhất trong dãy bát liên tiếp bị đảo ngược.

Output

  • In ra ~N~ số nguyên trên 1 dòng thể hiện số hiệu của ~N~ quả bóng theo thứ tự từ trái sang phải.

Sample Input 1

5 2
1 3
4 5

Sample Output 1

3 2 1 5 4

Sample Input 2

5 2
1 4
2 5

Sample Output 2

4 5 1 2 3

Note

  • Lưu ý: Thuật toán trâu bò sẽ bị TLE. Have fun! :D

Comments

Please read the guidelines before commenting.


There are no comments at the moment.