Sakura Substring
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

Takayama Haruka 正在帮助 Sonoda Yuu 做考前补习!

今天她们复习到了算法课中一个名叫「序列的权值」的概念:

  • 定义序列的最大差为序列中最大数与最小数的差。比如 (1,1,4,5,1,4) 的最大差为 , (2,2) 的最大差为
  • 定义一个序列的子串为该序列中连续的一段序列。
  • 定义一个序列的权值为其所有子串的最大差之和。

现在 Takayama Haruka 要求 Sonoda Yuu 构造一个长度为 n 的整数序列 ,满足:

  • 对于任意 ,有
  • 序列的权值最大。

Sonoda Yuu 想尽快完成这个任务。于是她找到了你,希望你解决这个问题。

如果有多个答案,请输出任意一个。

输入描述:

一行两个数字 n,m 

输出描述:

输出共两行。

第一行输出一个正整数,表示构造出来的序列的权值。

第二行输出 n 个非负整数,表示你构造出来的序列。
示例1

输入

复制
1 114

输出

复制
0
1
示例2

输入

复制
2 514

输出

复制
514
0 514