#include <bits/stdc++.h>
using namespace std;
map<int, int> dig;
long int n, i, nn, num[300000];
char s[300000];
int main() {
  scanf("%ld", &n);
  scanf("%s", s);
  for (i = 0; i < n; i++) {
    num[i + 1] = s[i] - '0';
  }
  for (i = 1; i <= 9; i++) {
    scanf("%d", &nn);
    dig[i] = nn;
  }
  for (i = 1; i <= n; i++) {
    if (dig[num[i]] > num[i]) break;
  }
  while (i <= n) {
    if (dig[num[i]] < num[i]) break;
    num[i] = dig[num[i]];
    i++;
  }
  for (i = 1; i <= n; i++) printf("%ld", num[i]);
}
