#include <bits/stdc++.h>
using namespace std;
int h;
int a[100010];
int a1[200010];
int a2[200010];
int sum = 0;
void p1(int x, int y, int z, int w) {
  for (int i = 0; i < y; i++) {
    a1[z + i] = x;
  }
  if (w < h) p1(z, a[w + 1], z + y, w + 1);
}
int aa = 0;
void p2(int x, int y, int z, int w) {
  for (int i = 0; i < y; i++) {
    a2[z + i] = x;
  }
  if (w < h) {
    if (y > 1 && a[w + 1] > 1) {
      a2[sum - aa] = z + 1;
      aa++;
      p2(z, a[w + 1] - 1, z + y, w + 1);
    } else {
      p2(z, a[w + 1], z + y, w + 1);
    }
  }
}
int main() {
  cin >> h;
  for (int i = 0; i <= h; i++) scanf("%d", &a[i]);
  bool k = false;
  bool k2 = false;
  for (int i = 0; i <= h; i++) {
    sum += a[i];
    if (a[i] > 1) {
      if (k) k2 = true;
      k = true;
    } else {
      k = false;
    }
  }
  if (k2) {
    cout << "ambiguous" << endl;
    p1(1, a[1], 2, 1);
    p2(1, a[1], 2, 1);
    for (int i = 1; i <= sum; i++) printf("%d ", a1[i]);
    printf("\n");
    for (int i = 1; i <= sum; i++) printf("%d ", a2[i]);
  } else {
    cout << "perfect";
  }
}
