using System;
public class VotingEligibility
{
public static void Main(string[] args)
{
// Define the minimum voting age
int votingAge = 18;
// Prompt the user to enter their age
Console.Write("Please enter your age: ");
// Read the user's input and convert it to an integer
// Use a try-catch block to handle potential invalid input (e.g., non-numeric)
try
{
int age = Convert.ToInt32(Console.ReadLine());
// Check if the entered age meets the voting age requirement
if (age >= votingAge)
{
Console.WriteLine("Congratulations! You are old enough to vote.");
}
else
{
int yearsRemaining = votingAge - age;
Console.WriteLine($"Sorry, you are not old enough to vote. You can vote in {yearsRemaining} year(s).");
}
}
catch (FormatException)
{
Console.WriteLine("Invalid input. Please enter a valid number for your age.");
}
catch (OverflowException)
{
Console.WriteLine("The entered age is too large or too small. Please enter a realistic age.");
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFZvdGluZ0VsaWdpYmlsaXR5CnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgLy8gRGVmaW5lIHRoZSBtaW5pbXVtIHZvdGluZyBhZ2UKICAgICAgICBpbnQgdm90aW5nQWdlID0gMTg7CgogICAgICAgIC8vIFByb21wdCB0aGUgdXNlciB0byBlbnRlciB0aGVpciBhZ2UKICAgICAgICBDb25zb2xlLldyaXRlKCJQbGVhc2UgZW50ZXIgeW91ciBhZ2U6ICIpOwoKICAgICAgICAvLyBSZWFkIHRoZSB1c2VyJ3MgaW5wdXQgYW5kIGNvbnZlcnQgaXQgdG8gYW4gaW50ZWdlcgogICAgICAgIC8vIFVzZSBhIHRyeS1jYXRjaCBibG9jayB0byBoYW5kbGUgcG90ZW50aWFsIGludmFsaWQgaW5wdXQgKGUuZy4sIG5vbi1udW1lcmljKQogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaW50IGFnZSA9IENvbnZlcnQuVG9JbnQzMihDb25zb2xlLlJlYWRMaW5lKCkpOwoKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGVudGVyZWQgYWdlIG1lZXRzIHRoZSB2b3RpbmcgYWdlIHJlcXVpcmVtZW50CiAgICAgICAgICAgIGlmIChhZ2UgPj0gdm90aW5nQWdlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiQ29uZ3JhdHVsYXRpb25zISBZb3UgYXJlIG9sZCBlbm91Z2ggdG8gdm90ZS4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCB5ZWFyc1JlbWFpbmluZyA9IHZvdGluZ0FnZSAtIGFnZTsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiU29ycnksIHlvdSBhcmUgbm90IG9sZCBlbm91Z2ggdG8gdm90ZS4gWW91IGNhbiB2b3RlIGluIHt5ZWFyc1JlbWFpbmluZ30geWVhcihzKS4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCAoRm9ybWF0RXhjZXB0aW9uKQogICAgICAgIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkludmFsaWQgaW5wdXQuIFBsZWFzZSBlbnRlciBhIHZhbGlkIG51bWJlciBmb3IgeW91ciBhZ2UuIik7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChPdmVyZmxvd0V4Y2VwdGlvbikKICAgICAgICB7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJUaGUgZW50ZXJlZCBhZ2UgaXMgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbC4gUGxlYXNlIGVudGVyIGEgcmVhbGlzdGljIGFnZS4iKTsKICAgICAgICB9CiAgICB9Cn0=