听取wa声一片
#include<iostream>
using namespace std;
const int maxm=10005,maxn=10005;
int s,m,n,ans,x=0;
int w[maxn],c[maxn];
int f[maxm];
int main()
{
cin>>s>>n>>m;
for(int i=1;i<=n;i++){
cin>>c[i]>>w[i];
}
for(int i=1;i<=n;i++){
for(int v=m;v>=w[i];v--){
if(f[v-w[i]]+c[i]>f[v]){
f[v]=f[v-w[i]]+c[i];
if(i!=x)
{
ans+=w[i];
x=i;
}
}
}
}
if(f[m]<s)
{
cout<<"Impossible";
}
else
{
cout<<m-ans<<endl;
}
return 0;
}