### Deskripsi: Diberikan sebuah string $S$ dengan panjang $N$ yang hanya terdiri dari huruf-huruf 'O', 'S', dan 'N'; Anda diminta untuk menghitung berapa banyak kemunculan subsekuens "OSN" dari string tersebut. Secara persisnya, Anda diminta untuk menghitung banyaknya cara memilih huruf 'O', 'S', dan 'N' dari string yang diberikan sehingga huruf 'O' yang dipilih berada sebelum huruf 'S' yang dipilih, dan huruf 'S' yang dipilih berada sebelum huruf 'N' yang dipilih. ### Masukan Masukan diberikan dalam format berikut: ``` N S ``` ### Keluaran Keluarkan sebuah baris berisi sebuah bilangan bulat yang menyatakan banyaknya kemunculan subsekuens "OSN" dari string $S$. ### Contoh Masukan dan Keluaran | Contoh Masukan | Contoh Keluaran | | ------------------------ | --------------- | | <pre>8<br>SONOSONO</pre> | <pre>2</pre> | ### Penjelasan Contoh Ada $2$ kemunculan subsekuens "OSN" pada string "SONOSONO", yakni dengan memilih huruf ke-$2$, $5$, dan $7$; serta dengan memilih huruf ke-$4$, $5$, dan $7$. ### Batasan Untuk seluruh kasus uji, berlaku: * $|S| = N$ * $S$ hanya terdiri dari huruf-huruf 'O', 'S', dan 'N'. ### Subsoal 1 (Mudah) * $1 \le N \le 200$ ### Subsoal 2 (Sulit) * $1 \le N \le 200.000$ ### Peringatan Untuk dapat menjawab pertanyaan ini dengan benar, Anda mungkin perlu menggunakan tipe data **long long** untuk dapat menyimpan data dengan nilai yang besar. Tipe data **int** saja mungkin tidak cukup!