public static void Main()
string line = Console.ReadLine();
if (int.TryParse(line, out value))
var lineTotal = line.Select(x => int.Parse(x.ToString())).Sum();
decimal usdValue = Calculate.ConvertValue(lineTotal, "USD");
decimal audValue = Calculate.ConvertValue(lineTotal, "AUD");
decimal sgdValue = Calculate.ConvertValue(lineTotal, "SGD");
decimal jpyValue = Calculate.ConvertValue(lineTotal, "JPY");
Console.WriteLine("Converted values for these currencies");
Console.WriteLine("USD converted value: {0}", usdValue);
Console.WriteLine("AUD converted value: {0}", audValue);
Console.WriteLine("SGD converted value: {0}", sgdValue);
Console.WriteLine("JPY converted value: {0}", jpyValue);
usdValue = Calculate.SubtractValue(usdValue);
audValue = Calculate.SubtractValue(audValue);
sgdValue = Calculate.SubtractValue(sgdValue);
jpyValue = Calculate.SubtractValue(jpyValue);
Console.WriteLine("Diffrence from 500");
Console.WriteLine("USD difference: {0}", usdValue);
Console.WriteLine("AUD difference: {0}", audValue);
Console.WriteLine("SGD difference: {0}", sgdValue);
Console.WriteLine("JPY difference: {0}", jpyValue);
Console.WriteLine("this is NOT a number");
public static class Calculate
public static decimal ConvertValue(decimal value, string currency)
decimal converted = 0.0M;
if (currency.Equals("USD"))
converted = value * 53.54M;
else if (currency.Equals("AUD"))
converted = value * 38.6232M;
else if (currency.Equals("SGD"))
converted = value * 38.9944M;
converted = value * 0.4816M;
public static decimal SubtractValue(decimal value)