using System;
namespace test
{
class Program
{
static bool isUpperArrival = false;
static bool isLowerArrival = false;
static void Main(string[] args)
{
var upper = 10;
var lower = -10;
var num = 7;
Console.WriteLine(num);
for (var i = 0; i < 100; i++)
{
if (ShouldUp(num, lower, upper))
num++;
else
num--;
Console.WriteLine(num);
}
Console.ReadLine();
}
static bool ShouldUp(int number, int lower, int upper)
{
if (number <= lower)
{
isLowerArrival = true;
isUpperArrival = false;
return true;
}
if (number >= upper)
{
isLowerArrival = false;
isUpperArrival = true;
return false;
}
if (isLowerArrival)
return true;
if (isUpperArrival)
return false;
return false;
}
}
}
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIHRlc3QKewogICAgY2xhc3MgUHJvZ3JhbQogICAgewogICAgICAgIHN0YXRpYyBib29sIGlzVXBwZXJBcnJpdmFsID0gZmFsc2U7CiAgICAgICAgc3RhdGljIGJvb2wgaXNMb3dlckFycml2YWwgPSBmYWxzZTsKICAgICAgICBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICAgICAgewogICAgICAgICAgICB2YXIgdXBwZXIgPSAxMDsKICAgICAgICAgICAgdmFyIGxvd2VyID0gLTEwOwogICAgICAgICAgICB2YXIgbnVtID0gNzsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobnVtKTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKFNob3VsZFVwKG51bSwgbG93ZXIsIHVwcGVyKSkKICAgICAgICAgICAgICAgICAgICBudW0rKzsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBudW0tLTsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG51bSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgQ29uc29sZS5SZWFkTGluZSgpOwogICAgICAgIH0KICAgICAgICBzdGF0aWMgYm9vbCBTaG91bGRVcChpbnQgbnVtYmVyLCBpbnQgbG93ZXIsIGludCB1cHBlcikKICAgICAgICB7CiAgICAgICAgICAgIGlmIChudW1iZXIgPD0gbG93ZXIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlzTG93ZXJBcnJpdmFsID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGlzVXBwZXJBcnJpdmFsID0gZmFsc2U7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAobnVtYmVyID49IHVwcGVyKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpc0xvd2VyQXJyaXZhbCA9IGZhbHNlOwogICAgICAgICAgICAgICAgaXNVcHBlckFycml2YWwgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpc0xvd2VyQXJyaXZhbCkKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICBpZiAoaXNVcHBlckFycml2YWwpCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9Cn0K