#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
scanf("%d%d", &n, &k);
int w[k+1], h[k+1];
for (int i = 1; i <= k; i++) {
scanf("%d%d", &w[i], &h[i]);
}
int dp[k+2][n+1];
for (int i = 0; i <= n; i++) {
dp[k+1][i] = 0;
}
for (int i = k; i >= 1; i--) {
for (int j = 0; j <= n; j++) {
dp[i][j] = dp[i+1][j];
if (j >= w[i]) {
dp[i][j] = max(dp[i][j], dp[i+1][j-w[i]] + h[i]);
}
}
}
int teringan;
for (int i = n; i >= 0; i--) {
if (dp[1][n] == dp[1][i]) {
teringan = i;
}
}
for (int i = 1; i <= k; i++) {
if (dp[i][teringan] == dp[i+1][teringan-w[i]] + h[i]) {
printf("%d\n", i);
teringan -= w[i];
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbiwgazsKCXNjYW5mKCIlZCVkIiwgJm4sICZrKTsKCWludCB3W2srMV0sIGhbaysxXTsKCWZvciAoaW50IGkgPSAxOyBpIDw9IGs7IGkrKykgewoJCXNjYW5mKCIlZCVkIiwgJndbaV0sICZoW2ldKTsKCX0KCWludCBkcFtrKzJdW24rMV07Cglmb3IgKGludCBpID0gMDsgaSA8PSBuOyBpKyspIHsKCQlkcFtrKzFdW2ldID0gMDsKCX0KCWZvciAoaW50IGkgPSBrOyBpID49IDE7IGktLSkgewoJCWZvciAoaW50IGogPSAwOyBqIDw9IG47IGorKykgewoJCQlkcFtpXVtqXSA9IGRwW2krMV1bal07CgkJCWlmIChqID49IHdbaV0pIHsKCQkJCWRwW2ldW2pdID0gbWF4KGRwW2ldW2pdLCBkcFtpKzFdW2otd1tpXV0gKyBoW2ldKTsKCQkJfQoJCX0KCX0KCWludCB0ZXJpbmdhbjsKCWZvciAoaW50IGkgPSBuOyBpID49IDA7IGktLSkgewoJCWlmIChkcFsxXVtuXSA9PSBkcFsxXVtpXSkgewoJCQl0ZXJpbmdhbiA9IGk7CgkJfQoJfQoJZm9yIChpbnQgaSA9IDE7IGkgPD0gazsgaSsrKSB7CgkJaWYgKGRwW2ldW3RlcmluZ2FuXSA9PSBkcFtpKzFdW3RlcmluZ2FuLXdbaV1dICsgaFtpXSkgewoJCQlwcmludGYoIiVkXG4iLCBpKTsKCQkJdGVyaW5nYW4gLT0gd1tpXTsKCQl9Cgl9Cn0=