#include <bits/stdc++.h>
using namespace std;
int n;
int f[15];
char s[200010];
int main() {
  scanf("%d", &n);
  scanf("%s", s);
  for (int i = 1; i <= 9; i++) scanf("%d", &f[i]);
  int flag = 0;
  for (int i = 0; i < n; i++) {
    if (flag == 0 && f[s[i] - '0'] > (s[i] - '0')) {
      printf("%d", f[s[i] - '0']);
      flag = 1;
    } else if (flag == 1 && f[s[i] - '0'] >= (s[i] - '0')) {
      printf("%d", f[s[i] - '0']);
    } else if (flag == 1 && f[s[i] - '0'] < (s[i] - '0')) {
      flag = -1;
      printf("%d", (s[i] - '0'));
    } else if (flag == 0 || flag == -1) {
      printf("%d", (s[i] - '0'));
    }
  }
  return 0;
}
