Baltic Olympiad in Informatics: 2006 Day 1, Problem 2
In a certain country, there are denominations of coins in circulation, including the
-cent coin. Additionally, there's a bill whose value of
cents is known to exceed
any of the coins. There's a coin collector who wants to collect a specimen of each
denomination of coins. He already has a few coins at home, but currently he only
carries one
-cent bill in his wallet. He's in a shop where there are items sold at all
prices less than
cents (
cent,
cents,
cents,
,
cents). In this shop, the
change is given using the following algorithm:
- Let the amount of change to give be
cents.
- Find the highest denomination that does not exceed
. (Let it be the
-cent coin.)
- Give the customer a
-cent coin and reduce
by
.
- If
, then end; otherwise return to step
.
The coin collector buys one item, paying with his -cent bill.
Your task is to write a program that determines:
- How many different coins that the collector does not yet have in his collection can he acquire with this transaction?
- What is the most expensive item the store can sell him in the process?
Input
The first line of the input
contains the integers
and
. The
following
lines describe the coins in circulation. The
-th line contains the
integers
and
, where
is the value (in cents) of the coin, and
is
, if
the collector already has this coin, or
, if he does not. The coins are given in the
increasing order of values, that is,
. The first coin is known to be the
-cent coin, that is,
.
Output
The first line of the output should contain a single integer — the maximal number of denominations that the collector does not yet have, but could acquire with a single purchase. The second line of the output should also contain a single integer — the maximal price of the item to buy so that the change given would include the maximal number of new denominations, as declared on the first line.
Sample Input
7 25
1 0
2 0
3 1
5 0
10 0
13 0
20 0
Sample Output
3
6
Comments