#include <bits/stdc++.h>
using namespace std;
const double PI = 3.14159265359;
int n, m, x;
const int MAXN = 1000500;
int tree[4 * MAXN];
int help[4 * MAXN];
int a[MAXN];
int q[MAXN], cnt;
bool l[MAXN], del[MAXN];
void build(int v = 1, int tl = 0, int tr = cnt - 1) {
  tree[v] = tr + 1;
  if (tl != tr) {
    int tm = (tl + tr) / 2;
    build(v + v, tl, tm);
    build(v + v + 1, tm + 1, tr);
  }
}
void push(int v, int tl, int tr) {
  tree[v] += help[v];
  if (tl != tr) {
    help[v + v] += help[v];
    help[v + v + 1] += help[v];
  }
  help[v] = 0;
}
int dec(int l, int r = cnt - 1, int v = 1, int tl = 0, int tr = cnt - 1) {
  push(v, tl, tr);
  if (l > r) return tree[v];
  if (tl == tr) return --tree[v];
  if (tl == l && tr == r) {
    --help[v];
    push(v, tl, tr);
    return tree[v];
  }
  int tm = (tl + tr) / 2;
  dec(l, min(r, tm), v + v, tl, tm);
  return tree[v] = dec(max(l, tm + 1), r, v + v + 1, tm + 1, tr);
}
int Get(int x, int v = 1, int tl = 0, int tr = cnt - 1) {
  push(v, tl, tr);
  if (tl == tr) return tl;
  int tm = (tl + tr) / 2;
  if (tree[v + v] + help[v + v] >= x)
    return Get(x, v + v, tl, tm);
  else
    return Get(x, v + v + 1, tm + 1, tr);
}
void print(int v = 1, int tl = 0, int tr = cnt - 1) {
  push(v, tl, tr);
  if (tl == tr)
    printf("%d ", tree[v]);
  else {
    int tm = (tl + tr) / 2;
    print(v + v, tl, tm);
    print(v + v + 1, tm + 1, tr);
  }
}
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 0; i < m; ++i) scanf("%d", &a[i]);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &q[i]);
    if (q[i] >= 0) l[cnt++] = q[i] == 1;
  }
  if (!cnt) {
    puts("Poor stack!");
    return 0;
  }
  build();
  int cur_sz = 0;
  for (int i = 0; i < n; ++i) {
    if (q[i] == -1) {
      for (int j = 0; j < m && a[j] - j <= cur_sz; ++j) {
        int g = Get(a[j] - j);
        dec(g);
        --cur_sz;
        del[g] = true;
      }
    } else
      ++cur_sz;
  }
  if (cur_sz == 0)
    puts("Poor stack!");
  else
    for (int i = 0; i < cnt; ++i)
      if (!del[i]) putchar('0' + l[i]);
  return 0;
}
