A divisão de anúncios da Elogog pensou em um jeito para chamar os músicos para usar o seu navegador de Internet. A divisão propôs então uma forma de implementar um sintetizador dentro do seu navegador! O sintetizador deverá ser capaz de gerar ondas senoidais, quadradas, dente de serra e triangulares, definidas da seguinte maneira:
O sintetizador opera com os padrões de áudio atuais. A cada segundo, ele produz $$$44100$$$ amostras, inteiros de $$$32$$$ bits com sinal (entre $$$-32768$$$ e $$$32767$$$). As amostras são resultado da aplicação de $$$f(x)$$$ onde $$$-\pi \le x < \pi$$$, sendo que $$$x$$$ varia de acordo com a frequência (basicamente, a nota musical) que se quer obter, seguindo uma função periódica.
Por exemplo para a frequência de $$$1~\text{Hz}$$$, começamos com $$$x = 0$$$ para o instante de tempo $$$t = 0$$$. $$$x$$$ vai crescendo até $$$\pi$$$ até chegarmos no tempo $$$t = 22050$$$. Depois disso, $$$x$$$ recomeça de $$$-\pi$$$, e chega a $$$\pi$$$ de novo apenas em $$$t = 66150$$$. Note então que para $$$1~\text{Hz}$$$, repetimos o intervalo de $$$t = 0$$$ até $$$t = 44100$$$. Para $$$22050~\text{Hz}$$$, podemos perceber que esse intervalo repetido é reduzido, repetimos a cada 2, começando em $$$t = 0$$$ até $$$t = 2$$$. Porém, lembre que esse intervalo nem sempre é inteiro.
Sabendo destes detalhes, ajude então os engenheiros da Elogog a implementar o sintetizador!
Na primeira linha são encontrados um caractere $$$W$$$ que descreve o tipo da onda e um inteiro $$$F$$$ $$$(1 \le F \le 10^6)$$$, a frequência da onda a ser sintetizada. O caractere $$$W$$$ pode ser 'S', a onda senoidal, 'Q', a onda quadrada, 'W', a onda dente de serra e 'T', a onda triangular.
Na segunda linha são encontrados dois inteiros $$$A$$$ e $$$B$$$ $$$(0 \le A < B \le 10^9)$$$, que indicam o intervalo de amostras do sintetizador. É garantido que $$$(B - A) \le 10^5$$$.
Imprima $$$(B - A)$$$ linhas, cada amostra do sintetizador para o instante de tempo $$$t$$$ no intervalo $$$[A, B)$$$. A amostra deve estar no intervalo $$$[-32768,32767]$$$ e erros de arredondamento são tolerados.
Q 22050 0 3
32767 -32768 32767
W 11025 0 4
0 16384 -32768 -16384
S 3675 999999993 1000000000
-32768 -28377 -16384 0 16384 28377 32767
T 3675 12950 12954
21845 32767 21845 10922
S 440 0 14
0 2053 4098 6126 8131 10104 12036 13922 15753 17522 19222 20847 22390 23845
T 1 992241 992255
27 24 21 18 15 12 9 6 3 0 -3 -6 -9 -12