#include <bits/stdc++.h>
using namespace std;
int B[100300], F[100300];
int main() {
  int n, m;
  scanf("%d %d", &n, &m);
  bool amb = false, imp = false;
  map<int, int> ind, veces;
  for (int i = 0; i < n; i++) {
    scanf("%d", &F[i]);
  }
  for (int i = 0; i < m; i++) {
    scanf("%d", &B[i]);
  }
  for (int i = 0; i < n; i++) {
    ind[F[i]] = i + 1;
    veces[F[i]] = veces[F[i]] + 1;
  }
  for (int i = 0; i < m; i++) {
    if (ind.count(B[i]) == 0) imp = true;
    if (veces[B[i]] > 1) amb = true;
  }
  if (imp)
    cout << "Impossible" << endl;
  else if (amb)
    cout << "Ambiguity" << endl;
  else {
    cout << "Possible" << endl;
    for (int i = 0; i < m; i++) {
      cout << ind[B[i]] << " ";
    }
    cout << endl;
  }
  return 0;
}
