#CT00037. Số tốt nhất

    ID: 150 Loại: Thông thường 2000ms 256MiB Tried: 2 Đã chấp nhận: 1 Độ khó: 1 Đăng bởi: Nhãn>String AlgorithmsString processing basicsDynamic ProgrammingState compressionGreedy AlgorithmsGreedy proof techniques

Số tốt nhất

Số tốt nhất

Phiên bản: Phước Hưng OJ

Đề bài

Cho một số tự nhiên NN. Số NN được viết dưới dạng một dãy chữ số và chỉ gồm các chữ số từ 11 đến 99.

Bạn được phép xóa một số chữ số của NN, có thể không xóa chữ số nào. Các chữ số còn lại phải giữ nguyên thứ tự tương đối ban đầu.

Ví dụ, từ số 5273152731 có thể tạo thành 573573 bằng cách xóa chữ số 22 và chữ số 11, nhưng không thể tạo thành 753753 vì thứ tự các chữ số đã thay đổi.

Hãy tạo ra số có giá trị lớn nhất có thể và chia hết cho 33 bằng cách xóa một số chữ số của NN.

Nếu không thể tạo được số nào chia hết cho 33, in 0.

Input

Một dòng duy nhất chứa số tự nhiên NN.

Mỗi chữ số của NN nằm trong khoảng từ 11 đến 99.

Output

In số lớn nhất chia hết cho 33 có thể tạo được theo yêu cầu. Nếu không tồn tại, in 0.

Subtask

  • Subtask 1 (30%): NN có không quá 1010 chữ số.
  • Subtask 2 (30%): NN có không quá 100100 chữ số.
  • Subtask 3 (40%): NN có không quá 10510^5 chữ số.

Ví dụ 1

Input

369

Output

369

Giải thích

369369 đã chia hết cho 33 nên có thể giữ nguyên toàn bộ số.

Ví dụ 2

Input

232

Output

3

Giải thích

Trong các số có thể tạo được và chia hết cho 33, số lớn nhất là 33.

Ví dụ 3

Input

25

Output

0

Giải thích

Không thể giữ lại một dãy chữ số không rỗng nào để tạo thành số chia hết cho 33.

Ví dụ 4

Input

1234

Output

234

Giải thích

Xóa chữ số 11 thu được 234234, và 234234 chia hết cho 33.