#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int n = 0;//字符串的长度
	int m = 0;//进行m 次 操作
	scanf("%d %d", &n, &m);

	getchar();//吸收换行符
	char s[101] = { 0 };
	//向数组中输入字符串
	for (int i = 1; i <= n; i++)
	{
		scanf("%c", &s[i]);
	}


	for (int i = 1; i <= m; i++)
	{
		int l = 0;
		int r = 0;//左右范围
		char c1 = 0;
		char c2 = 0;//将 c1 字符 改为 c2 字符
		
		scanf("%d %d\n%c\n%c", &l, &r, &c1, &c2);//注意吸收换行符

		//遍历 左右 区间内的 字符 并进行更改
		for (int j = l; j <= r; j++)
		{
			if (s[j] == c1)
			{
				s[j] = c2;
			}
		}
		
	}
	//输出
	for (int i = 1; i <= n; i++)
	{
		printf("%c", s[i]);
	}
	return 0;
}