Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s consisting only of lowercase and uppercase Latin letters.
Let A be a set of positions in the string. Let's call it pretty if following conditions are met:
- letters on positions from A in the string are all distinct and lowercase;
- there are no uppercase letters in the string which are situated between positions from A (i.e. there is no such j that s[j] is an uppercase letter, and a1 < j < a2 for some a1 and a2 from A).
Write a program that will determine the maximum number of elements in a pretty set of positions.
Input
The first line contains a single integer n (1 ≤ n ≤ 200) — length of string s.
The second line contains a string s consisting of lowercase and uppercase Latin letters.
Output
Print maximum number of elements in pretty set of positions for string s.
Examples
input
11 aaaaBaabAbA
output
2
input
12 zACaAbbaazzC
output
3
input
3 ABC
output
0
求连续的小写字母中,种类最多的数量。
//用到了stl里面的set,set可以去重,在这题中就能方便计算出连续小写字母中不同字母的数量
#include <iostream> #include <bits/stdc++.h> using namespace std; int main() { char s[305]; int n,sm=0; cin>>n>>s; set<char>q; for(int i=0; i<n; i++) { if(s[i]>='a'&&s[i]<='z') q.insert(s[i]); else { if(sm<q.size()) sm=q.size(); q.clear(); } } if(sm<q.size()) sm=q.size(); q.clear(); cout<<sm<<endl; return 0; }