/*
http://acm.hdu.edu.cn/showproblem.php?pid=2079
简单的母函数题目;
开始把题目看错,以为个相同学分的不同科目是算不同的;
后来发现是相同的;
如果是不同的,那结果很大;
当然这是我审题错误;
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <string>
#include <iomanip>
int g[9],la[55],lb[55];
using namespace std;
int main(int argc, char *argv[])
{
int t,n,k,a,b;
cin>>t;
while(t--)
{
cin>>n>>k;
memset(g,0,sizeof(g));
for(int i = 0; i < k; i++)
{
cin>>a>>b;
g[a] = b;
}
memset(la,0,sizeof(la));
memset(lb,0,sizeof(lb));
for(int i = 0; i <= g[1]; i++)
la[i] = 1;
for(int i = 2; i <= 8; i++)
{
for(int j = 0; j <= 40; j++)
{
for(int k = 0,s = 0; (s<=g[i])&&(j+k<=40); k+=i,s++)
lb[j+k] += la[j];
}
for(int j = 0; j <= 40; j++)
{
la[j] = lb[j];
lb[j] = 0;
}
}
cout<<la[n]<<endl;
}
return 0;
}