#include <bits/stdc++.h>
using namespace std;
int n;
string s1, s2, t1, t2;
const int N = -20241130;
int dfs(int pos, string s, string t, string sanother) {
	if(pos == n - 1) {
		int sum = 0;
		for(int i = 0; i < n; ++i) {
			if(s[i] == sanother[i]) {
				++sum;
			}
		}
		return sum;
	}
	int res1 = dfs(pos + 1, s, t, sanother);
	int res2 = N;
	if(t[pos + 1] != '0' && t[pos] != '0') {
		char c = s[pos];
		s[pos] = s[pos + 1];
		s[pos + 1] = c;
		res2 = dfs(pos + 1, s, t, sanother);
	}
	return max(res1, res2);
}
int main() {
	freopen("edit.in", "r", stdin);
	freopen("edit.out", "w", stdout);
	int T;
	cin >> T;
	for(int i = 1; i <= T; ++i) {
		cin >> n >> s1 >> s2 >> t1 >> t2;
		int res1 = dfs(0, s1, t1, s2);
		int res2 = dfs(0, s2, t2, s1);
		cout << max(res1, res2) << endl;
	}
	return 0;
}
/*
Billie Jean was not my lover,
She was the girl who said I am the only one.
But her kid is not my son.
*/
/*
In my dreams I always see you soar above the skies,
In my heart there is always the place for you for all my life.
I'll keep a part of you with me,
And everywhere I am you'll be,
And everywhere I am you'll be.
*/
/*
拦路雨偏似雪花，
饮泣的你冻吗？
这风褛我给你磨到有襟花。
连调了职也不怕，
怎么始终牵挂？ 
苦心选中今天想车你回家。
原谅我不再送花，
伤口应要结疤，
花瓣铺满心里坟场才害怕。
如若你非我不嫁，
彼此终必火化，
一生一世等一天需要代价。
谁都只得那双手，
靠拥抱亦难任你拥有，
要拥有必先懂失去怎接受。
曾沿着雪路浪游，
为何为好事泪流？
谁能凭爱意要富士山私有？
何不把悲哀感觉假设是来自你虚构？
试管里找不到他染污眼眸。
缘分硬化像石头，
随缘地抛下便逃走。
我绝不罕有，
往街里绕过一周， 
我便化乌有。 
情人节不要说穿，
只好抚你发端，
这种姿态可会令你更心酸？
留在汽车里取暖，
应该怎么规劝？
怎么可以忍痛将手腕划损？
人活到几岁算短？
失恋只有更短，
归家需要几里路谁能预算？
忘掉我跟你恩怨，
樱花开了几转？
东京之旅一早比一世遥远。
谁都只得那双手，
靠拥抱亦难任你拥有。
要拥有必先懂失去怎接受。
曾沿着雪路浪游，
为何为好事泪流？
谁能凭爱意要富士山私有？
何不把悲哀感觉假设是来自你虚构？
试管里找不到他染污眼眸。
缘分硬化像石头，
随缘地抛下便逃走。
我绝不罕有，
往街里绕过一周，
我便化乌有。
谁都只得那双手，
靠拥抱亦难任你拥有。
要拥有必先懂失去怎接受。
曾沿着雪路浪游，
为何为好事泪流？
谁能凭爱意要富士山私有？
何不把悲哀感觉假设是来自你虚构？
试管里找不到他染污眼眸。
缘分硬化像石头，
随缘地抛下便逃走。
我绝不罕有，
往街里绕过一周，
我便化乌有。
你若还嫌不够，
我把这陈年风褛，
还赠你解咒。 
*/
