favorite We need a little bit of your help to keep things running, click on this banner to learn more
Problems

# Hanafuda Shuffle

There are a number of ways to shuffle a deck of cards. Hanafuda shuffling for Japanese card game 'Hanafuda' is one such example. The following is how to perform Hanafuda shuffling.

There is a deck of n cards. Starting from the p-th card from the top of the deck, c cards are pulled out and put on the top of the deck, as shown in Figure. This operation, called a cutting operation, is repeated.

Write a program that simulates Hanafuda shuffling and answers which card will be finally placed on the top of the deck.

Figure: Cutting operation

#### Input

Consists of multiple data sets. Each data set starts with a line containing two positive integers n (1n50) and r (1r50); n and r are the number of cards in the deck and the number of cutting operations, respectively.

There are r more lines in the data set, each of which represents a cutting operation. These cutting operations are performed in the listed order. Each line contains two positive integers p and c (p + cn + 1). Starting from the p-th card from the top of the deck, c cards should be pulled out and put on the top.

The end of the input is indicated by a line which contains two zeros.

#### Output

For each input data set your program should write the number of the top card after the shuffle. Assume that at the beginning the cards are numbered from 1 to n, from the bottom to the top. Each number should be written in a separate line without any superfluous characters such as leading or following spaces.

Time limit 1 second
Memory limit 64 MiB
Input example #1
5 2
3 1
3 1
10 3
1 10
10 1
8 3
0 0

Output example #1
4
4

Source 2004 ACM International Collegiate Programming Contest, Japan Domestic Contest, Ehime, Japan, July 2, Problem A