时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
给定一个边长为

的正方形方框,以及
无数个边长为

的正方形拼图, 请求出恰好填满这个正方形方框的任意合法方案;若不存在构造方案,请输出

。
下图是填满边长为

的正方形边框的一种可能构造方式:
请注意,尽管拼图是无限的,但最终构造方案使用的正方形拼图个数应该小于
。
输入描述:
输入一行一个正整数
,代表给定的正方形边框的边长。)
输出描述:
第一行输出一个正整数数
, 表示放置的正方形拼图数量。
接下来

行, 每行输出三个数
)
, 表示以
)
为左上角填入了一个边长为

的正方形拼图。
若存在多种构造方案,请输出任意一种构造方案;
特殊地,如果不存在任意一种构造方案,请输出
。
示例1
输出
复制
4
1 1 2
1 3 2
3 1 2
3 3 2
说明
如图所示,是一个合法方案。
另外一个合法的构造方案是
1
1 1 4