#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n,a[N],b[N],order[N];
struct node{
int time,belong,id;
}c[N];
void init(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
c[i].id=i;
if(a[i]<b[i]) {
c[i].time=a[i];
c[i].belong=0;
}
else{
c[i].time=b[i];
c[i].belong=1;
}
}
return;
}
int cmp(node x,node y){
return x.time<y.time;
}
void make_order(){
int cnt1=1,cnt2=n;
sort(c+1,c+1+n,cmp);
for (int i=1;i<=n;i++){
if (c[i].belong==0){
order[cnt1++]=c[i].id;
}
else{
order[cnt2--]=c[i].id;
}
}
return;
}
void work(){
int A=0,B=0;
for(int i=1;i<=n;i++){
A+=a[order[i]];
if(B<A){
B=A;
}
B+=b[order[i]];
}
cout<<B<<endl;
for(int i=1;i<=n;i++){
cout<<order[i]<<" ";
}
return;
}
int main(){
init();
make_order();
work();
return 0;
}