#include <iostream>
#include <map>
#include <bits/stdc++.h>
#define INT long long int
using namespace std;

char infile[100], outfile[100];

long long int A[100100], B[100100];
int main(){
    long long int I, T, n, m, k, i, a, mm=0;
    srand(time(NULL));
    for(I=52;I<=100; I++){
    	sprintf(infile, ".%d.in", I);
	    freopen(infile, "w", stdout);
	    n = (rand()*1000+rand())%100000+1;
		while(n<50000){
	    	n = (rand()*1000+rand())%100000+1;
		}
	    m = (rand()*1000+rand())%100000+1;
	    while(m<50000){
	    	m = (rand()*1000+rand())%100000+1;
		}
	    k = (rand()*1000+rand())%(n+m+1);
	    while(k<75000){
	    	k = (rand()*1000+rand())%(n+m+1);
		}
	    //cin >> k>> n>> m ;
	    cout <<k <<" "<< n <<" "<< m << endl;
	    for(i=0;i<100100;i++)A[i]=B[i]=0;
	    mm=-10010;
	    for(i=1;i<=n;i++){
	        //cin >> a;
	        a = 10000 - (rand()%20001);
	        cout << a << " ";
	        A[i]=A[i-1]+a;
	    }
	    cout<<endl;
	    for(i=1;i<=m;i++){
	        //cin >> a;
	        a = 10000 - (rand()%20001);
	        cout << a << " ";
	        B[i]=B[i-1]+a;
	    }
	    cout<<endl;
	    for(i=0;i<=k;i++){
	        if(i<=n and k-i<=m){
	            if(A[i]+B[k-i]>mm) mm = A[i]+B[k-i];
	        }
	    }
	    sprintf(infile, ".%d.out", I);
	    freopen(infile, "w", stdout);
	    cout << mm <<endl;
	}
}
