Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Dãy số tổng k

100 điểm

Cho dãy \(a\) gồm \(n\) số \(1\) và \(-1\), các phần tử được đánh số từ \(1\) đến \(n\).

Cho \(q\) thao tác gồm một trong hai dạng:

  • Thao tác loại \(1\) có dạng "\(1\) \(i\) \(v\)" (\(1 \le i \le n\) và \(v \in \{1,-1\}\)), thao tác này sẽ gán \(a_i = v\).

  • Thao tác loại \(2\) có dạng "\(2\) \(l\) \(r\) \(k\)" (\(1 \le l \le r\ le n\) và \(|k| \le n\)), thao tác này cần tìm hai số nguyên \(x,y\) thỏa mãn \(l \le x \le y \le r\) và tổng các phần tử từ \(x\) đến \(y\) của dãy \(a\) đúng bằng \(k\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(n,q\) (\(1 \le n,q \le 10^5\)).

  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,...,a_n\) (\(a_i \in \{1,-1\}\)).

  • Mỗi dòng trong \(q\) dòng tiếp theo chứa một thao tác theo định dạng như trên đề bài.

Output

  • Với mỗi thao tác loại \(2\), in ra hai số \(x,y\) bất kì thỏa mãn điều kiện. Nếu không tồn tại đáp án, in ra "-1".

Example

Test 1

Input
5 8
1 -1 -1 1 1
2 1 4 0
2 1 4 -3
1 4 -1
2 1 5 -3
1 3 1
1 1 -1
1 5 -1
2 1 5 -3
Output
1 2
-1
2 4
1 5

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(k = 0\) với mọi thao tác loại \(2\).

  • Subtask \(2\) (\(20\%\) số điểm): \(n,q \le 5000\).

  • Subtask \(3\) (\(30\%\) số điểm): không có thao tác loại \(1\).

  • Subtask \(4\) (\(30\%\) số điểm): không có ràng buộc gì thêm.

root

Lát gạch

100 điểm

Hãy đếm số cách lấp đầy một lưới \(n × m\) bằng cách sử dụng các viên gạch \(1 × 2\) và \(2 × 1\).

Input

  • Dòng đầu vào duy nhất chứa hai số nguyên \(n\) và \(m\).

Output

  • In một số nguyên: số lượng cách lát, chia lấy dư cho \(10^9 + 7\).

Example

Test 1

Input
4 7
Output
781
Note
  • \(1 \le n \le 10\)

  • \(1 \le m \le 1000\)

root

Hiệu hai số

100 điểm

Nhập từ bàn phím lần lượt hai số nguyên \(a\) và \(b\). In ra hiệu của \(a - b\).

Input

2 số nguyên \(a\) và \(b\), mỗi số cách nhau một dấu cách

Output

Hiệu của \(a - b\).

Example

Test 1

Input
10 5
Output
5

root

Tìm mật khẩu

100 điểm

Mật khẩu bạn Nam sử dụng để truy cập vào trang web học trực tuyến là một số nguyên tố
có tổng các chữ số là một số chẵn. Thay vì ghi lại mật khẩu này, bạn Nam chỉ ghi lại một số nguyên \(n\) có giá trị nhỏ hơn mật khẩu.

Yêu cầu: Cho biết số nguyên \(n\), hãy tìm mật khẩu có giá trị nhỏ nhất trong số các mật khẩu bạn Nam có thể sử dụng.

Input

Đọc từ bàn phím số nguyên \(n\)

Output

Ghi ra màn hình mật khẩu tìm được

Example

Test 1

Input
20
Output
Mat khau la: 31

Test 2

Input
1001
Output
Mat khau la: 1009

Scoring

Có \(80\%\) số điểm có \(0 \leq n \leq 5000\).

Có \(20\%\) số điểm có \(5000 < n \leq 10^9\).

Xem thêm