시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB0000.000%

문제

Dado um inteiro positivo n, denotaremos por [n] o intervalo real {x : 0 ≤ x ≤ n}. Uma função f : [n] ⇒ R é parcialmente especificada, sendo fornecidos valores de f apenas em pontos de um subconjunto S de [n].

O conjunto S satisfaz as seguintes propriedades:

  1. Os pontos em S são todos inteiros.
  2. Os extremos 0 e n de [n] estão ambos em S.

A função f satisfaz as seguintes propriedades:

  1. Os valores de f nos pontos inteiros de [n] são inteiros.
  2. Para cada ponto inteiro x em [n] \ S (ou seja, nos pontos inteiros de [n] que não estão em S), a função f é monótona no intervalo [x − 1, x + 1]. Em outras palavras, pelo menos uma das desigualdades f(x − 1) ≤ f(x) ≤ f(x + 1) ou f(x − 1) ≥ f(x) ≥ f(x + 1) é satisfeita.
  3. Para cada ponto não inteiro x em [n], o valor de f(x) é dado pela interpolação linear de f(⌊x⌋) e f(⌈x⌉), isto é, f(x) = (x − ⌊x⌋)f(⌊x⌋) + (⌈x⌉ − x)f(⌈x⌉).

Temos ainda a liberdade de especificar os valores de f nos pontos inteiros de [n]\S (note no entanto que S pode conter todos os pontos inteiros de [n]). Gostaríamos de utilizar essa flexibilidade para fazer com que  ∫n0 f(x)dx = y, isto é, a área sob f(x) entre os extremos 0 e n seja igual a y, um valor dado.

Seu problema então é decidir se isso é possível ou não.

입력

A primeira linha de um caso de teste contém três inteiros, N, M e Y , respectivamente a amplitude do intervalo, o tamanho do conjunto S e o valor de y. Cada uma das M linhas seguintes descreve a função em um ponto de S, contendo dois inteiros X e F, representando f(X) = F. Os valores de X não estão necessariamente em ordem crescente.

Restrições

  • 1 ≤ N ≤ 106
  • 0 ≤ X ≤ N, X inteiro, ∀X ∈ S
  • 0 ≤ F ≤ 106, F inteiro
  • 0 ≤ Y ≤ 109, Y inteiro
  • n0 f(x)dx ≤ 109 para qualquer atribuição de valores a f(x) para x ∈ [n] \ S satisfazendo as restrições do enunciado.

출력

Para cada caso de teste, determine se existe atribuição de valores a f(x) para os pontos inteiros x ∈ [n] \ S tal que ∫n0 f(x)dx = y, isto é, a área sob f(x) entre os extremos 0 e n seja igual a y. Em caso negativo, seu programa deve imprimir uma linha contendo apenas o caractere ‘N’. Em caso afirmativo, seu programa deve imprimir uma linha contendo o caractere ‘S’, seguido dos valores de f(x) para os pontos inteiros x ∈ [n] \ S, em ordem crescente de valores de x. O caractere inicial e os valores seguintes, se houver, devem ser separados por um espaço em branco. Caso mais de uma solução seja possível, imprima aquela que for lexicograficamente menor.

예제 입력 1

5 6 10
0 2
1 2
5 2
2 2
3 2
4 2
5 2 10
0 0
5 10
2 2 5
0 1
2 2
10 3 18
0 2
6 4
10 0
2 2 1
0 0
2 1

예제 출력 1

S
S 0 0 0 5
N
S 2 2 2 2 2 1 1 1
N