using System;
class Program
{
static bool VerifyAllUpperOrAllLowerOrIsCapitalized(string word) {
int upper = 0;
int lower = 0;
foreach (char ch in word) {
if (char.IsLower(ch)) {
lower++;
}
else if (char.IsUpper(ch)) {
upper++;
}
}
// Case 1: all lowercase
if (upper == 0) return true;
// Case 2: all uppercase
if (lower == 0) return true;
// Case 3: capitalized (only first letter uppercase)
if (upper == 1 && char.IsUpper(word[0])) return true;
// Otherwise, mixed casing
return false;
}
static void RunTest(string word) {
Console.WriteLine($"Testing word: \"{word}\"");
if (VerifyAllUpperOrAllLowerOrIsCapitalized(word)) {
Console.WriteLine("OK\n");
}
else {
Console.WriteLine("Error\n");
}
}
static void Main()
{
RunTest("PROGRAMMING");
RunTest("programming");
RunTest("Programming");
RunTest("ProGramMing");
}
}
/*
run:
Testing word: "PROGRAMMING"
OK
Testing word: "programming"
OK
Testing word: "Programming"
OK
Testing word: "ProGramMing"
Error
*/