import sys
input = sys.stdin.readline
n, m = map(int, input().split())
data = input().rstrip()
for _ in range(m):
l, r, c1, c2 = input().rstrip().split()
for i in range(int(l) - 1, int(r)):
if data[i] == c1:
data = data[:i] + c2 + data[i + 1:]
print("".join(data))
#include<iostream>
using namespace std;
int main()
{
// n is the length of the string and m is the number of operations to be performed
int n,m;
cin>>n;
cin>>m;
// arr[n] is the string
char arr[n];
cin>>arr;
int l,r;
char c1,c2;
for(int i=0;i<m;i++)
{
cin>>l;
cin>>r;
cin>>c1;
cin>>c2;
for(int j=l-1;j<=r-1;j++)
{
if(arr[j]==c1)
{
arr[j]=c2;
}
}
}
// for(int i=l-1;i<=r-1;i++)
// {
// for(int j=0;j<m;j++)
// {
// if(arr[i]==c1)
// {
// char fv=arr[i];
// arr[i]=c2;
// c2=fv;
// }
// }
// }
for(int i=0;i<n;i++)
{
cout<<arr[i];
}
}
454A - Little Pony and Crystal Mine | 2A - Winner |
1622B - Berland Music | 1139B - Chocolates |
1371A - Magical Sticks | 1253A - Single Push |
706B - Interesting drink | 1265A - Beautiful String |
214A - System of Equations | 287A - IQ Test |
1108A - Two distinct points | 1064A - Make a triangle |
1245C - Constanze's Machine | 1005A - Tanya and Stairways |
1663F - In Every Generation | 1108B - Divisors of Two Integers |
1175A - From Hero to Zero | 1141A - Game 23 |
1401B - Ternary Sequence | 598A - Tricky Sum |
519A - A and B and Chess | 725B - Food on the Plane |
154B - Colliders | 127B - Canvas Frames |
107B - Basketball Team | 245A - System Administrator |
698A - Vacations | 1216B - Shooting |
368B - Sereja and Suffixes | 1665C - Tree Infection |