#CF2147I1. 最长递增路径(简单版)

最长递增路径(简单版)

I1. 最长递增路径(简单版)

每次测试时间限制22
每次测试内存限制256256 兆字节

这是问题的简单版本。两个版本的区别在于,在这个版本中,第二个测试是 n=100000n = 100000。本问题不允许使用黑客攻击。


问题描述

我们称一个整数序列 a1,a2,,ana_1, a_2, \ldots, a_n距离凸,如果对于每个 1<i<n1 < i < n 都有

[ |a_i - a_{i-1}| < |a_{i+1} - a_i| ]

换句话说,将点 a1,a2,,ana_1, a_2, \ldots, a_n 按顺序放在数轴上,每次下一次跳跃的长度都严格比前一次更长。

给你两个整数 nnmm。请找到一个长度为 nn距离凸序列 aa,其中包含最多 mm 个不同的值
关于跳跃序列,这意味着你需要 (n1)(n-1) 次跳跃,跳跃距离严格递增,同时最多访问 mm 个不同的点。

对所有 1in1 \le i \le n,必须满足 1018ai1018-10^{18} \le a_i \le 10^{18}


输入

输入只有一行,包含两个整数 nnmm

本题只有两种测试数据

  • n=8, m=6n = 8,\ m = 6
  • n=100000, m=15000n = 100000,\ m = 15000

保证两种测试都有解。
本题不允许使用黑客攻击。


输出

输出一个距离凸序列 a1,a2,,ana_1, a_2, \ldots, a_n,最多包含 mm 个不同的值。
对所有 1in1 \le i \le n,必须满足 1018ai1018-10^{18} \le a_i \le 10^{18}

如果有多种解,输出任意一个均可。


示例

输入

8 6

输出

1 1 3 6 10 3 11 1

注释
序列 [1,1,3,6,10,3,11,1][1, 1, 3, 6, 10, 3, 11, 1] 长度为 n=8n = 8,包含 55 个不同的值,小于等于 m=6m = 6
连续数值之间的差为 0,2,3,4,7,8,100, 2, 3, 4, -7, 8, -10(绝对值:0,2,3,4,7,8,100, 2, 3, 4, 7, 8, 10),是一个严格递增的序列。

[1,1,2,4,8,16,32,1][1, 1, 2, 4, 8, 16, 32, 1] 也是一个合理的答案。