using System;
using System.Diagnostics;
class Smth
{
public int Sum;
public void Add1(int x) { Sum += x; }
public Smth Add2(int x) { Sum += x; return this; }
}
public class Test
{
public static void Main()
{
var x = new Smth();
const int MAXN = 10000;
Stopwatch sw = new Stopwatch();
x.Sum = 0;
sw.Start();
for (var q=0; q<MAXN; ++q)
{
x.Add1(1);
x.Add1(2);
x.Add1(3);
x.Add1(4);
x.Add1(5);
x.Add1(6);
x.Add1(7);
x.Add1(8);
}
sw.Stop();
Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
x.Sum = 0;
sw.Restart();
for (var q=0; q<MAXN; ++q)
{
x.Add2(1).Add2(2).Add2(3).Add2(4).Add2(5).Add2(6).Add2(7).Add2(8);
}
sw.Stop();
Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
x.Sum = 0;
sw.Restart();
for (var q=0; q<MAXN; ++q)
{
x.Add1(36);
}
sw.Stop();
Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
x.Sum = 0;
sw.Restart();
for (var q=0; q<MAXN; ++q)
{
x.Add2(36);
}
sw.Stop();
Console.WriteLine("{0} {1}", x.Sum, sw.ElapsedTicks);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CgpjbGFzcyBTbXRoCnsKICBwdWJsaWMgaW50IFN1bTsKICBwdWJsaWMgdm9pZCBBZGQxKGludCB4KSB7IFN1bSArPSB4OyB9CiAgcHVibGljIFNtdGggQWRkMihpbnQgeCkgeyBTdW0gKz0geDsgcmV0dXJuIHRoaXM7IH0KfQoKcHVibGljIGNsYXNzIFRlc3QKewogIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICB7CiAgICB2YXIgeCA9IG5ldyBTbXRoKCk7CiAgICBjb25zdCBpbnQgTUFYTiA9IDEwMDAwOwogIAkKICAgIFN0b3B3YXRjaCBzdyA9IG5ldyBTdG9wd2F0Y2goKTsKICAJCiAgICB4LlN1bSA9IDA7CiAgICBzdy5TdGFydCgpOwogICAgCiAgICBmb3IgKHZhciBxPTA7IHE8TUFYTjsgKytxKQogICAgewogICAgICB4LkFkZDEoMSk7CiAgICAgIHguQWRkMSgyKTsKICAgICAgeC5BZGQxKDMpOwogICAgICB4LkFkZDEoNCk7CiAgICAgIHguQWRkMSg1KTsKICAgICAgeC5BZGQxKDYpOwogICAgICB4LkFkZDEoNyk7CiAgICAgIHguQWRkMSg4KTsKICAgIH0KICAgIAogICAgc3cuU3RvcCgpOwogICAgCiAgICBDb25zb2xlLldyaXRlTGluZSgiezB9IHsxfSIsIHguU3VtLCBzdy5FbGFwc2VkVGlja3MpOwogICAgCiAgICB4LlN1bSA9IDA7CiAgICBzdy5SZXN0YXJ0KCk7CiAgICAKICAgIGZvciAodmFyIHE9MDsgcTxNQVhOOyArK3EpCiAgICB7CiAgICAgIHguQWRkMigxKS5BZGQyKDIpLkFkZDIoMykuQWRkMig0KS5BZGQyKDUpLkFkZDIoNikuQWRkMig3KS5BZGQyKDgpOwogICAgfQogICAgCiAgICBzdy5TdG9wKCk7CiAgICAKICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gezF9IiwgeC5TdW0sIHN3LkVsYXBzZWRUaWNrcyk7CgogICAgeC5TdW0gPSAwOwogICAgc3cuUmVzdGFydCgpOwogICAgCiAgICBmb3IgKHZhciBxPTA7IHE8TUFYTjsgKytxKQogICAgewogICAgICB4LkFkZDEoMzYpOwogICAgfQogICAgCiAgICBzdy5TdG9wKCk7CiAgICAKICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gezF9IiwgeC5TdW0sIHN3LkVsYXBzZWRUaWNrcyk7CgogICAgeC5TdW0gPSAwOwogICAgc3cuUmVzdGFydCgpOwogICAgCiAgICBmb3IgKHZhciBxPTA7IHE8TUFYTjsgKytxKQogICAgewogICAgICB4LkFkZDIoMzYpOwogICAgfQogICAgCiAgICBzdy5TdG9wKCk7CiAgICAKICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gezF9IiwgeC5TdW0sIHN3LkVsYXBzZWRUaWNrcyk7CiAgfQp9