/*
Task: 1245D
Date: Dec 18, 2019
Author: aLittleLove (Minh Vu)
*/
#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
const int N = 2e3 + 5;;
typedef pair<int, int> pi;
struct Edge
{
int u, v; int64_t w;
bool operator < (const Edge &oth) const
{
return w<oth.w;
}
};
Edge e[N*(N + 1)];
int n, m, c[N], k[N], pa[N<<1];
pi a[N];
int64_t ans;
int root(int x)
{
return x==pa[x] ? x : pa[x] = root(pa[x]);
}
bool join(int x, int y)
{
if ((x=root(x))==(y=root(y))) return false;
pa[y] = x;
return true;
}
int main()
{
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin >> n;
for (int i=1; i<=n; i++) cin >> a[i].fi >> a[i].se;
for (int i=1; i<=n; i++) cin >> c[i];
for (int i=1; i<=n; i++) cin >> k[i];
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
{
if (i==j) continue;
e[++m].u = i; e[m].v = j;
e[m].w = 1ll * (abs(a[i].fi - a[j].fi) + abs(a[i].se - a[j].se)) * (k[i] + k[j]);
}
}
for (int i=1; i<=n; i++)
{
e[++m].u = i; e[m].v = n + 1;
e[m].w = c[i];
}
for (int i=1; i<=n+1; i++) pa[i] = i;
sort(e+1,e+m+1);
vector<int> build; vector<pi> connect;
for (int i=1; i<=m; i++)
{
int x = root(e[i].u), y = root(e[i].v);
if (x!=y)
{
ans += e[i].w;
if (e[i].v==n+1) build.push_back(e[i].u);
else connect.push_back({e[i].u, e[i].v});
join(x, y);
}
}
cout << ans << '\n';
cout << build.size() << '\n';
for (int x: build) cout << x << " ";
cout << '\n';
cout << connect.size() << '\n';
for (pi x: connect) cout << x.fi << " " << x.se << '\n';
}
LyoKVGFzazogMTI0NUQKRGF0ZTogRGVjIDE4LCAyMDE5CkF1dGhvcjogYUxpdHRsZUxvdmUgKE1pbmggVnUpCiovCgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kIAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE4gPSAyZTMgKyA1OzsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaTsKCnN0cnVjdCBFZGdlCnsKICAgIGludCB1LCB2OyBpbnQ2NF90IHc7CiAgICBib29sIG9wZXJhdG9yIDwgKGNvbnN0IEVkZ2UgJm90aCkgY29uc3QgCiAgICB7CiAgICAgICAgcmV0dXJuIHc8b3RoLnc7CiAgICB9Cn07CgpFZGdlIGVbTiooTiArIDEpXTsKaW50IG4sIG0sIGNbTl0sIGtbTl0sIHBhW048PDFdOwpwaSBhW05dOwppbnQ2NF90IGFuczsKCmludCByb290KGludCB4KQp7CiAgICByZXR1cm4geD09cGFbeF0gPyB4IDogcGFbeF0gPSByb290KHBhW3hdKTsKfQoKYm9vbCBqb2luKGludCB4LCBpbnQgeSkKewogICAgaWYgKCh4PXJvb3QoeCkpPT0oeT1yb290KHkpKSkgcmV0dXJuIGZhbHNlOwogICAgcGFbeV0gPSB4OwogICAgcmV0dXJuIHRydWU7Cn0KCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGNpbiA+PiBuOwogICAgZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspIGNpbiA+PiBhW2ldLmZpID4+IGFbaV0uc2U7CiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKykgY2luID4+IGNbaV07CiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKykgY2luID4+IGtbaV07CiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBmb3IgKGludCBqPTE7IGo8PW47IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGlmIChpPT1qKSBjb250aW51ZTsKICAgICAgICAgICAgZVsrK21dLnUgPSBpOyBlW21dLnYgPSBqOwogICAgICAgICAgICBlW21dLncgPSAxbGwgKiAoYWJzKGFbaV0uZmkgLSBhW2pdLmZpKSArIGFicyhhW2ldLnNlIC0gYVtqXS5zZSkpICogKGtbaV0gKyBrW2pdKTsKICAgICAgICB9CiAgICB9CiAgICBmb3IgKGludCBpPTE7IGk8PW47IGkrKykgCiAgICB7CiAgICAgICAgZVsrK21dLnUgPSBpOyBlW21dLnYgPSBuICsgMTsKICAgICAgICBlW21dLncgPSBjW2ldOwogICAgfQogICAgZm9yIChpbnQgaT0xOyBpPD1uKzE7IGkrKykgcGFbaV0gPSBpOwogICAgc29ydChlKzEsZSttKzEpOwogICAgdmVjdG9yPGludD4gYnVpbGQ7IHZlY3RvcjxwaT4gY29ubmVjdDsKICAgIGZvciAoaW50IGk9MTsgaTw9bTsgaSsrKQogICAgewogICAgICAgIGludCB4ID0gcm9vdChlW2ldLnUpLCB5ID0gcm9vdChlW2ldLnYpOwogICAgICAgIGlmICh4IT15KQogICAgICAgIHsKICAgICAgICAgICAgYW5zICs9IGVbaV0udzsKICAgICAgICAgICAgaWYgKGVbaV0udj09bisxKSBidWlsZC5wdXNoX2JhY2soZVtpXS51KTsKICAgICAgICAgICAgZWxzZSBjb25uZWN0LnB1c2hfYmFjayh7ZVtpXS51LCBlW2ldLnZ9KTsKICAgICAgICAgICAgam9pbih4LCB5KTsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwogICAgY291dCA8PCBidWlsZC5zaXplKCkgPDwgJ1xuJzsKICAgIGZvciAoaW50IHg6IGJ1aWxkKSBjb3V0IDw8IHggPDwgIiAiOwogICAgY291dCA8PCAnXG4nOwogICAgY291dCA8PCBjb25uZWN0LnNpemUoKSA8PCAnXG4nOwogICAgZm9yIChwaSB4OiBjb25uZWN0KSBjb3V0IDw8IHguZmkgPDwgIiAiIDw8IHguc2UgPDwgJ1xuJzsKfQ==