#include <string> #include <bits/stdc++.h> using namespace std; typedef long long ll; //typedef pair<long long,long long> P; //typedef pair<long long,P> P1; //typedef pair<P,P> P2; #define pu push #define pb push_back #define mp make_pair #define eps 1e-7 #define INF 1000000000 #define mod 1000000007 #define fi first #define se second #define rep(i,x) for(long long i=0;i<x;i++) #define repn(i,x) for(long long i=1;i<=x;i++) #define rrep(i,x) for(long long i=x-1;i>=0;i--) #define rrepn(i,x) for(long long i=x;i>1;i--) #define SORT(x) sort(x.begin(),x.end()) #define ERASE(x) x.erase(unique(x.begin(),x.end()),x.end()) #define POSL(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin()) #define POSU(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin()) #define ALL(v) (v).begin(),(v).end() //#define MAX(a,b) if(a>b) #define MAX(a,b) (((a)>(b))?(a):(b)) #define MIN(a,b) (((a)<(b))?(a):(b)) const string MINUSINF = "-"; long long A,B,C,D,E,F,H,I,J,L,N,M,K,O,P,Q,R,S,T,U,V,W,X,Y,Z; long long sum,sum1,sum2,sum3,sum4; long long flg,flg1,flg2,flg3,cnt,cnt1,cnt2,cnt3,cnt4; long long wk,wk1,wk2,wk3,wk4; long long ans; bool f; long long n,h[100005]; vector<long long> p, c; int vis[200001]; vector<string> fi; int Left[2100][2100], Right[2100][2100], Up[2100][2100], Down[2100][2100]; long long match[10] = {2,5,5,4,5,6,3,7,6}; ll dp[10000010]; int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); long long max,max1; long long min,min1,min2; sum=sum1=sum2=sum3=sum4=0; flg=flg1=flg2=flg3=cnt=cnt1=cnt2=cnt3=cnt4=0; max=max1=0; wk=wk1=wk2=wk3=wk4=0; ans=0; min=min1=INF; //**************************ここからスタート****************************************** std::cin >> N; //std::cin >> N >> M; //std::cin >> N >> M >> K; //std::cin >> N >> K; //std::cin >> A >> B; //std::cin >> A >> B >> C; std::vector<long long> v(N); std::vector<long long> w(N); //std::vector<long long> x(N); //std::vector<int> v(100, 0); //int a[26]={0}; //vector<long long> flagment(N, 0); //vec.push_back(i); //accumulate(vec.begin(), vec.end(), 0) //v.resize for(long long i=0; i<N; i++){ std::cin >> v[i]; } for(long long i=0; i<N; i++){ std::cin >> w[i]; } /// 配列入力1 vector<pair<long long, long long> > p(N); for(long long i=0; i<N; i++){ p[i] = make_pair(v[i], w[i]); } min=INF; for(long long i=0; i<N; i++){ wk=p[i].fi+p[i].se; if(min>wk){ min=wk; } } printf("%lld\n",min); for(long long i=0; i<N+2; i++){ if(i==0){ printf("%lld\n",0); } else if(i==N+1){ printf("%lld\n",min); } else{ if(p[i-1].fi<=p[i-1].se){ printf("%lld\n",p[i-1].fi); } else{ if(min-p[i-1].se>=0){ printf("%lld\n",min-p[i-1].se); } else{ printf("%lld\n",p[i-1].se); } } } } return 0; }