using System;
using System.Collections .Generic ;
public class Program
{
private static void Test( int R)
{
int x0 = 0 , y0 = 0 , n = 360 ;
var pts = new HashSet< Tuple< int , int>> ( ) ;
for ( int i = 0 ; i < n; ++ i)
{
int x = ( int ) ( Math.Cos ( 2 * Math.PI * i / n) * R + 0.5 ) + x0;
int y = ( int ) ( Math.Sin ( 2 * Math.PI * i / n) * R + 0.5 ) + y0;
pts.Add ( new Tuple< int , int> ( x, y) ) ;
}
Console.WriteLine ( "{0} of {1} when radius is {2}" , pts.Count , n, R) ;
}
public static void Main( )
{
Test( 1 ) ;
Test( 10 ) ;
Test( 20 ) ;
Test( 40 ) ;
Test( 80 ) ;
Test( 90 ) ;
Test( 100 ) ;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBQcm9ncmFtCnsKCXByaXZhdGUgc3RhdGljIHZvaWQgVGVzdChpbnQgUikKCXsKCQlpbnQgeDAgPSAwLCB5MCA9IDAsIG4gPSAzNjA7CgkJdmFyIHB0cyA9IG5ldyBIYXNoU2V0PFR1cGxlPGludCwgaW50Pj4oKTsKCQkKCQlmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKCQl7CgkJCWludCB4ID0gKGludCkoTWF0aC5Db3MoMiAqIE1hdGguUEkgKiBpIC8gbikgKiBSICsgMC41KSArIHgwOwoJCQlpbnQgeSA9IChpbnQpKE1hdGguU2luKDIgKiBNYXRoLlBJICogaSAvIG4pICogUiArIDAuNSkgKyB5MDsKCQkJCgkJCXB0cy5BZGQobmV3IFR1cGxlPGludCwgaW50Pih4LCB5KSk7CgkJfQoJCQoJCUNvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gb2YgezF9IHdoZW4gcmFkaXVzIGlzIHsyfSIsIHB0cy5Db3VudCwgbiwgUik7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlUZXN0KDEpOwoJCVRlc3QoMTApOwoJCVRlc3QoMjApOwoJCVRlc3QoNDApOwoJCVRlc3QoODApOwoJCVRlc3QoOTApOwoJCVRlc3QoMTAwKTsKCX0KfQ==