Problem:
Score : 800 points

Problem Statement

In Finite Encyclopedia of Integer Sequences (FEIS), all integer sequences of lengths between 1 and N (inclusive) consisting of integers between 1 and K (inclusive) are listed.

Let the total number of sequences listed in FEIS be X. Among those sequences, find the (X/2)-th (rounded up to the nearest integer) lexicographically smallest one.

Constraints

1 \leq N,K \leq 3 × 10^5

N and K are integers.

Input

Input is given from Standard Input in the following format:

K N

Output

Print the (X/2)-th (rounded up to the nearest integer) lexicographically smallest sequence listed in FEIS, with spaces in between, where X is the total number of sequences listed in FEIS.

Sample Input 1

3 2

Sample Output 1

2 1

There are 12 sequences listed in FEIS: (1),(1,1),(1,2),(1,3),(2),(2,1),(2,2),(2,3),(3),(3,1),(3,2),(3,3).
The (12/2 = 6)-th lexicographically smallest one among them is (2,1).

Sample Input 2

2 4

Sample Output 2

1 2 2 2

Sample Input 3

5 14

Sample Output 3

3 3 3 3 3 3 3 3 3 3 3 3 2 2

Solution in Go (1.6) (judge verdict: Runtime Error)

package main
import "fmt"
func main() {
  var k,n int
  fmt.Scan(&k,&n)
  if k%2 == 0 {
    fmt.Print(k/2)
    for i:=1;i<n;i++ { fmt.Print(" ");fmt.Print(k) }
    fmt.Println()
    return
  }
  b := make([]int,n)
  for i:=0;i<n;i++ { b[i] = (k+1)/2 }
  for i:=0;i<(n+1)/2;i++ {
    if b[len(b)-1] == 1 { b = b[:len(b)-1];continue }
    b[len(b)-1]--
    for len(b) < n { b = append(b,k) }
  }
  fmt.Print(b[0])
  for i:=1;i<len(b);i++ { fmt.Print(" ");fmt.Print(b[i]) }
  fmt.Println()
}