public static void Main()
(from @object in Enumerable.Range(0, 166).Cast<object>()
let number = @object as int?
let check = (Func<int, bool>)
((multiplier) => number % multiplier == 0 && number != 0)
new { Multiplier = 3, Synonim = "Fizz" },
new { Multiplier = 5, Synonim = "Buzz" },
new { Multiplier = 11, Synonim = "Jazz" }
let concat = (Func<string>)
(() => multipliers.Aggregate(string.Empty, (current, next) => current + (check(next.Multiplier) ? next.Synonim : string.Empty)))
select number + " : " + (string.IsNullOrEmpty(concat()) ? @object : concat()))
.ForEach(Console.WriteLine);