#5966. B. Mickey Mouse Constructive

B. Mickey Mouse Constructive

当前没有测试数据。

题目描述

时间限制:1.5 秒 空间限制:256 MB

给定一个数组 aa,定义 f(a)f(a) 为将 aa 划分成一个或多个连续子数组的方案数,满足:

  • 每个元素恰好属于一个子数组;
  • 所有子数组的和相等。

例如,若 a=[1,1]a=[1,1],则 f(a)=2f(a)=2,合法划分有两种:

  1. [1,1][1,1]:唯一子数组的和为 22
  2. [1]+[1][1]+[1]:两个子数组的和均为 11

给定两个整数 xxyy,请在所有满足以下条件的数组 aa 中,求出 f(a)f(a)最小值

  • 数组长度为 x+yx+y
  • 数组包含恰好 xx11yy1-1

答案对 676767677676767677 取模,同时你需要构造一个能取到该最小值的数组。

注:若数组 bb 可通过删除数组 cc 开头、结尾若干个元素(可删 00 个)得到,则 bbcc连续子数组

输入格式

输入包含多组测试数据。 第一行一个整数 tt1t1041 \le t \le 10^4),表示测试数据组数。

每组测试数据占一行,包含两个整数 x,yx,y0x,y2×1050 \le x,y \le 2 \times 10^5),保证 x+y1x+y \ge 1

保证所有测试数据的 xx 之和不超过 2×1052 \times 10^5yy 之和不超过 2×1052 \times 10^5

输出格式

对于每组测试数据,输出两行:

  1. 第一行:最小的 f(a)f(a)676767677676767677 取模的结果;
  2. 第二行:任意一个能取到最小 f(a)f(a) 的合法数组。

样例 #1

样例输入 #1

4
2 0
1 1
6 7
1 3

样例输出 #1

2
1 1
1
1 -1
1
-1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
2
-1 -1 -1 1

样例说明

  1. 第一组:x=2,y=0x=2,y=0,唯一数组为 [1,1][1,1]f(a)=2f(a)=2
  2. 第二组:x=1,y=1x=1,y=1,最优数组为 [1,1][1,-1],仅有一种合法划分,故 f(a)=1f(a)=1