#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,w[11000],pr[10010],dp[10010]={},s=0,t,tl[11000],mini=1e9;
cin>>m>>n>>t;
for(int i=1;i<=n;i++){
cin>>w[i]>>tl[i];
s+=w[i];
pr[i]=w[i];
mini=min(mini,tl[i]);
}
if(mini>t){
cout<<"Impossible";
return 0;
}
if(s<m){
cout<<"Impossible";
return 0;
}
for(int i=1;i<=n;i++){
for(int j=t;j>=tl[i];j--){
dp[j]=max(dp[j],dp[j-tl[i]]+pr[i]);
}
}
if(dp[m]<0){
cout<<"Impossible";
return 0;
}
cout<<dp[m];
return 0;
}