#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  while (scanf("%d%d", &n, &m) == 2) {
    map<int, vector<int>> s;
    for (int i = 0; i < n; ++i) {
      int x;
      scanf("%d", &x);
      s[x].push_back(i);
    }
    int flag = 1;
    vector<int> ans(m);
    for (int i = 0; i < m; ++i) {
      int x;
      scanf("%d", &x);
      if (s.find(x) == s.end()) {
        flag = -1;
        continue;
      }
      if (flag != 1) continue;
      auto& t = s[x];
      if (t.size() == 1)
        ans[i] = t[0] + 1;
      else
        flag = 0;
    }
    if (flag == -1)
      puts("Impossible");
    else if (flag == 0)
      puts("Ambiguity");
    else {
      puts("Possible");
      for (int i = 0; i < m; ++i) {
        printf("%d%c", ans[i], " \n"[i == m - 1]);
      }
    }
  }
  return 0;
}
