Сэм устал доставлять заказы самостоятельно, поэтому он решил построить робота, который будет помогать ему в доставке. Для работы робота-доставщика нужны две радиовышки. Область, в которой роботу предстоит доставлять заказы, представляет собой плоскость. Введём на ней координатные оси: ось OX направлена слева направо, а ось OY направлена снизу вверх. Точку с координатами x и y обозначим как (x,y). Сэм расположил первую радиовышку в точке (0,0), а вторую радиовышку в точке (1,0).
Так как Сэм не очень хорош в строительстве роботов, робот-доставщик умеет выполнять всего четыре команды.
Сейчас робот находится в точке (x_1,y_1), и Сэм хочет отправить его в точку (x_2,y_2). Он подозревает, что это не всегда возможно, а иногда может быть слишком долго. Помогите Сэму построить последовательность команд для робота, длинной не более 106, после выполнения которых, робот переместится из точки (x_1,y_1) в точку (x_2,y_2). Либо сообщите, что искомой последовательности команд длиной не более 106 не существует.
В первой строке даны два числа x_1 и y_1 (−100,000≤x_1,y_1,≤100,000) --- координаты исходной позиции робота. В следующей строке даны два числа x_2 и y_2 (−100,000≤x_2,y_2≤100,000) --- координаты точки, в которой робот должен оказаться после выполнения команд. Гарантируется, что исходная точка не совпадает с точкой назначения.
Если не существует искомой последовательность команд длиной не более 106, выведите <<-1>>. Иначе, в первой строке выведите положительное число k --- количество команд в вашей последовательности (k≤106). А в следующей строке выведите строку s, состоящую из k цифр 1, 2, 3 и 4 --- номера команд в порядке их выполнения.
Обратите внимание, что вам не требуется минимизировать длину последовательности команд. Если ответов несколько, вы можете вывести любой.
В первом примере, после первой операции робот покажется в точке (−1,0), а после второй в точке (1,−2).
В втором примере робот не может достичь точки назначения.