#include<bits/stdc++.h>
using namespace std;
int n, m;
vector<int>a(400, 0);
vector<int>b(400, 0);
vector<int>e(400, 0);
vector<int>l(400, 0);
int main() {
cin >> n >> m;
int i;
for (i = 1; i <= m; i++)
cin >> a[i];
for (i = 1; i <= m; i++)
cin >> b[i];
int flag = 1;
for (i = 1; i <= m; i++) {
if (a[i] == 0) {
e[i] = 1;
if (e[i] + b[i]-1 > n)flag = 0;
}
else {
e[i] = e[a[i]]+b[a[i]];
if (e[i] + b[i]-1 > n)flag = 0;
}
}
for (i = m; i >= 1; i--) {
if (l[i] == 0) {
l[i] = n - b[i] + 1;
}
if (a[i] != 0) {
if (l[a[i]] == 0) {
l[a[i]] = l[i] - b[a[i]];
}
else {
l[a[i]] = min(l[a[i]], l[i] - b[a[i]]);
}
}
}
if (flag == 1) {
for (i = 1; i <= m; i++) {
cout << e[i] << " ";
}cout << endl;
for (i = 1; i <= m; i++) {
cout << l[i] << " ";
}
}
if (flag == 0) {
for (i = 1; i <= m; i++) {
cout << e[i] << " ";
}
}
}