MHLAR10 - Hyperactive Girl

Helen is a hyperactive girl. She wants to schedule her activities so that at any moment of the day there is at least one thing she can do. She does not care if her activities overlap in time, as long as every moment of her day has an activity scheduled.

Helen divided the day in a particular way. The day starts at time 0 and finishes at time M. Each moment of the day is represented by a real number between 0 and M, inclusive. Helen made a list of all possible activities, with their start and finish times. Now she must decide which subset of activities to schedule.

If an activity starts at time S and finishes at time F, then we say that it covers all moments between S and F, inclusive. Helen does not want to waste any activities, so she will only choose minimal subsets of activities that cover the day to be scheduled. A subset of activities is a minimal subset that covers the day if and only if:

  1. every moment of the day is covered by at least one activity of the subset; and
  2. removing any of the activities from the subset would leave at least one moment of the day uncovered.

Note that some moments of the day may be covered by more than one activity.

Given the list of possible activities for one day, you must help Helen by determining how many distinct minimal subsets cover the day.

Input

Each test case is given using several lines. The first line contains two integers M and N, representing respectively the highest value for a moment in the day (1 ≤ M ≤ 10^9) and the number of possible activities for the day (1 ≤ N ≤ 100). Each of the next N lines describes one possible activity and contains two integers S and F, representing respectively the start and finish times of the activity (0 ≤ S < F ≤ M).

The last test case is followed by a line containing two zeros.

Output

For each test case output a single line with a single integer representing the number of minimal subsets that cover the day. To make your life easier, print the remainder of dividing the solution by 10^8.

Sample

Input:
8 7
0 3
2 5
5 8
1 3
3 6
4 6
0 2
1 1
0 1
2 1
0 1
0 0

Output:
4
1
0

Added by:psetter
Date:2010-11-05
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:ACM ICPC2010 – Latin American Regional

hide comments
2015-09-23 16:47:35 waddlepoof
read carefully
2013-09-07 14:22:41 Hussain Kara Fallah
Done In O(N^2)
2012-09-23 01:12:02 [Hakuna Matata]
the problem is not this, read again!
also [0, 2]+[1, 3]+[3, 6]+[5, 8] is solution in first case because--> A subset of activities is a minimal subset that covers the day if and only if:
1. every moment of the day is covered by at least one activity of the subset; and
2. removing any of the activities from the subset would leave at least one moment of the day uncovered.
2012-07-30 23:12:57 Haidar Abboud
Can anyone explain why the answer for the first testcase is 4 ?

solving by hand yields answers
[0 , 3] + [3 , 6] + [5 , 8]
[0 , 3] + [2 , 5] + [5 , 8]
[0 , 2] + [2 , 5] + [5 , 8]

we can't cover the entire day with less than 3 intervals , and only 3 distinct subsets exist
2012-06-21 13:45:35 Ashish Khurange
Pay attention to --->

"To make your life easier, print the remainder of dividing the solution by 10^8."
2010-11-19 15:41:31 David Gómez
Got AC using an O(N^3) algorithm. Can it be solved in O(N^2)?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.