#include<stdio.h>
#include<stdlib.h>
#define maxi(a,b) ((a>b)?a:b)
typedef struct
{
int topa;
int a[100001];
}stacka;
typedef struct{
int topb;
int b[100001];
}stackb;
void pusha(stacka** p ,int val);
void pushb(stackb** p,int val);
int main()
{
long int t,sum,x,i,count,n,m,max;
stacka
*sa
=(stacka
*) malloc(sizeof(stacka
)); stackb
*sb
=(stackb
*) malloc(sizeof(stackb
)); while(t--)
{
sum=0;
count=0;
sa->topa=-1;
sb->topb=-1;
max=0;
scanf("%ld %ld %ld",&n
,&m
,&x
); int temp[n];
for(i=0;i<n;i++)
for(i=n-1;i>=0;i--)
pusha(&sa,temp[i]);
temp[m];
for(i=0;i<m;i++)
for(i=m-1;i>=0;i--)
pushb(&sb,temp[i]);
while(sa->topa!=-1 && sum+sa->a[sa->topa]<=x)
{
sum+=sa->a[sa->topa--];
count++;
}
max=count;
while(sb->topb!=-1)
{
while(sum+sb->b[sb->topb]>x && sa->topa<n-1)
{
sa->topa++;
sum-=sa->a[sa->topa];
// printf("%ld",sa->a[sa->topa]);
count--;
}
while(sum+sb->b[sb->topb]<=x && sb->topb!=-1)
{
sum+=sb->b[sb->topb];
count++;
sb->topb--;
}
break;
}
printf("%d\n",maxi
(max
,count
)); }
return 0;
}
void pusha(stacka** p ,int val)
{
(*p)->a[++(*p)->topa]=val;
}
void pushb(stackb** p,int val)
{
(*p)->b[++(*p)->topb]=val;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNkZWZpbmUgbWF4aShhLGIpICAoKGE+Yik/YTpiKQp0eXBlZGVmIHN0cnVjdCAKewogICAgaW50IHRvcGE7CiAgICBpbnQgYVsxMDAwMDFdOwp9c3RhY2thOwp0eXBlZGVmIHN0cnVjdHsKICAgIGludCB0b3BiOwogICAgaW50IGJbMTAwMDAxXTsKfXN0YWNrYjsKdm9pZCBwdXNoYShzdGFja2EqKiBwICxpbnQgdmFsKTsKdm9pZCBwdXNoYihzdGFja2IqKiBwLGludCB2YWwpOwppbnQgbWFpbigpCnsKICAgIGxvbmcgaW50IHQsc3VtLHgsaSxjb3VudCxuLG0sbWF4OwogICAgc2NhbmYoIiVsZCIsJnQpOwogICAgc3RhY2thICpzYT0oc3RhY2thICopIG1hbGxvYyhzaXplb2Yoc3RhY2thKSk7CiAgICBzdGFja2IgKnNiPShzdGFja2IgKikgbWFsbG9jKHNpemVvZihzdGFja2IpKTsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBzdW09MDsKICAgICAgICBjb3VudD0wOwogICAgICAgIHNhLT50b3BhPS0xOwogICAgICAgIHNiLT50b3BiPS0xOwogICAgICAgIG1heD0wOwogICAgICAgIHNjYW5mKCIlbGQgJWxkICVsZCIsJm4sJm0sJngpOwogICAgICAgIGludCB0ZW1wW25dOwogICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICAgICAgc2NhbmYoIiVkIix0ZW1wK2kpOwogICAgICAgIGZvcihpPW4tMTtpPj0wO2ktLSkKICAgICAgICAgICAgcHVzaGEoJnNhLHRlbXBbaV0pOwogICAgICAgIHRlbXBbbV07CiAgICAgICAgZm9yKGk9MDtpPG07aSsrKQogICAgICAgICAgICBzY2FuZigiJWQiLHRlbXAraSk7CiAgICAgICAgIGZvcihpPW0tMTtpPj0wO2ktLSkKICAgICAgICAgICAgcHVzaGIoJnNiLHRlbXBbaV0pOwogICAgICAgIHdoaWxlKHNhLT50b3BhIT0tMSAmJiBzdW0rc2EtPmFbc2EtPnRvcGFdPD14KQogICAgICAgIHsKICAgICAgICAgICBzdW0rPXNhLT5hW3NhLT50b3BhLS1dOwogICAgICAgICAgICBjb3VudCsrOwogICAgICAgIH0KICAgICAgICBtYXg9Y291bnQ7CiAgICAgICAgd2hpbGUoc2ItPnRvcGIhPS0xKQogICAgICAgIHsKICAgICAgICAgICAgd2hpbGUoc3VtK3NiLT5iW3NiLT50b3BiXT54ICYmIHNhLT50b3BhPG4tMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2EtPnRvcGErKzsKICAgICAgICAgICAgICAgIHN1bS09c2EtPmFbc2EtPnRvcGFdOwogICAgICAgICAgICAgIC8vICBwcmludGYoIiVsZCIsc2EtPmFbc2EtPnRvcGFdKTsKICAgICAgICAgICAgICAgIGNvdW50LS07CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZShzdW0rc2ItPmJbc2ItPnRvcGJdPD14ICYmIHNiLT50b3BiIT0tMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3VtKz1zYi0+YltzYi0+dG9wYl07CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgc2ItPnRvcGItLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCIlZFxuIixtYXhpKG1heCxjb3VudCkpOwogICAgfQogICAgcmV0dXJuIDA7Cn0Kdm9pZCBwdXNoYShzdGFja2EqKiBwICxpbnQgdmFsKQp7CiAgICAoKnApLT5hWysrKCpwKS0+dG9wYV09dmFsOwp9CnZvaWQgcHVzaGIoc3RhY2tiKiogcCxpbnQgdmFsKQp7CiAgICAoKnApLT5iWysrKCpwKS0+dG9wYl09dmFsOwp9Cg==