Solution Damien (CSharp)