Feed candies

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

You are playing a game to bring a slime up. The slime has two integral parameters called softness and transparency. In this game, there are 1010010^{100} types of candies numbered from 11 to 1010010^{100}, and if you feed the ii-th type of candy to the slime, its softness and transparency increase by s_is\_i and t_it\_i, respectively. Here, you know that s_is\_i and t_it\_i are calculated by the following formulae where AA and BB are integers.

  • (s_1,t_1)=(1,0)(s\_1, t\_1) = (1, 0)
  • (s_i,t_i)=(As_i1Bt_i1,Bs_i1+At_i1)(s\_i, t\_i) = (As\_{i-1} - Bt\_{i-1}, Bs\_{i-1} + At\_{i-1}) for each 2i101002 \le i \le 10^{100}

In addition, the slime likes eating new types of candies. Therefore, you can feed each type of candy at most once.

Initially, the slime's softness and transparency are both zero. Your objective is to feed zero or more types of candies to the slime so that the slime's softness and transparency become XX and YY, respectively. Determine whether this is possible, and if it is possible, find such a way.

In the first sample input, the characteristics of the first four types of candies are as follows.

  • (s_1,t_1)=(1,0)(s\_1, t\_1) = (1, 0)
  • (s_2,t_2)=(2,1)(s\_2, t\_2) = (2, -1)
  • (s_3,t_3)=(3,4)(s\_3, t\_3) = (3, -4)
  • (s_4,t_4)=(2,11)(s\_4, t\_4) = (2, -11)

If you feed the first, second and fourth types of candies to the slime, the slime's softness and transparency become 1+2+2=51 + 2 + 2 = 5 and 0+(1)+(11)=120 + (-1) + (-11) = -12, respectively.

입력

The input consists of multiple datasets. Each dataset is represented in the following format.

AA BB XX YY

Each dataset consists of a single line which contains four integers AA, BB, XX and YY. You may assume that 100A100-100 \le A \le 100, 100B100-100 \le B \le 100, 1016X1016-10^{16} \le X \le 10^{16}, 1016Y1016-10^{16} \le Y \le 10^{16} and A+B2|A| + |B| \ge 2.

The end of the input is represented by a line consisting of four zeros. The number of datasets should not exceed 200.

출력

For each dataset, if your objective is unachievable, print 1-1 in a single line. Otherwise, let mm be the number of types of candies you feed to the slime. Print mm on the first line. Then, for each 1km1 \le k \le m, on the (k+1k+1)-st line print the kk-th smallest type of candy you feed to the slime.

If there are multiple correct answers, print any of them.