화학
시간 제한1초메모리 제한1024 MB
각 1나노리터씩 든 시험관 n개가 있을 때, 부피가 같은 시험관끼리만 부어서 1번 시험관에 정확히 k나노리터를 남기는 방법을 찾습니다. 불가능하면 -1을 출력합니다.
문제
Vasya는 화학 수업을 듣고 있다. 이번 학기에 그의 조는 건조 액체를 공부하고 있다. 액체 혼합 실험에서 Vasya는 산소 산화물(oxygen oxide)을 받았다. 이 물질은 섞은 뒤 결과를 예측할 수 없다. 이 액체는 1:1 비율로 섞었을 때만 안정하다.
Vasya에게는 시험관이 개 있고, 각 시험관에는 산소 산화물이 1 나노리터씩 들어 있다. 이 산화물의 성질 때문에 Vasya는 A번 시험관의 액체를 B번 시험관에 붓되, B번 시험관의 부피가 두 배가 되도록 붓는다. 실험을 성공시키려면 시험관 중 하나에 산화물이 정확히 나노리터 있어야 한다. 그가 이 실험을 성공하도록 도와라.
입력
첫 줄에 정수 과 가 주어진다 (, ).
출력
첫 번째 시험관에 산화물이 정확히 나노리터 남도록 하는 붓기 순서를 출력한다.
첫 줄에 붓는 횟수 ()을 출력한다. 이어서 개의 줄에 정수 와 ()를 출력한다. 이는 번 시험관의 산화물을 번 시험관에 붓는다는 뜻이다.
그런 순서가 없으면 -1을 출력한다. 해가 여럿이면 그중 아무것이나 출력해도 된다. 순서가 존재한다면 붓는 횟수가 이하인 순서가 존재함이 보장된다.