func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, i, j, k, l, a[1000009], b[1000009], f[1000009], ans, cn, t, x, y, z,       mx, mn, s;   char c[1000009], d[1000009], ch;   map<int, int> mp, mm;   int main() {     while (scanf( %d %d , &n, &m) != EOF) {       ans = 1;       mp.clear();       mm.clear();       for (i = 1; i <= n; i++) {         scanf( %d , &f[i]);         mm[f[i]] = 1;       }       for (i = 1; i <= m; i++) {         scanf( %d , &b[i]);         if (mm[b[i]] == 0) {           ans = 0;         }       }       if (ans == 0) {         printf( Impossible n );       } else {         ans = 1;         mp.clear();         mm.clear();         for (i = 1; i <= m; i++) {           mp[b[i]] = 1;         }         for (i = 1; i <= n; i++) {           if (mp[f[i]] == 1) {             mm[f[i]]++;             if (mm[f[i]] == 2) {               ans = 0;               break;             }           }         }         if (ans == 0) {           printf( Ambiguity n );         } else {           printf( Possible n );           mp.clear();           for (i = 1; i <= n; i++) {             mp[f[i]] = i;           }           for (i = 1; i <= m; i++) {             a[i] = mp[b[i]];             if (i > 1) {               printf(   );             }             printf( %d , a[i]);           }           printf(  n );         }       }     }     return 0;   }   