#include <bits/stdc++.h>
using namespace std;
const int maxn = 201000;
int n;
char sz[maxn];
int bit[10];
int main() {
  scanf("%d", &n);
  scanf("%s", sz + 1);
  for (int i = 1; i <= 9; i++) scanf("%d", &bit[i]);
  for (int i = 1; i <= n; i++) {
    int ks = sz[i] - '0';
    if (ks < bit[ks]) {
      for (int j = 1; j < i; j++) printf("%c", sz[j]);
      int j;
      for (j = i; j <= n; j++) {
        int kk = sz[j] - '0';
        if (kk <= bit[kk]) {
          printf("%d", bit[kk]);
        } else
          break;
      }
      for (; j <= n; j++) printf("%c", sz[j]);
      printf("\n");
      return 0;
    }
  }
  for (int j = 1; j <= n; j++) printf("%c", sz[j]);
  printf("\n");
  return 0;
}
