#include<stdio.h>
#include<stdlib.h>
unsigned long long int pow(int a
,unsigned long long int b
) {int i=1;
for(int j=0;j<b;j++)
{
i*=a;
}
return i;
}
int main(void){
int parts,cost,temp,way=0,thetest=0;
int data[32]={0};
unsigned long long int tests=1,num,all;
scanf("%lld %lld",&all
,&num
); for(unsigned long long int i=0;i<num;i++)
{
scanf("%d %d",&parts
,&cost
); for(int j=0;j<parts;j++)
{
}
}
for(;tests
<pow(2,num
);tests
++) {
thetest=0;
unsigned long long temptest=tests;
for(unsigned long long int i=0;i<num;i++)
{
if(temptest%2==1){thetest|=data[i];}
temptest/=2;
}
if(thetest
==(pow(2,all
)-1)){way
++;} }
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CnVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgcG93KGludCBhLHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgYikKe2ludCBpPTE7CmZvcihpbnQgaj0wO2o8YjtqKyspCnsKaSo9YTsKfQpyZXR1cm4gaTsKfQppbnQgbWFpbih2b2lkKXsKaW50IHBhcnRzLGNvc3QsdGVtcCx3YXk9MCx0aGV0ZXN0PTA7CmludCBkYXRhWzMyXT17MH07CnVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdGVzdHM9MSxudW0sYWxsOwpzY2FuZigiJWxsZCAlbGxkIiwmYWxsLCZudW0pOwpmb3IodW5zaWduZWQgbG9uZyBsb25nIGludCBpPTA7aTxudW07aSsrKQp7CiAgICAgICAgc2NhbmYoIiVkICVkIiwmcGFydHMsJmNvc3QpOwogICAgICAgIGZvcihpbnQgaj0wO2o8cGFydHM7aisrKQogICAgICAgIHsKICAgICAgICAgICAgICAgIHNjYW5mKCIlZCIsJnRlbXApOwogICAgICAgICAgICAgICAgZGF0YVtpXSs9cG93KDIsdGVtcC0xKTsKCiAgICAgICAgfQp9CmZvcig7dGVzdHM8cG93KDIsbnVtKTt0ZXN0cysrKQp7CiAgICAgICAgdGhldGVzdD0wOwogICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0ZW1wdGVzdD10ZXN0czsKICAgICAgICBmb3IodW5zaWduZWQgbG9uZyBsb25nIGludCBpPTA7aTxudW07aSsrKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKHRlbXB0ZXN0JTI9PTEpe3RoZXRlc3R8PWRhdGFbaV07fQogICAgICAgICAgICAgICAgdGVtcHRlc3QvPTI7CiAgICAgICAgfQogICAgICAgIGlmKHRoZXRlc3Q9PShwb3coMixhbGwpLTEpKXt3YXkrKzt9Cn0KcHJpbnRmKCIlZCIsd2F5KTsKcmV0dXJuIDA7Cn0KCg==