Joseph Ring C# implementation