#A666P233. 分配礼物

分配礼物

题目描述

在一座古朴的山庄里,流传着一项有趣的分配难题。山庄里准备了nn件礼物,为了考验孩子们的智慧,庄主规定这些礼物必须按照以下方式进行分配:

  1. nn件礼物拆分成至少两份(即份数不小于2 2)。
  2. 拆分所得的每一份礼物数量,从少到多排成一个序列后,要求该序列是差值为 11 的等差数列。

举个例子,如果n=18n = 18,有一种可行的拆分方法是:18=3+4+5+618 = 3 + 4 + 5 + 6。其中,拆成了44份,每份礼物的数量分别是 34563、4、5、6,恰好满足 “差值为11的等差数列” 的要求。

为了不让孩子们失望,你需要找出所有满足要求的拆分方案。倘若没有任何可行的拆分方式,那么这些礼物将被庄主收回,孩子们也只能空手而归,这时需要输出 No Result

输入格式

从文件 gift.in 中读入数据。

一行,仅包含一个正整数nn,表示礼物的总数。

输出格式

输出到文件 gift.out 中。
如果有多种拆分方案,按照拆分份数从大到小的顺序逐一输出。
每个拆分方案输出时,以从小到大的连续正整数表示每一份的数量,数字之间用空格隔开;不同方案之间用换行分隔。
如果没有满足条件的方案,输出 No Result

18
3 4 5 6
5 6 7
17
8 9
4
No Result

数据范围

30%30\%的数据:满足1n1001\le n \le 100
80%80\%的数据:满足1n1071\le n \le 10^7
100%100\%的数据:满足1n1091\le n \le 10^9