#2327. 立方体取数

立方体取数

Description

小明获得了一个巨大的立方体,共有N×N×N个小立方体组成。并给每个小立方体按照坐标从(0,0,0)到(N−1,N−1,N−1)编号。

现在小明写了如下伪代码程序,访问每个小立方体:



for sum = 0 .. 3*N-3:
    for x = 0 .. N-1:
        for y = 0 .. N-1:
            for z = 0 .. N-1:
                if x+y+z == sum:
                    visit (x,y,z)


现在请你阅读这段代码,并预测一下,第x个访问到的立方体的三维坐标编号,注意x的编号也是从0开始。

Input Format

第一行两个整数Nx

Output Format

三个整数,中间用空格分开,表示第x个访问到的立方体的三维坐标编号。
3 9
2 0 0

Hint

样例1解释

依次访问的顺序为:(0,0,0),(0,0,1),(0,1,0),(1,0,0),(0,0,2),(0,1,1),(0,2,0),(1,0,1),(1,1,0),(2,0,0),第9的访问到的点坐标为(2,0,0)。

数据范围

对于9%的数据,0<n≤100。

对于20%的数据,0<n≤250。

对于44%的数据,0<n≤500。

对于100%的数据,0<n≤106,0≤x≤N3−1。