#include<bits/stdc++.h>
using namespace std;
const int INF=1e9;
int dp[99999],A[999],B[999];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m,k,sum=0;
cin>>n>>m>>k;
if(m<k) return cout<<"Impossible",0;
for(int i=1;i<=n;i++)
{
cin>>A[i];
sum+=A[i];
if(A[i]<k) return cout<<"Impossible",0;
}
for(int i=1;i<=m*300;i++) dp[i]=-INF;
for(int i=1;i<=m;i++)
{
cin>>B[i];
for(int j=m*300;j>=B[i];j--) dp[j]=max(dp[j],dp[j-B[i]]+min(B[i],n));
}
for(int i=sum;i<=m*300;i++) if(dp[i]>=k*n) return cout<<i-sum,0;
cout<<"Impossible";
}