#include<fstream>
#include<time.h>
#include<algorithm>
using namespace std;

struct k {
	long long a, b;
};
bool cmp(k a, k b) {
	return a.b < b.b;
}

ifstream cin("castle.in");
ofstream cout("castle.out");

k a1[100001];
long long i, j, k1, l, r, m, n, s, su = 0, b1[100001] = { 0 };
int main() {
	cin >> n >> s;
	for (i = 0; i < n; i++) {
		cin >> k1 >> l;
		a1[i].a = k1 - (k1%l);
		a1[i].b = l;
		b1[i] = k1%l;
		su = su + k1;
	}
	sort(a1, a1 + n, cmp);
	sort(b1, b1 + n);
	l = n - 1;
	r = n - 1;
	while (s > 0 && (l >= 0 || r >= 0)) {
		if (l < 0) {
			su = su - b1[r];
			r--;
			s--;
		}
		else if (r < 0) {
			su = su - min(long long(s*a1[l].b), long long(a1[l].a));
			s = max(long long(0), long long(s - (a1[l].a / a1[l].b)));
			l--;

		}
		else {
			if(b1[r]>=a1[l].b) {
				su = su - b1[r];
				r--;
				s--;
			}
			else {
				su = su - min(s*a1[l].b, a1[l].a);
				s = max(long long(0),long long( s - (a1[l].a / a1[l].b)));
				l--;

			}


		}


	}

	cout << su;
	//system("pause");
	return 0;

}