#include <bits/stdc++.h>
using namespace std;
#define M 10005
struct mt
{
int id, soluong, gia;
};
mt a[M];
int m, n;
long long s;
bool cmp(mt x, mt y)
{
return x.gia < y.gia;
}
bool cmp1(mt x, mt y)
{
return x.id < y.id;
}
int main()
{
cin >> m >> n;
for(int i = 0; i < n; i++)
{
a[i].id = i + 1;
cin >> a[i].soluong >> a[i].gia;
}
sort(a, a + n, cmp);
for(int i = 0; i < n; i++)
{
if(m > 0)
{
if(a[i].soluong >= m)
{
a[i].soluong = m;
m = 0;
}
else
{
m -= a[i].soluong;
}
s += a[i].gia * a[i].soluong;
}
else a[i].soluong = 0;
}
cout << s << '\n';
sort(a, a + n, cmp1);
for(int i = 0; i < n; i++)
cout << a[i].soluong << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTSAxMDAwNQoKc3RydWN0IG10CnsKICAgIGludCBpZCwgc29sdW9uZywgZ2lhOwp9OwoKbXQgYVtNXTsKaW50IG0sIG47CmxvbmcgbG9uZyBzOwoKYm9vbCBjbXAobXQgeCwgbXQgeSkKewogICAgcmV0dXJuIHguZ2lhIDwgeS5naWE7Cn0KCmJvb2wgY21wMShtdCB4LCBtdCB5KQp7CiAgICByZXR1cm4geC5pZCA8IHkuaWQ7Cn0KCmludCBtYWluKCkKewogICAgY2luID4+IG0gPj4gbjsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgYVtpXS5pZCA9IGkgKyAxOwogICAgICAgIGNpbiA+PiBhW2ldLnNvbHVvbmcgPj4gYVtpXS5naWE7CiAgICB9CiAgICBzb3J0KGEsIGEgKyBuLCBjbXApOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBpZihtID4gMCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGFbaV0uc29sdW9uZyA+PSBtKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBhW2ldLnNvbHVvbmcgPSBtOwogICAgICAgICAgICAgICAgbSA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBtIC09IGFbaV0uc29sdW9uZzsKICAgICAgICAgICAgfQogICAgICAgICAgICBzICs9IGFbaV0uZ2lhICogYVtpXS5zb2x1b25nOwogICAgICAgIH0KICAgICAgICBlbHNlIGFbaV0uc29sdW9uZyA9IDA7CiAgICB9CiAgICBjb3V0IDw8IHMgPDwgJ1xuJzsKICAgIHNvcnQoYSwgYSArIG4sIGNtcDEpOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICBjb3V0IDw8IGFbaV0uc29sdW9uZyA8PCAnXG4nOwp9Cg==