Kato_Shoko
题号:NC301618
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}加藤翔子现在得到一个长度为 n 的字符串 s。他希望通过删除其中的一些字符,并将剩余字符重新排列,以得到目标字符串 \texttt{Kato\_Shoko}
\hspace{15pt}对于给定的字符串 s,请判断是否可以通过删除任意个(可为 0 个)字符,并对剩余字符进行任意重排;若能得到与目标字符串 \texttt{Kato\_Shoko} 逐字符完全相同的字符串。如果可以,输出需要删除的最少字符数;否则输出 \texttt{NO}

输入描述:

\hspace{15pt}第一行输入一个整数 n \left(1 \le n \le 10^5\right),表示字符串的长度。
\hspace{15pt}第二行输入一个长度为 n,由大小写字母、数字和下划线组成的字符串 s

输出描述:

\hspace{15pt}如果无法得到目标字符串,直接输出 \texttt{NO};否则,先输出 \texttt{YES},随后在同一行输出一个整数,表示需要删除的最少字符数,两者以空格分隔。
示例1

输入

复制
15
Kato_Shoko12345

输出

复制
YES 5
示例2

输入

复制
9
KatoShoko

输出

复制
NO
示例3

输入

复制
10
Kato_Shoko

输出

复制
YES 0