CF1017B The Bits

题目描述

Rudolf 正在去城堡的路上。在大门前,保安问了他一个问题: 已知两个长度为 $n$ 的二进制数 $a,b$。你可以任意选择 $a$ 中的两个二进制位,然后把上面的数字调换位置。问题是,有多少中不同的操作,可以生成一个与原来不同的 $a\;|\;b$? 换句话说,令 $c=a\;|\;b$,你能找到多少种操作,使得更改后的 $a$ 满足 $a'\;|\;b \ne c$? 其中 $|$ 表示“按位或”运算。如 $(01010)_2\;|\;(10011)_2=(11011)_2$。

输入格式

输入的第一行包含一个整数 $n$。其中 $2\leqslant n \leqslant 10^5$。 后两行分别描述 $a,b$。

输出格式

输出包含一个整数,表示交换的方案数。

说明/提示

In the first sample, you can swap bits that have indexes $ (1, 4) $ , $ (2, 3) $ , $ (3, 4) $ , and $ (3, 5) $ . In the second example, you can swap bits that have indexes $ (1, 2) $ , $ (1, 3) $ , $ (2, 4) $ , $ (3, 4) $ , $ (3, 5) $ , and $ (3, 6) $ .