Problem:
Score : 700 points

Problem Statement

Given are positive integers N and K.

Determine if the 3N integers K, K+1, ..., K+3N-1 can be partitioned into N triples (a_1,b_1,c_1), ..., (a_N,b_N,c_N) so that the condition below is satisfied. Any of the integers K, K+1, ..., K+3N-1 must appear in exactly one of those triples.

For every integer i from 1 to N, a_i + b_i \leq c_i holds.

If the answer is yes, construct one such partition.

Constraints

1 \leq N \leq 10^5

1 \leq K \leq 10^9

Input

Input is given from Standard Input in the following format:

N K

Output

If it is impossible to partition the integers satisfying the condition, print -1. If it is possible, print N triples in the following format:

a_1 b_1 c_1
:
a_N b_N c_N

Sample Input 1

1 1

Sample Output 1

1 2 3

Sample Input 2

3 3

Sample Output 2

-1

Solution in Fortran (gfortran v4.8.4) (judge verdict: Wrong Answer)

program non_triangular_triplets
  implicit none
  integer(8) :: n, k, i
  read(*,*) n, k
  if (2_8*k+2_8*n-1_8 <= k+2_8*n) then
    do i = 0_8, n-1_8
      write(*,'(i0,x,i0,x,i0)') k+i, k+2_8*n-1_8-i, k+2_8*n+i
    end do
  else
    write(*,'(i0)') -1
  end if
end program non_triangular_triplets