Problem: A binary string is a string that consists of characters and . A bi-table is a table that has exactly two rows of equal length, each being a binary string.
Let of a bi-table be the smallest digit among , , or that does not occur in the bi-table. For example, for is , because and occur in the bi-table at least once. for is , because and do not occur in the bi-table, and .
You are given a bi-table with columns. You should cut it into any number of bi-tables (each consisting of consecutive columns) so that each column is in exactly one bi-table. It is possible to cut the bi-table into a single bi-table — the whole bi-table.
What is the maximal sum of of all resulting bi-tables can be?
Input Format: The input consists of multiple test cases. The first line contains a single integer () — the number of test cases. Description of the test cases follows.
The first line of the description of each test case contains a single integer () — the number of columns in the bi-table.
Each of the next two lines contains a binary string of length — the rows of the bi-table.
It's guaranteed that the sum of over all test cases does not exceed .
Output Format: For each test case print a single integer — the maximal sum of of all bi-tables that it is possible to get by cutting the given bi-table optimally.
Note: In the first test case you can cut the bi-table as follows:
- , its is .
- , its is .
- , its is .
- , its is .
- , its is .
- , its is .
The sum of is .