#CCBCHBAHAI0000104. Phân loại int a[n] theo C90/C99/C11/C17

Phân loại int a[n] theo C90/C99/C11/C17

Phân loại int a[n] theo C90/C99/C11/C17

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

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

Đề bài

Xét khai báo C

int a[n];

trong đó nn là số nguyên dương được xác định khi chương trình đang chạy, tức nn không phải integer constant expression. Khi đó đây là trường hợp variable length array (VLA) nếu chuẩn/ngôn ngữ triển khai hỗ trợ.

Trong bài này dùng ba nhãn:

  • NOT_STANDARD: cú pháp VLA không thuộc chuẩn C đó;
  • VLA: VLA là tính năng chuẩn được yêu cầu bởi phiên bản chuẩn đó;
  • OPTIONAL_VLA: chuẩn cho phép VLA nhưng implementation có thể không cung cấp hỗ trợ VLA.

Phân loại theo lộ trình Chương 32:

$$\begin{aligned} \text{C90} &\rightarrow \texttt{NOT\_STANDARD},\\ \text{C99} &\rightarrow \texttt{VLA},\\ \text{C11} &\rightarrow \texttt{OPTIONAL\_VLA},\\ \text{C17} &\rightarrow \texttt{OPTIONAL\_VLA}. \end{aligned}$$

Input

Dòng đầu chứa số truy vấn QQ. Dòng thứ hai chứa QQ mã chuẩn, mỗi mã thuộc tập {90,99,11,17}\{90,99,11,17\}.

Output

Với mỗi mã chuẩn, in nhãn tương ứng trên một dòng.

Subtask

Subtask 1 (20 điểm): 1≤Q≤101\le Q\le10.

Subtask 2 (30 điểm): 1≤Q≤1001\le Q\le100.

Subtask 3 (50 điểm): 1≤Q≤10001\le Q\le1000.

Ví dụ

Input

4
90 99 11 17

Output

NOT_STANDARD
VLA
OPTIONAL_VLA
OPTIONAL_VLA

Giải thích

C90 chưa có VLA; C99 chuẩn hóa VLA; trong C11 và C17, implementation được phép không hỗ trợ VLA.