import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m, n;
m = sc.nextInt();
n = sc.nextInt();
List<Map<String, Integer>> shopList = new ArrayList<>();
for (int i = 1; i <= n; i++) {
Map<String, Integer> shop = new HashMap<>();
shop.put("price", sc.nextInt());
shop.put("count", sc.nextInt());
shopList.add(shop);
}
//容器排序
Collections.sort(shopList, new Comparator<Map<String, Integer>>() {
@Override
public int compare(Map<String, Integer> o1, Map<String, Integer> o2) {
//如果前一个 price > 后一个 price,则交换这两个map
return o1.get("price") - o2.get("price");
}
});
//总共需要购买 m 个贺卡,m 还需要购买的贺卡个数
int money = 0;
for (int i = 0; i < shopList.size(); i++) {
//第 i 间商铺
Map<String, Integer> shop = shopList.get(i);
if( shop.get("count") >= m){
//不需要这么多了
money = money + m * shop.get("price");
m = 0;
break;
}else{
money = money + shop.get("count") * shop.get("price");
m = m - shop.get("count");
}
}
System.out.print(money);
sc.close();
}
}
/**************************************************************
Problem: 1730
User: admin
Language: Java
Result: Accepted
Time:2253 ms
Memory:40664 kb
****************************************************************/