#include <iostream>
#include<string>
#include<string.h>
#include<stdio.h>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
#define Max(a,b) a>b?a:b
#define Min(a,b) a<b?a:b
int dp[30010],val[110],wei[110];
int main()
{
int t;
cin>>t;
while(t--)
{
int money,n;
cin>>money>>n;
for(int i=0;i<n;i++)
cin>>wei[i]>>val[i];
fill(dp,dp+money+1,0);
for(int i=0;i<n;i++)
for(int j=money;j>=wei[i];j--)
dp[j]=Max(dp[j],dp[j-wei[i]]+wei[i]*val[i]);
cout<<dp[money]<<endl;
}
}
#include<string>
#include<string.h>
#include<stdio.h>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
#define Max(a,b) a>b?a:b
#define Min(a,b) a<b?a:b
int dp[30010],val[110],wei[110];
int main()
{
int t;
cin>>t;
while(t--)
{
int money,n;
cin>>money>>n;
for(int i=0;i<n;i++)
cin>>wei[i]>>val[i];
fill(dp,dp+money+1,0);
for(int i=0;i<n;i++)
for(int j=money;j>=wei[i];j--)
dp[j]=Max(dp[j],dp[j-wei[i]]+wei[i]*val[i]);
cout<<dp[money]<<endl;
}
}