#include <iostream>
using namespace std;
int D[ 10001 ] ;
int main( ) {
int T;
scanf ( "%d" , & T) ;
int N;
int money, t;
scanf ( "%d" , & N) ;
for ( int i= 0 ; i< N; i++ ) {
scanf ( "%d %d" , & money, & t) ;
int add_cnt= 0 ;
for ( int j= 10000 ; j>= 1 ; j-- ) {
for ( int k= 1 ; k<= t; k++ ) {
if ( j- money* k== 0 )
D[ j] ++ ;
if ( j- money* k> 0 && D[ j- money* k] ! = 0 ) {
D[ j] + = D[ j- money* k] ;
}
}
}
}
for ( int i= 1 ; i<= T; i++ ) {
printf ( "i = %d, D[i] =%d\n " , i, D[ i] ) ;
}
//printf("%d\n", D[T]);
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IERbMTAwMDFdOwppbnQgbWFpbigpIHsKCWludCBUOwoJc2NhbmYoIiVkIiwgJlQpOwoJaW50IE47CglpbnQgbW9uZXksIHQ7CglzY2FuZigiJWQiLCAmTik7Cglmb3IoaW50IGk9MDsgaTxOOyBpKyspewoJCXNjYW5mKCIlZCAlZCIsICZtb25leSwgJnQpOwoJCWludCBhZGRfY250PTA7CgkJZm9yKGludCBqPTEwMDAwOyBqPj0xOyBqLS0pewoJCQoJCQlmb3IoaW50IGs9MTsgazw9dDsgaysrKXsKCQkJCWlmKGotbW9uZXkqaz09MCkKCQkJCQlEW2pdKys7CgkJCQlpZihqLW1vbmV5Kms+MCAmJiBEW2otbW9uZXkqa10hPTApewoJCQkJCURbal0rPURbai1tb25leSprXTsKCQkJCX0KCQkJfQoJCX0KCX0KCWZvcihpbnQgaT0xOyBpPD1UOyBpKyspewoJCXByaW50ZigiaSA9ICVkLCBEW2ldID0lZFxuIiwgaSwgRFtpXSk7Cgl9CgkvL3ByaW50ZigiJWRcbiIsIERbVF0pOwoJcmV0dXJuIDA7Cn0=
stdout
i = 1, D[i] =1
i = 2, D[i] =1
i = 3, D[i] =1
i = 4, D[i] =1
i = 5, D[i] =2
i = 6, D[i] =1
i = 7, D[i] =1
i = 8, D[i] =1
i = 9, D[i] =1
i = 10, D[i] =3
i = 11, D[i] =2
i = 12, D[i] =2
i = 13, D[i] =2
i = 14, D[i] =2
i = 15, D[i] =4
i = 16, D[i] =2
i = 17, D[i] =2
i = 18, D[i] =2
i = 19, D[i] =2
i = 20, D[i] =4