题目描述
给定一个高维数组 a,该数组共有 n 维,大小为 d0×d1×⋯×dn−1。其中,每一维称为一个轴,di 对应 i(0≤i<n) 号轴。数组下标从 0 开始。
高维数组沿 x 号轴的求和结果,是一个 n−1 维的数组 S,其大小为 d0×d1×⋯×dx−1×dx+1×⋯×dn−1。其中,
S[w0][w1]⋯[wx−1][wx+1]⋯[wn−1]=i=0∑dx−1a[w0][w1]⋯[wx−1][i][wx+1]⋯[wn−1]现在,给定该高维数组与 x,求沿 x 号轴求和的结果。
输入格式
第一行为两个整数 n,x。
第二行为 n 个整数,依次表示 d0,d1,⋯,dn−1。
接下来 d0×d1×⋯×dn−1 行,每行 n+1 个整数 p0,p1,⋯,pn−1,val,表示 a[p0][p1]⋯[pn−1]=val。
输出格式
输出 dxd0×d1×⋯×dn−1 行,每行 n 个整数 p0,p1,⋯,px−1,px+1,⋯,pn−1,w,表示 S[p0][p1]⋯[px−1][px+1]⋯[pn−1]=w。
你可以以任意顺序输出这些行。
提示
样例解释 1
样例 1 给出了一个二维数组,其大小为 2×2,沿 1 号轴求和。在二维数组中,按 0 号轴求和可理解为按列求和,按 1 号轴求和可理解为按行求和。
[1324]→[37]样例解释 2
样例 2 给出了一个三维数组,其大小为 2×2×2。沿 0 号轴求和的结果大小为 2×2。
以 S[0][0] 的计算方式为例:
S[0][0]=i=0∑1a[i][0][0]=a[0][0][0]+a[1][0][0]=1+5=6可以得到结果为
[610812]
数据规模与约定
- 对于 60% 的测试数据,保证 n=2。
- 对于 100% 的测试数据,保证 2≤n≤16,1≤di≤103,1≤i=0∏n−1di≤216,−100≤val≤100。保证 ∀i∈[0,n),输入的 pi∈[0,di)。