Шарик в шестиугольнике
На плоскости, на которой введена декартова прямоугольная система координат OXY, нарисован правильный шестиугольник. Длины всех сторон шестиугольника равны 1, а все углы шестиугольника равны 120 градусам (так как он правильный). Центр шестиугольника находится в точке (0, 0), а две из его вершин - в точках (1, 0) и (-1, 0).
В точке (0, 0) расположен маленький круглый шарик, который в дальнейшем будем считать материальной точкой. По шарику ударяют кием так, что он начинает двигаться с постоянной скоростью, равной длине одного единичного отрезку в секунду (единичный отрезок - это отрезок, соединяющий точки (0, 0) и (1, 0)), в направлении, составляющем угол в 45 градусов с положительным направлением оси OX, как показано на следующем рисунке:
Если во время движения шарик касается некоторой стороны шестиугольника, то он отражается от нее по законам физики - угол падения равен углу отражения. Соударение шарика со стороной шестиугольника является абсолютно упругим, то есть после отражения шарик продолжает движение с той же скоростью, что и до соударения.
Если шарик во время своего движения попадает ровно в угол шестиугольника, то его отражение также происходит по законам физики. При этом угол падения отсчитывается от одной из сторон, образующих угол, а угол отражения - от другой.
Предположим, что ровно через T секунд после начала движения шарик будет находиться в точке с координатами (x0, y0). Напишите программу, получающую на вход число T и котороя находит значение суммы x0*x0 + y0*y0.
Входные данные
Число T от 1 до 1000000000 (1 миллиард) включительно.
Выходные данные
Строка, содержащая десятичную запись вещественного числа S, равного значению суммы x0*x0 + y0*y0, где (x0, y0) - это координаты точки, в которой будет находиться шарик ровно через T секунд после начала движения. Число S должно быть округлено ровно до 3-х знаков после десятичной точки по стандартным математическим правилам округления.
Для того, чтобы избежать проблемы, когда искомое число S в результате погрешностей при его вычислении округляется не в ту сторону, все тесты будут удовлетворять следующему условию: число 1000*S отстоит от ближайшего к 1000*S полуцелого числа (то есть числа вида x + 0.5 для целого x) не менее, чем на 0.1.