using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Globalization;
using System.Linq;
public class Program
{
public static void Main()
{
string rawInput = "ἀἁἂἃἄἅἆἇὰάᾀᾁᾂᾃᾄᾅᾆᾇᾰᾱᾲᾳᾴᾶᾷᾶ";
Console.WriteLine(rawInput);
string normalizedInput = Utility.RemoveDiacritics(rawInput);
string pattern = "α+";
var result = Regex.Matches(normalizedInput, pattern);
if(result.Count > 0)
Console.WriteLine(result[0]);
}
}
public static class Utility
{
public static string RemoveDiacritics(this string str)
{
if (null == str) return null;
var chars =
from c in str.Normalize(NormalizationForm.FormD).ToCharArray()
let uc = CharUnicodeInfo.GetUnicodeCategory(c)
where uc != UnicodeCategory.NonSpacingMark
select c;
return new string(chars.ToArray()).Normalize(NormalizationForm.FormC);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgUHJvZ3JhbQp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nIHJhd0lucHV0ID0gIuG8gOG8geG8guG8g+G8hOG8heG8huG8h+G9sOG9seG+gOG+geG+guG+g+G+hOG+heG+huG+h+G+sOG+seG+suG+s+G+tOG+tuG+t+G+tiI7CgkJQ29uc29sZS5Xcml0ZUxpbmUocmF3SW5wdXQpOwoJCXN0cmluZyBub3JtYWxpemVkSW5wdXQgPSBVdGlsaXR5LlJlbW92ZURpYWNyaXRpY3MocmF3SW5wdXQpOwkJCQkKCgkJc3RyaW5nIHBhdHRlcm4gPSAizrErIjsKICAgICAgICAKICAgICAgICB2YXIgcmVzdWx0ID0gUmVnZXguTWF0Y2hlcyhub3JtYWxpemVkSW5wdXQsIHBhdHRlcm4pOwoJCWlmKHJlc3VsdC5Db3VudCA+IDApCgkJCUNvbnNvbGUuV3JpdGVMaW5lKHJlc3VsdFswXSk7CgoJfQp9CgpwdWJsaWMgc3RhdGljIGNsYXNzIFV0aWxpdHkKewogICAgcHVibGljIHN0YXRpYyBzdHJpbmcgUmVtb3ZlRGlhY3JpdGljcyh0aGlzIHN0cmluZyBzdHIpCiAgICB7CiAgICAgICAgaWYgKG51bGwgPT0gc3RyKSByZXR1cm4gbnVsbDsKICAgICAgICB2YXIgY2hhcnMgPQogICAgICAgICAgICBmcm9tIGMgaW4gc3RyLk5vcm1hbGl6ZShOb3JtYWxpemF0aW9uRm9ybS5Gb3JtRCkuVG9DaGFyQXJyYXkoKQogICAgICAgICAgICBsZXQgdWMgPSBDaGFyVW5pY29kZUluZm8uR2V0VW5pY29kZUNhdGVnb3J5KGMpCiAgICAgICAgICAgIHdoZXJlIHVjICE9IFVuaWNvZGVDYXRlZ29yeS5Ob25TcGFjaW5nTWFyawogICAgICAgICAgICBzZWxlY3QgYzsKCiAgICAgICAgcmV0dXJuIG5ldyBzdHJpbmcoY2hhcnMuVG9BcnJheSgpKS5Ob3JtYWxpemUoTm9ybWFsaXphdGlvbkZvcm0uRm9ybUMpOwogICAgfQoKfQo=