// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	input = input.split("\n");
    const numStrListList = input.map(str => str.split(" "));
    const numListList = numStrListList.map(ls => (ls.map(x => parseInt(x, 10))));
  
    const N = numListList[0][0];
    const M = numListList[0][1];

    const shopInfoList = [];
    // リストを作る
    for (var i = 1; i < 1 + N; i++) {
        shopInfoList.push({
          price: numListList[i][0],
          count: numListList[i][1]
        });
    }
    // ソートする
    shopInfoList.sort((a, b) => a.price > b.price);
  
    var totalPrice = 0;
    var totalCount = 0;
	for (var i = 0; i < shopInfoList.length; i++) {
      var price = shopInfoList[i].price;
      var count = shopInfoList[i].count;
      
      var buyCount = Math.min(count, M - totalCount);
      totalPrice += buyCount * price;
      totalCount += buyCount;
      
      if (totalCount === M) {
        break;
      }
    }
  
    console.log(totalPrice);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));