#CCBCHBAHAI0000051. Sửa vòng lặp duyệt sai cận (Fix an Off-by-One Array Loop)

Sửa vòng lặp duyệt sai cận (Fix an Off-by-One Array Loop)

Sửa vòng lặp duyệt sai cận (Fix an Off-by-One Array Loop)

Nguồn: Phước Hưng OJ

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

Đề bài

Một mảng có kích thước logic nn, vì vậy các chỉ số hợp lệ là 0,1,…,n−10,1,\ldots,n-1. Một đoạn chương trình dự định duyệt mảng bằng vòng lặp có dạng for (i = 0; i <= b; ++i) và truy cập aia_i ở mỗi lần lặp.

Hãy xác định vòng lặp này có an toàn hay không. Nếu b≥nb\ge n, lần truy cập ngoài mảng đầu tiên xảy ra tại chỉ số nn. Không được giả định hay dự đoán giá trị của ana_n vì truy cập đó nằm ngoài miền hợp lệ.

Input

Một dòng chứa hai số nguyên nn và bb, với n≥1n\ge1 và b≥0b\ge0.

Output

  • Nếu mọi chỉ số từ 00 đến bb đều hợp lệ, in SAFE.
  • Ngược lại, in OUT_OF_BOUNDS x, trong đó xx là chỉ số không hợp lệ đầu tiên.

Subtask

Subtask 1 (20 điểm): 1≤n≤1001\le n\le100, b=n−1b=n-1.

Subtask 2 (30 điểm): 1≤n≤10001\le n\le1000, b=nb=n.

Subtask 3 (50 điểm): 1≤n≤1091\le n\le10^9, 0≤b≤2n0\le b\le2n.

Ví dụ

Input

5 5

Output

OUT_OF_BOUNDS 5

Giải thích

Với n=5n=5, các chỉ số hợp lệ chỉ là 0,1,2,3,40,1,2,3,4. Vòng lặp dùng điều kiện i≤5i\le5 nên sau khi xử lý i=4i=4, nó còn thực hiện một lần với i=5i=5. Chỉ số 55 chính là nn, nằm ngoài mảng. Vì vậy chỉ số lỗi đầu tiên là 55.