#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
#include <stack>
#include <math.h>
#include<iostream>
#include <map>
using namespace std;
#define INF 0xfffff;//0x代表十六进制
#define M 10050
double dp[M];
int main()
{
int mon, n;
while (cin >> mon >> n, mon+n) //之前写mon,n一直没事啊~ 为毛???
{
memset(dp, 0, sizeof(dp));
for (int i = 0; i < n; i++)
{
int a;
double b;
cin >> a >> b;
for (int j = mon; j >= a; j--)
{
dp[j] = max(dp[j], 1-(1-dp[j - a]) * (1-b));
}
}
printf("%.1lf%%\n",dp[mon]*100);
}
return 0;
}