#include <iostream>
#include <cstdlib>
using namespace std;
//英语 看博友好分析 抄博友程序 exgcd未实现 二分未实现 背
int main()
{
int n,m;
cin>>n>>m;
int jg=1000000000;//抄博友程序
for(int o=0;o<m;o++)
{
int u,d;
cin>>u>>d;
//抄博友 k=(u+d)*x-d*n x次上升
int k=u*n;//最大能升到 k 层
int c=u+d;//每 少按一次上升 多按一次下降 下降多少层
int t;
if(k%c==0)
{
t=u+d;
}else
{
t=k%c;
}
jg=min(jg,t);
}
cout<<jg<<endl;
return 0;
}