#include<iostream>
using namespace std;
#define ll long long
ll ans=-1;
ll v,n,c;
ll k[10003]={0};
ll m[10003]={0};
ll dp[1003][1003]={0};
int main()
{
cin>> v >> n >> c;
for(int i=1;i<=n;i++)
cin>> k[i] >> m[i];
for(int i=1;i<=n;i++)
for(int j=0;j<=c;j++)
{
if(j>=m[i])
dp[i][j]=max(dp[i-1][j],dp[i-1][j-m[i]]+k[i]);
else dp[i][j]=dp[i-1][j];
if(dp[i][j]>=v) ans=max(ans,c-j);
}
if(dp[n][c]>=v) cout<< ans;
else cout<< "Impossible";
return 0;
}