#OLD675. 历历在目

历历在目

Description

“无论你有多留恋过去,你都不可能停留在那里。我们能做的,只有眨眼,跳入下一段生活。用我们的双手、我们的画笔,我们的眼睛,描绘一个属于我们的故事。这个故事不必有多么精彩,多么曲折,只要它是我们写的故事,那我们就可以将它称之为—— 了不起的故事,而作为故事主人公的我们,也是了不起的人。”

正如一些事物一样,排列有许多形态。在此定义一个长度为 nn 的序列为正常排列,当且仅当从 00 ~ (n1)(n - 1) 的每个整数在其中恰好出现了一次,例如:[2,0,1][2, 0, 1][2,1,0][2, 1, 0] 都是长度为 33 的正常排列,而 [2,2,1][2, 2, 1][3,2,1][3, 2, 1] 不是

美丽排列三元组定义如下: 一个长度为 nn 的排列的排列三元组 (a,b,c)(a, b, c) (排列 a,b,ca, b, c 的第 i i 个元素分别为 ai,bi,cia_{i}, b_{i}, c_{i}), 当且仅当 $\forall i(1 \leq i \leq n), a_{i} + b_{i} \equiv c_{i}$ modmod nn

本杰明温馨提示:此表达式意思为 对于每一个 i i,都满足 (ai+bi)(a_{i} + b_{i}) modmod n=cin = c_{i} modmod nn

现给定整数 nn,请求出长度为 nn 的美丽排列三元组

Format

Input

输入一个正整数 n(1n105)n(1 \leq n \leq 10^{5}),表示排列的长度

Output

如果不存在长度为 nn 的美丽排列三元组,输出 "-1"(不包含引号)
如果存在,输出这个美丽排列三元组,三元组占三行,每行为一个由 nn 个数组成的正常排列,数与数用空格隔开
如果存在多种答案,输出任意一种即可

Samples

5
1 4 3 2 0
1 0 2 4 3
2 4 0 1 3
2
-1

Hint

对于样例 11 更直白的解释:
对于每一列,均满足题意
(1+1)(1 + 1) modmod 5=25 = 2 modmod 55
(4+0)(4+0) modmod 5=45 = 4 modmod 55
(3+2)(3+2) modmod 5=05 = 0 modmod 55
(2+4)(2+4) modmod 5=15 = 1 modmod 55
(0+3)(0+3) modmod 5=35 = 3 modmod 55