using System.Text.RegularExpressions;
public static void Main()
s=>string.Concat(s.Select(c=>c+(char.IsLetter(c)?(char)(c^32)+"":"")));
Console.WriteLine(f3(f("bad")));
Console.WriteLine(f3(f("Nice")));
Console.WriteLine(f3(f("T e S t")));
Console.WriteLine(f3(f("H3l|@!")));
Console.WriteLine(f3(f("(e.g.)")));
Console.WriteLine(f3("aAa"));
Console.WriteLine(f3("aA"));
Console.WriteLine(f3("Aaa"));
Console.WriteLine(f3("aaaAAA"));
Console.WriteLine(f3("AA"));
Console.WriteLine(f3("AB"));
static string f2(string s)
for(int i = 0; i < s.Length; i++)
if (char.IsLetter(s[i]) & i+1 < s.Length)
if (char.ToLower(s[i]) == char.ToLower(s[i + 1])
& char.IsLower(s[i]) != char.IsLower(s[i + 1]))
static string f3(string s)
var r="";for(int i=0,l=s.Length;i<l;i++){var c=s[i];r+=c;
if(char.IsLetter(c)&i+1<l&&(c|32)==(s[i+1]|32)&c!=s[i+1])i++;}return r;
static string f4 (string s)
return Regex.Replace(s,@"(.)(?!\1)(?i)\1",m=>(m+"")[0]+"");