#CF2052F. 修复被淹地板

修复被淹地板

F. 修复被淹地板

时间限制:每测试 33内存限制10241024 兆字节

问题描述

阿基米德在做著名的浮力实验时,因为太过专注而没有注意到水从浴缸溢出,淹坏了墙边的昂贵木地板!

墙边的地板是一个 2×n2 \times n 的网格区域。

  • . 表示被淹损坏的格子(需要被覆盖)
  • # 表示完好的格子(不能覆盖)

他有无数块 1×21 \times 2 规格的木地板(不可切割),可以横着放竖着放。 要求用这些不重叠的木地板恰好覆盖所有损坏的格子

已知阿基米德认为:修复方案有且只有一种

请你验证他的结论:

  1. 恰好 1 种方案,输出 Unique
  2. 若** 2\ge 2 种方案**,输出 Multiple
  3. 无法覆盖,输出 None

形式化规则

  1. 地板形状:22nn
  2. 只能使用 1×21 \times 2 砖块(不可旋转为 2×12 \times 1,等价)
  3. 砖块不能重叠不能超出网格不能覆盖完好格子(#)
  4. 必须完全覆盖所有损坏格子(.)

输入格式

  • 第一行:TT —— 测试用例组数(1T1041 \le T \le 10^4
  • 每组用例:
    • 第一行:nn —— 网格长度(1n2×1051 \le n \le 2 \times 10^5
    • 接下来两行,每行 nn 个字符:#.

所有测试用例的 nn 之和不超过 2×1052 \times 10^5


输出格式

对于每组测试用例,输出以下三者之一:

  • Unique:方案唯一
  • Multiple:方案多于一种
  • None:无合法方案

输入输出样例

输入

4
10
#.......##
##..#.##..
6
...#..
..#...
8
........
........
3
###
###

输出

Unique
None
Multiple
Unique