using System;
public class Test
{
public static void Main()
{
BadlyDesignedStruct a=new BadlyDesignedStruct();
Console.WriteLine(a);
Console.WriteLine(a);
BadlyDesignedStruct b=new BadlyDesignedStruct();
Console.WriteLine(b.ToString());
Console.WriteLine(b.ToString());
}
}
public struct BadlyDesignedStruct
{
int counter;
public override string ToString()
{
return (counter++).ToString();
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICAgICAgICB7CiAJCUJhZGx5RGVzaWduZWRTdHJ1Y3QgYT1uZXcgQmFkbHlEZXNpZ25lZFN0cnVjdCgpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKGEpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKGEpOwoJCgkJQmFkbHlEZXNpZ25lZFN0cnVjdCBiPW5ldyBCYWRseURlc2lnbmVkU3RydWN0KCk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoYi5Ub1N0cmluZygpKTsKCQlDb25zb2xlLldyaXRlTGluZShiLlRvU3RyaW5nKCkpOwkKICAgICAgICB9Cn0KCnB1YmxpYyBzdHJ1Y3QgQmFkbHlEZXNpZ25lZFN0cnVjdAp7CglpbnQgY291bnRlcjsKCQoJcHVibGljIG92ZXJyaWRlIHN0cmluZyBUb1N0cmluZygpCgl7CgkJcmV0dXJuIChjb3VudGVyKyspLlRvU3RyaW5nKCk7Cgl9Cn0K