MODULO (Bài 3 ngày thứ nhất)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho hai số \(A\)\(B\) khác nhau (\(1 \le A, B < 10, A \neq B\)), hãy tìm số \(S\) có đúng \(N\) chữ số, mỗi chữ số là \(A\) hoặc \(B\), sao cho phần dư khi chia \(S\) cho \(2^N\)\(K\).

Ví dụ với \(A = 7, B = 2, N = 3\)\(K = 5\) thì \(S = 277\) là một đáp án.

Input

  • Dòng đầu ghi 2 chữ số \(A, B\) (\(1 \le A, B < 10, A \neq B\)).
  • Dòng thứ 2 ghi 2 số \(N\) (\(1 \le N \le 63\)) và \(K\) (\(0 \le K < 2^N\)).

Output

  • In ra số \(S\) bất kỳ nếu tồn tại. In ra -1 nếu không tồn tại số \(S\).

Example

Test 1

Input
7 2
3 5
Output
277

Scoring

  • 20% số test có \(N \le 20\).
  • 30% số test có \(N \le 40\).
  • 50% số test còn lại không có giới hạn gì thêm.

Notes

  • Nguồn: Bắc Ninh PREVNOI 2018-2019

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: