A. Reverse a Substringtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a string s consisting of n lowercase Latin letters.Let's define a substring as a contiguous subsegment of a string. For example, "acab" is a substring of "abacaba" (it starts in position 3 and ends in position 6), but "aa" or "d" aren't substrings of this string. So the substring of the string s from position l to position r is s[l; r] = s_l s_{l + 1} \dots s_r.You have to choose exactly one of the substrings of the given string and reverse it (i. e. make s[l; r] = s_r s_{r - 1} \dots s_l) to obtain a string that is less lexicographically. Note that it is not necessary to obtain the minimum possible string.If it is impossible to reverse some substring of the given string to obtain a string that is less, print "NO". Otherwise print "YES" and any suitable substring.String x is lexicographically less than string y, if either x is a prefix of y (and x \ne y), or there exists such i (1 \le i \le min(|x|, |y|)), that x_i < y_i, and for any j (1 \le j < i) x_j = y_j. Here |a| denotes the length of the string a. The lexicographic comparison of strings is implemented by operator < in modern programming languages​​.InputThe first line of the input contains one integer n (2 \le n \le 3 \cdot 10^5) — the length of s.The second line of the input contains the string s of length n consisting only of lowercase Latin letters.OutputIf it is impossible to reverse some substring of the given string to obtain a string which is lexicographically less, print "NO". Otherwise print "YES" and two indices l and r (1 \le l < r \le n) denoting the substring you have to reverse. If there are multiple answers, you can print any.ExamplesInput
7
abacaba
Output
YES
2 5
Input
6
aabcfg
Output
NO
NoteIn the first testcase the resulting string is "aacabba".
7
abacaba

YES 2 5 
['implementation', 'sortings', 'strings', '*1000']