#Z5091. 存钱罐

存钱罐

阿Q是个不懂得存钱的人,每次花钱如流水。于是他的好友阿P送给他一个存钱罐,这个存钱罐存钱是不可逆的,只能往里存钱不能取钱,如果想取钱除非打破存钱罐。可这存钱罐又是阿P送的,阿Q自然就可以存下钱来。

经过半年存款后,阿Q已经存了不少的钱了,但是又不知道这个存钱罐里有多少钱。阿Q知道存钱罐的初始重量和现在的重量,以及每种硬币的面额和重量。于是阿Q就找到了聪明的你来帮忙计算,这个存钱罐最少已经有了多少钱呢?

输入格式

第一个行输入两个整数e,f (1ef10000) e, f \ (1 \le e \le f \le 10000),分别表示存钱罐的初始重量和现在重量。

第二行输入一个整数 n (1n500) n \ (1 \le n \le 500) ,表示有 n 种硬币。

接下来有 n 行输入,每行有两个整数 p,w (1p50000,1w10000)p, w\ (1 \le p \le 50000, 1\le w \le 10000),分别表示硬币的面额和硬币的重量。

输出格式

如果这些钱可以凑出存钱罐的重量,那么请输出存钱罐里最少有多少钱?

如果不能,请输出"impossible."。

样例输入1

1 6
2
10 3
20 4

样例输出1

impossible.

样例输入2

4 22
3
2 3
1 5
3 7

样例输出2

5