#include <bits/stdc++.h>
using namespace std;
int f[100005], b[100005], fn[100005], bn[100005], fm, bm;
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; ++i) {
    scanf("%d", f + i);
    ++fn[f[i]];
    fm = max(fm, f[i]);
  }
  for (int i = 0; i < m; ++i) {
    scanf("%d", b + i);
    ++bn[b[i]];
    bm = max(bm, b[i]);
  }
  if (fm < bm) {
    printf("Impossible\n");
  } else {
    bool ans = true;
    bool chong = false;
    for (int i = 1; i <= bm; ++i) {
      if (bn[i] > 0) {
        if (fn[i] == 0) {
          ans = false;
        } else if (fn[i] > 1) {
          chong = true;
        }
      }
    }
    if (!ans) {
      printf("Impossible\n");
    } else {
      if (chong) {
        printf("Ambiguity\n");
      } else {
        printf("Possible\n");
        for (int i = 0; i < n; ++i) {
          fn[f[i]] = i + 1;
        }
        for (int i = 0; i < m; ++i) {
          printf("%d ", fn[b[i]]);
        }
        printf("\n");
      }
    }
  }
  return 0;
}
