Problem:
Score : 400 points

Problem Statement

Given are three integers N, K, and S.

Find a sequence A_1, A_2, ..., A_N of N integers between 1 and 10^9 (inclusive) that satisfies the condition below.
We can prove that, under the conditions in Constraints, such a sequence always exists.

There are exactly K pairs (l, r) of integers such that 1 \leq l \leq r \leq N and A_l + A_{l + 1} + \cdots + A_r = S.

Constraints

1 \leq N \leq 10^5

0 \leq K \leq N

1 \leq S \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N K S

Output

Print a sequence satisfying the condition, in the following format:

A_1 A_2 ... A_N

Sample Input 1

4 2 3

Sample Output 1

1 2 3 4

Two pairs (l, r) = (1, 2) and (3, 3) satisfy the condition in the statement.

Sample Input 2

5 3 100

Sample Output 2

50 50 50 30 70

Solution in Rust (1.42.0) (judge verdict: Accepted)

use std::io;
use std::io::Read;
use std::collections::HashMap;

fn main() -> io::Result<()>{

    let mut buffer = String::new();
    io::stdin().read_line(&mut buffer)?;

    let split: Vec<&str> = buffer.split_ascii_whitespace().collect();
    let N: usize = split[0].parse().unwrap();
    let K: usize = split[1].parse().unwrap();
    let S: usize = split[2].parse().unwrap();

    let max= 1000000000usize;

    if S == max {
        for i in 0..N {
            if i < K {
                print!("{} ", S);
            } else {
                print!("{} ", 1);
            }
        }
        return Ok(())
    }
    if S == 1 {
        for i in 0..N {
            if i < K {
                print!("{} ", 1);
            } else {
                print!("{} ", max);
            }
        }
        return Ok(())
    }

    if K == 0 {
        for i in 0..N {
            print!("{} ", max);
        }
        return Ok(())
    }

    if K == N {
        for i in 0..N {
            print!("{} ", S);
        }
        return Ok(())
    }

    for i in 0..N {
        if i < K-1 {
            print!("{} ", S);
        } else if i == K-1 {
            print!("{} ", S-1)
        } else if i == K {
            print!("{} ", 1);
        } else {
            print!("{} ", max);
        }
    }
    Ok(())
}