#include<cmath> #include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm> #define M 100000 using namespace std; int p,k,lx,ly,rx,ry,num=1,py; int m[M],n[M]; double mn,mx; inline void Read(){ scanf("%d",&p); scanf("%d%d",&m[1],&n[1]); while(scanf("%d%d",&rx,&ry)){ if(rx==-1&&ry==-1) break; int lx=m[num],ly=n[num]; for(int i=lx+1;i<=rx;i++){ num++; m[num]=m[num-1]+1; n[num]=n[num-1]+(ry-ly)/(rx-lx); } } scanf("%d",&k); } int main(){ Read(); if(p>=m[num]){ lx=m[num],ly=n[num]; for(int i=lx+1;i<=p+1;i++){ num++; m[num]=m[num-1]+1; n[num]=n[num-1]-k; } } for(int i=1;i<=num;i++) if(m[i]==p){ py=n[i]; break; } mn=-0x3f3f3f3f,mx=0x3f3f3f3f; for(int i=1;i<=num;i++) if(py-n[i]>0) mn=max(mn,(double)((m[i]-m[1])*n[i]-(double)(p-m[1])*py)/(double)(py-n[i])); else mx=min(mx,(double)((m[i]-m[1])*n[i]-(double)(p-m[1])*py)/(double)(py-n[i])); if(mn>mx) printf("NO SOLUTION\n"); else if(mn>0) printf("%.0lf",ceil(mn)); else if(mx<0) printf("%.0lf",floor(mx)); else printf("0"); return 0; }