Есть два потока, $$$\texttt{A}$$$ и $$$\texttt{B}$$$, и одна общая ячейка памяти. Изначально ячейка памяти содержит $$$0$$$.
У потока $$$\texttt{A}$$$ есть фиксированная последовательность команд $$$s$$$ длины $$$n$$$, а у потока $$$\texttt{B}$$$ — фиксированная последовательность команд $$$t$$$ длины $$$m$$$. Каждая команда является либо командой $$$\texttt{READ}$$$, обозначаемой $$$\texttt{R}$$$, либо командой $$$\texttt{WRITE}$$$, обозначаемой $$$\texttt{W}$$$.
Команды каждого потока должны выполняться в исходном порядке. Однако команды двух потоков можно произвольным образом чередовать. Иными словами, фактическое выполнение представляет собой общую последовательность из $$$n+m$$$ команд, полученную слиянием $$$s$$$ и $$$t$$$ с сохранением порядка команд внутри каждой строки.
Например, пусть $$$s=$$$ $$$\texttt{RWW}$$$, а $$$t=$$$ $$$\texttt{WR}$$$.
У общего выполнения есть временные метки. До выполнения какой-либо команды временная метка равна $$$0$$$. Команда, выполняемая на позиции $$$i$$$ в общей последовательности, имеет временную метку $$$i$$$.
Для каждой команды $$$\texttt{READ}$$$, встречающейся в $$$s$$$ или $$$t$$$, определите, сколько различных значений она может считать по всем допустимым чередованиям двух последовательностей команд.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n,m \le 2 \cdot 10^5$$$) — длины последовательностей команд потоков $$$\texttt{A}$$$ и $$$\texttt{B}$$$ соответственно.
Вторая строка содержит строку $$$s$$$ длины $$$n$$$ — последовательность команд потока $$$\texttt{A}$$$.
Третья строка содержит строку $$$t$$$ длины $$$m$$$ — последовательность команд потока $$$\texttt{B}$$$.
Каждый символ строк $$$s$$$ и $$$t$$$ является либо $$$\texttt{R}$$$, либо $$$\texttt{W}$$$. Каждая из строк $$$s$$$ и $$$t$$$ содержит хотя бы один символ $$$\texttt{R}$$$.
Гарантируется, что сумма всех $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$, а сумма всех $$$m$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите две строки.
Первая строка содержит последовательность целых чисел, представляющих ответ для каждой команды $$$\texttt{READ}$$$, встречающейся в $$$s$$$, в порядке их появления. Длина последовательности должна быть равна количеству букв $$$\texttt{R}$$$ в $$$s$$$.
Вторая строка содержит последовательность целых чисел, представляющих ответ для каждой команды $$$\texttt{READ}$$$, встречающейся в $$$t$$$, в порядке их появления. Длина последовательности должна быть равна количеству букв $$$\texttt{R}$$$ в $$$t$$$.
31 1RR1 2RWR3 3WRWRWR
112243 4
В первом примере обе команды $$$\texttt{R}$$$ могут получить только изначально записанное в ячейке значение $$$0$$$, поэтому оба ответа равны $$$1$$$.
Во втором примере существует $$$3$$$ различных чередования (красной буквой $$$\texttt{R}$$$ обозначена команда из $$$s$$$):
Таким образом, обе команды $$$\texttt{R}$$$ могут увидеть $$$2$$$ различных значения.