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 C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include<bits/stdc++.h>
//#include <iostream>
//#include <algorithm>
using namespace std;

typedef long long ll;
#define loop(i,n) for(int i=0;i<n;++i)
#define mem(x,y) memset(x,y,sizeof(x))
#define PI   3.1415926
#define INF  0x3f3f3f3f//(1061109567)
int main()
{
	int n,k,s;
	cin >>n>>k>> s;
	int q;
	if(s!=1e9) q=s+1;
	else q=s-1;
	if(n>k)
	{
		loop(i,k)
		{
			cout << s << " "; 
		}
		for(int j=0;j<n-k;j++)
		{
			if(j!=n-k-1) cout << q << " ";
			else cout << q;
		}
	}
	else
	{
		for(int j=0;j<k;j++)
		{
			if(j==k-1) cout << s;
			else cout << s << " "; 
		}
	}
	return 0;
}