#include <iostream>
#include <vector>
using namespace std;
int main()
{
  int n,m,t;
  cin>>n>>m>>t;
  vector<int>a(n);
  for(auto &x:a)cin>>x;
  long long int psum[n];
  for(int i=0;i<n;i++)psum[i]=a[i];
  for(int i=1;i<n;i++)psum[i]+=psum[i-1];
  long long int ans=0;
  vector<int>b(m);
  for(auto &x:b)cin>>x,x--;
  int cur_it=0;
  for(int i=0;i<n;i++)
  {
      while(cur_it<m&&b[cur_it]<i)cur_it++;
      if(cur_it)
      {
          int pos=b[cur_it-1];
          long long int len=psum[i-1]-(pos?psum[pos-1]:0LL);
          if(len<=t)
          {
              ans=max(ans,i-pos+(t-len)/a[i]);
          }
      }
      if(cur_it<m)
      {
          int pos=b[cur_it];
          long long int len=psum[pos-1]-(i?psum[i-1]:0LL);
          if(len<=t)
          {
              ans=max(ans,i-pos+(t-len)/a[i]);
          }
      }
  }
  cout<<ans<<endl;
}
