#include <bits/stdc++.h>
int n, m, f[100010], b[100010], a[100010] = {0}, g[100010] = {0}, i, j, t = 0,
                                flag = 1, abu[100010] = {0};
int main(void) {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) {
    scanf("%d", &f[i]);
    if (g[f[i]]) abu[f[i]] = 1;
    g[f[i]] = i;
  }
  for (i = 1; i <= m; i++) {
    scanf("%d", &b[i]);
  }
  for (i = 1; i <= m; i++) {
    if (g[b[i]] == 0) {
      flag = 0;
      break;
    }
    if (abu[b[i]]) {
      flag = 2;
    }
    a[i] = g[b[i]];
  }
  if (flag == 0) {
    printf("Impossible\n");
  }
  if (flag == 1) {
    printf("Possible\n");
    for (i = 1; i <= m; i++) {
      if (i == m) {
        printf("%d\n", a[m]);
      } else {
        printf("%d ", a[i]);
      }
    }
  }
  if (flag == 2) {
    printf("Ambiguity\n");
  }
  return 0;
}
