Problem C
Seka
                                                                Languages
                        
                            
                                                                    da
                                                                    de
                                                                    en
                                                                    et
                                                                    fi
                                                                    lt
                                                                    lv
                                                                    pl
                                                                    uk
                                                            
                        
                                                                
  Natūraliųjų skaičių seka $(x_1,\ldots ,x_ m)$ vadinama gera, jeigu $x_1 = 1$ ir kiekvienam $1 < j \leq m$ galioja arba $x_ j=x_{j-1}+1$, arba $x_ j=x_ k\cdot x_ l$, kur $k$ ir $l$ yra tokie skaičiai, kuriems galioja $0< k\leq l< j$.
Pavyzdžiui, abidvi sekos $(1,1)$ ir $(1,2)$ yra geros, bet seka $(1,3)$ – ne.
Duotiesiems $n$ skaičių $w_1,\ldots ,w_ n$, sekos $(x_1,\ldots ,x_ m)$, kur kiekvienam $1\leq j\leq m$ galioja $1\leq x_ j \leq n$ , svoris apibrėžiamas taip:
\[ w_{x_1} +\cdots +w_{x_ m}\, . \]Pavyzdžiui, duoti svoriai $w_1=10, w_2=42,w_3= 1$. Tuomet sekos $(1,1)$ svoris yra $20$, o sekos $(1,3)$ – $11$.
Kiekvienam $1\leq i\leq n$ pažymėkime mažiausią geros sekos, kurioje yra $i$, svorį $s_ i$.
Raskite $s_1,\ldots ,s_ n$ reikšmes.
Pradiniai duomenys
Pirmoje įvesties eilutėje pateiktas svorių skaičius $n$ (sveikasis skaičius). Kitose $n$ eilučių pateikti svoriai – sveikieji skaičiai $w_1, \ldots , w_ n$.
Rezultatai
Išveskite $n$ eilučių. Jose iš eilės pateikite $s_1$, $\ldots $, $s_ n$.
Ribojimai ir vertinimas
Visada galioja $1\leq n \leq 30\, 000$ ir $1\leq w_ i \leq 10^6$ kiekvienam $1\leq i \leq n$.
Jūsų sprendimas bus testuojamas su keliomis testų grupėmis, kurių kiekviena verta tam tikro skaičiaus taškų. Kiekviena testų grupė sudaryta iš įvairių testų. Testų grupės taškai skiriami tik išsprendus visus grupės testus. Galutinis taškų skaičius lygus daugiausiai surinkusio sprendimo taškų skaičiui.
| 
           Grupė  | 
        
           Taškai  | 
        
           Papildomi ribojimai  | 
      
| 
           $1$  | 
        
           $11$  | 
        
           $n\leq 10$  | 
      
| 
           $2$  | 
        
           $10$  | 
        
           $n\leq 300$, $w_1=\cdots =w_ n = 1$  | 
      
| 
           $3$  | 
        
           $10$  | 
        
           $n\leq 300$, $w_1=\cdots =w_ n$  | 
      
| 
           $4$  | 
        
           $9$  | 
        
           $n\leq 1400$, $w_1=\cdots =w_ n = 1$  | 
      
| 
           $5$  | 
        
           $45$  | 
        
           $n\leq 5000$  | 
      
| 
           $6$  | 
        
           $15$  | 
        
           nėra  | 
      
| Sample Input 1 | Sample Output 1 | 
|---|---|
          3 10 42 1  | 
        
          10 52 53  | 
      
