using System;
using System.Linq;
using System.Collections.Generic;
using System.Threading;
using System.Diagnostics;
namespace A
{
class Program
{
private const int N = 1000000;
private static void Main(string[] args)
{
long trash = 0;
int a1, a2, b;
var result0 = 0.0;
var result1 = 0.0;
int c, d;
for (int i = 0; i < N; i++)
{
Randomize(out a1, out a2, out b);
var sw = Stopwatch.StartNew();
c = a1 == 0 ? b : a1;
d = a2 == 0 ? b : a2;
sw.Stop();
trash += c + d;
result0 += (double)sw.ElapsedTicks;
var sw2 = Stopwatch.StartNew();
c = a1 - a1 * a1 * b + b;
d = a2 - a2 * a2 * b + b;
sw2.Stop();
trash += c + d;
result1 += (double)sw2.ElapsedTicks;
}
Console.WriteLine(trash);
Console.WriteLine("res1 = {0}", result0 / N);
Console.WriteLine("res2 = {0}", result1 / N);
} // your code goes here
static void Randomize(out int a1, out int a2, out int b)
{
a1 = r.Next(0);
a2 = r.Next(0) + 1;
b = r.Next(0) + 1;
}
static readonly Random r = new Random();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmc7CnVzaW5nIFN5c3RlbS5EaWFnbm9zdGljczsKCm5hbWVzcGFjZSBBCnsKICAgIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBwcml2YXRlIGNvbnN0IGludCBOID0gMTAwMDAwMDsKCiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICBsb25nIHRyYXNoID0gMDsKICAgICAgICAgICAgaW50IGExLCBhMiwgYjsKICAgICAgICAgICAgdmFyIHJlc3VsdDAgPSAwLjA7CiAgICAgICAgICAgIHZhciByZXN1bHQxID0gMC4wOwogICAgICAgICAgICBpbnQgYywgZDsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJhbmRvbWl6ZShvdXQgYTEsIG91dCBhMiwgb3V0IGIpOwoKICAgICAgICAgICAgICAgIHZhciBzdyA9IFN0b3B3YXRjaC5TdGFydE5ldygpOwogICAgICAgICAgICAgICAgYyA9IGExID09IDAgPyBiIDogYTE7CiAgICAgICAgICAgICAgICBkID0gYTIgPT0gMCA/IGIgOiBhMjsKICAgICAgICAgICAgICAgIHN3LlN0b3AoKTsKICAgICAgICAgICAgICAgIHRyYXNoICs9IGMgKyBkOwogICAgICAgICAgICAgICAgcmVzdWx0MCArPSAoZG91YmxlKXN3LkVsYXBzZWRUaWNrczsKCiAgICAgICAgICAgICAgICB2YXIgc3cyID0gU3RvcHdhdGNoLlN0YXJ0TmV3KCk7CiAgICAgICAgICAgICAgICBjID0gYTEgLSBhMSAqIGExICogYiArIGI7CiAgICAgICAgICAgICAgICBkID0gYTIgLSBhMiAqIGEyICogYiArIGI7CiAgICAgICAgICAgICAgICBzdzIuU3RvcCgpOwogICAgICAgICAgICAgICAgdHJhc2ggKz0gYyArIGQ7CiAgICAgICAgICAgICAgICByZXN1bHQxICs9IChkb3VibGUpc3cyLkVsYXBzZWRUaWNrczsKICAgICAgICAgICAgfQogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSh0cmFzaCk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJyZXMxID0gezB9IiwgcmVzdWx0MCAvIE4pOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgicmVzMiA9IHswfSIsIHJlc3VsdDEgLyBOKTsKCiAgICAgICAgfQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgogICAgICAgIHN0YXRpYyB2b2lkIFJhbmRvbWl6ZShvdXQgaW50IGExLCBvdXQgaW50IGEyLCBvdXQgaW50IGIpCiAgICAgICAgewogICAgICAgICAgICBhMSA9IHIuTmV4dCgwKTsKICAgICAgICAgICAgYTIgPSByLk5leHQoMCkgKyAxOwogICAgICAgICAgICBiID0gci5OZXh0KDApICsgMTsKICAgICAgICB9CgogICAgICAgIHN0YXRpYyByZWFkb25seSBSYW5kb20gciA9IG5ldyBSYW5kb20oKTsKICAgIH0KfQ==