#include <bits/stdc++.h>
using namespace std;
long long int pi = 10000000;
vector<long long int> prime(pi), pri;
void seive() {
  long long int i, j, k, l;
  for (i = 4; i <= pi; i += 2) prime[i] = 1;
  pri.push_back(2);
  for (i = 3; i <= pi; i += 2) {
    if (prime[i] == 0) pri.push_back(i);
    for (j = i * i; j <= pi; j += i) {
      if (prime[j] == 0) prime[j] = 1;
    }
  }
  cout << pri.size() << endl;
}
int main() {
  long long int n, i = 0, l = -2, k = INT_MAX, j, a = 0, f = 1, c = 0, b = 0,
                   x = 100000000007, d = 0, y, m, zero = 0, one = 10,
                   z = 1000000007;
  string s = "qwertyuiopasdfghjkl;zxcvbnm,./", mar = "", s2;
  char ch[26] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
                 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
                 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'},
       bo, an;
  vector<long long int> vc, vct, vctt;
  vector<pair<long long int, long long int>> pa;
  map<char, char> mp;
  double num, nr, radi;
  stack<char> bra, bra2;
  cin >> n >> m >> s;
  for (i = 0; i < m; i++) {
    cin >> bo >> an;
    for (j = 0; j < 26; j++) {
      if (ch[j] == bo)
        ch[j] = an;
      else if (ch[j] == an)
        ch[j] = bo;
    }
  }
  for (i = 0; i < n; i++) {
    mar += ch[s[i] - 'a'];
  }
  cout << mar << endl;
}
