#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define mn 3500
using namespace std;
int n,m,w[mn],v[mn],c;
int f[2][10005];
int t;
int main() {
cin>>m>>n>>c;
for(int i=1;i<=n;i++) cin>>v[i]>>w[i];
for(int i=1;i<=n;i++) {
t=(t+1)%2;
for(int j=1;j<=c;j++) {
if(t) {
if(j-w[i]>=0) f[1][j]=max(f[0][j],f[0][j-w[i]]+v[i]);
else f[1][j]=f[0][j];
}
else {
if(j-w[i]>=0) f[0][j]=max(f[1][j],f[1][j-w[i]]+v[i]);
else f[0][j]=f[1][j];
}
}
}
for(int i=1;i<=c;i++)
if(f[t][i]>=m) {
cout<<c-i<<endl;
return 0;
}
cout<<"Impossible"<<endl;
return 0;
}