#P6839. Binary Addition

Binary Addition

Problem Description

你有两个无限长$01$串$S, T$,分别记作$S_0S_1\dots$和$T_0T_1\dots$。其中$S$和$T$从$n$位之后都是$0$,也就是当$i\geq n$,有$S_i=T_i=0$。

你可以对$S$串进行操作:

- 修改$S$串的某一位,从$0$变成$1$或者从$1$变成$0$。
- 将$S$当成二进制数加$1$,也就是记$s=\sum_{i\geq 0} S_i2^i$,将$S$变成$s+1$二进制表示的形式,其中低位在最前面。

问最少的步数将$S$变成$T$。

Input

第一行一个正整数$T(1\leq T\leq 10^4)$表示数据组数。

对于每组数据,第一行一个整数$n$,接下来两行长度为$n(1\leq n\leq 10^5)$的$01$串$S$和$T$,表示$S$和$T$的前$n$位。

保证$\sum n\leq 10^6$。

Output

对于每组数据,输出一个整数,表示步数。

3 5 11111 00000 5 10100 01010 5 00000 00001
2 3 1

Hint


第一组数据中,可以选择先加一变成 "000001",然后将S<sub>5</sub>变成 '0'。

第二组数据中,先加一变为 "01100",然后直接修改。

第三组数据中,直接修改。