Contest Python Training

Bộ đề bài

1. [Python_Training] Tổng đơn giản

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho số nguyên dương \(n\). Tính tổng \(S=\sum\limits_{i=1}^{n} i=1+2+...+n\)

Input

  • Một dòng duy nhất chứa số nguyên dương \(n(1\le n\le 100)\)

Output

  • In ra \(S\) cần tìm

Example

Test 1

Input
4
Output
10
Note

Giải thích: \(S=1+2+3+4=10\)

2. [Python_Training] Đếm cặp đơn giản

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho số nguyên dương \(n\). Hỏi có bao nhiêu cặp số nguyên dương \((a,b)(a,b\in \mathbb{N}^{*})\) thỏa mãn \(a+b=n\)\(a>b\)

Input

  • Dòng đầu tiên chứa số nguyên \(T(1\le T\le 10^4)\) - Thể hiện số testcase.

  • \(T\) dòng tiếp theo, mỗi dòng chứa số nguyên dương \(n(1\le n\le 2.10^9)\)

Output

  • Ứng với mỗi testcase, in ra đáp án tương ứng.

Example

Test 1

Input
3
1
2
3
Output
0
0
1
Note

Giải thích: Ứng với \(n=1\)\(n=2\). Không có cặp \((a,b)(a,b\in \mathbb{N}^{*})\) nào thỏa mãn nên đáp án là \(0\). Còn ứng với \(n=3\), có một cặp duy nhất thỏa mãn đó là \((2,1)\)

3. [Python_Training] Khoảng cách đơn giản

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho \(3\) điểm \(X,A,B\) lần lượt nằm trên trục \(Ox\) và có tọa độ lần lượt là \(x,a,b\).

  • Hỏi giữa \(A\)\(B\) điểm nào gần \(X\) hơn (Đề ra đảm bảo rằng, khoảng cách từ \(A\) đến \(X\) khác khoảng cách từ \(B\) đến \(X\)).

Input

  • Dòng thứ nhất chứa ba số nguyên dương \(x,a,b(1\le x,a,b\le 1000)\).

Output

  • In ra \(A\) nếu \(A\) gần \(X\) hơn \(B\). Ngược lại in ra \(B\).

Example

Test 1

Input
5 7 2
Output
A

4. [Python_Training] Giá trị nhỏ nhất đơn giản

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho \(3\) số nguyên dương \(a,b,c\). Đặt \(S=min\left\{a+b,b+c,c+a\right\}\), xuất \(S\) ra màn hình.

Input

  • Dòng thứ nhất chứa \(3\) số nguyên dương \(a,b,c(1\le a,b,c\le 10000)\)

Output

  • In ra \(S\) cần tìm.

Example

Test 1

Input
2 5 6
Output
7

5. [Python_Training] Xâu chẵn đơn giản

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho xâu \(S\) chỉ gồm các kí tự chữ cái thường (\('a'...'z'\)).

  • Xâu \(S\) được gọi là xâu "chẵn" nếu số lần xuất hiện của từng chữ cái trong xâu \(S\) là số chẵn.

Input

  • Một dòng duy nhất chứa xâu \(S(1\le |S|\le 100)\)

Output

  • In ra "Yes" nếu \(S\) là xâu "chẵn", ngược lại in ra "No".

Example

Test 1

Input
aea
Output
No
Note

Giải thích: Vì số lần xuất hiện của kí tự \('e'\) trong xâu trên là số lẻ.

6. [Python_Training] Những chiếc lá của Henry

Điểm: 100 Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Henry\(N\) chiếc lá. Trên chiếc lá thứ \(i(1\le i\le N)\) có ghi một số \(x_i\).

  • Anh ấy có thể chọn \(1\) hoặc nhiều chiếc lá từ \(N\) chiếc lá này sao cho giá trị trung bình của những con số ghi trên những chiếc lá đó bằng một số \(A\) cho trước. Hỏi anh ấy có bao nhiêu cách để thực hiện nhiệm vụ trên ?

Input

  • Dòng thứ nhất chứa hai số nguyên \(N,A(1\le N,A\le 50)\).

  • Dòng thứ hai chứa \(N\) số nguyên \(x_i(1\le x_i\le 50)\) - Thể hiện những con số ghi trên những chiếc lá !

Output

  • In ra đáp án cần tìm.

Example

Test 1

Input
3 3
1 5 5
Output
2
Note

Giải thích: Có hai cách để \(Henry\) có thể hoàn thành nhiệm vụ đó là:

  • Cách \(1\) : Chọn chiếc là thứ \(1\) và chiếc lá thứ \(2\).

  • Cách \(2\) : Chọn chiếc là thứ \(1\) và chiếc lá thứ \(3\).

7. Diện tích, chu vi

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho hình chữ nhật có chiều dài và chiều rộng lần lượt là \(7.8\)\(6.4\). Bạn hãy viết chương trình hiển thị ra màn hình thông tin sau:

Output

DT = {P1}
CV = {P2}

Với {P1}{P2} lần lượt là diện tích và chu vi của hình chữ nhật cho trước.

8. Phép toán 2

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn hãy viết chương trình hiển thị ra màn hình tổng, hiệu, tích và thương của \(2468\)\(1234\) giống như sau:

Output

2468 + 1234 = {P1}
2468 - 1234 = {P2}
2468 * 1234 = {P3}
2468 // 1234 = {P4}
  • Với {P1} là tổng của \(2468\)\(1234\).
  • Với {P2} là hiệu của \(2468\)\(1234\).
  • Với {P3} là tích của \(2468\)\(1234\).
  • Với {P4} là thương của \(2468\)\(1234\).

Lý thuyết

Như bài trước bạn đã biết, để hiển thị ra màn hình một chuỗi ký tự 2468 + 1234 = bạn có thể làm như sau:

Code

print("2468 + 1234 =")

Để hiển thị ra màn hình tổng của \(2468\)\(1234\) bạn có thể làm như sau:

Code

print(2468 + 1234)

Vậy để hiển thị được ra màn hình 2468 + 1234 = {P1} với {P1} là tổng của \(2468\)\(1234\) thì bạn cần kết hợp được hai câu lệnh trên giống như chương trình sau:

Code

print("2468 + 1234 =", 2468 + 1234)

Kết quả khi chạy chương trình:

Output

2468 + 1234 = 3702

Lưu ý: Nếu bạn thêm khoảng trắng vào sau dấu = trong ví dụ trên thì kết quả sẽ sai do thừa 1 khoảng trắng (hàm print() sẽ tự động thêm vào một khoảng trắng với mỗi một tham số mới). Ví dụ:

Code

print("2468 + 1234 = ", 2468 + 1234)

Kết quả khi chạy chương trình:

Output

2468 + 1234 =  3702

9. Phép toán 1

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn hãy viết chương trình Python hiển thị ra màn hình kết quả của các phép toán:

  • 343 + 43
  • 343 - 43
  • 343 * 43
  • 343 / 43
  • 343 // 43
  • 343 % 43

Chú thích

  • Phép tính a / b trong Python tương ứng với phép chia hai số thực trong các ngôn ngữ khác
  • Phép tính a // b là chia nguyên (trong C++ thì // là comment)

Lý thuyết

Để hiển thị ra màn tổng của hai số trong ngôn ngữ lập trình Python rất đơn giản, bạn chỉ cần dùng hàm print() với toán tử +.

Ví dụ về chương trình dùng để tính tổng của \(12\)\(15\):

Code

print(12 + 15)

Kết quả khi chạy chương trình:

Output

27

Lưu ý: khi sử dụng hàm print() để thực hiện một phép toán bạn không được sử dụng cặp dấu nháy đôi "" như ở các bài trước, vì nếu sử dụng cặp dấu nháy đôi này thì chương trình sẽ hiểu đó là một chuỗi các ký tự chứ không phải một phép toán. Ví dụ chương trình sau:

Code

print("12 + 15")

Kết quả khi chạy chương trình:

Output

12 + 15

Các em có nhận xét gì về kết quả của phép của các phép toán

10. Cây thông dấu sao 2

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

In ra hình vẽ sau:

Output

     *    
    * *
   *   *
  *     *
 *       *
***********
     *
     *
     *

11. Cây thông dấu sao

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

In ra hình vẽ sau:

Output

     *
    ***
   *****
  *******
 *********
***********
     *
     *
     *

12. Hình chữ nhật dấu sao

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

In ra hình vẽ sau:

Output

**********
**********
**********

13. [Python_Training] Chi phí thấp nhất

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Henry\(N\) số nguyên \(a_1,a_2,...,a_N\). Mục tiêu của anh ta là làm cho \(N\) số nguyên này bằng nhau thông qua phép biến đổi sau:

  • Chọn một số nguyên \(x\) bất kì từ \(N\) số trên và biến số đó thành số nguyên \(y\) với chi phí là \((x-y)^2\) VND (Việt Nam Đồng). (Biết rằng, mỗi số chỉ được chọn không quá \(1\) lần)

Yêu cầu: Tìm tổng chi phí thấp nhất để Henry có thể thực hiện được mục tiêu trên.

Input

  • Dòng thứ nhất chứa số nguyên \(N(1\le N\le 100)\)
  • Dòng thứ hai chứa \(N\) số nguyên \(a_1,a_2,...,a_N(-100\le a_i\le 100)\)

Output

  • In ra tổng chi phí thấp nhất cần tìm.

Example

Test 1

Input
3
1 1 3
Output
3
Note

Giải thích: Anh ấy sẽ đưa tất cả các số trên về giá trị \(2\), do đó tổng chi phí là: \((1-2)^2+(1-2)^2+(3-2)^2=3\)

14. [Python_Training] Số lần biến đổi ít nhất

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho \(3\) số nguyên \(A,B,C\). Tìm số lần biến đổi tối thiểu để làm cho ba số này bằng nhau bằng cách thực hiện những phép biến đổi sau theo thứ tự bất kì:

  • Phép biến đổi 1: Chọn \(2\) trong \(3\) số \(A,B,C\) và tăng chúng lên \(1\) đơn vị.

  • Phép biến đổi 2: Chọn \(1\) trong \(3\) số \(A,B,C\) và tăng số đó lên \(2\) đơn vị.

Input

  • Dòng thứ nhất chứa \(3\) số nguyên \(A,B,C(0\le A,B,C\le 50)\)

Output

  • In ra số phép biến đổi tối thiểu cần tìm.

Example

Test 1

Input
2 5 4
Output
2
Note
  • Thực hiện phép biến đổi \(1\): Tăng \(A,C\) lên \(1\) đơn vị. Sau đó thực hiện phép biến đổi \(2\), tăng \(A\) lên \(2\) đơn vị

15. [Python_Training] Chi phí thấp nhất 2

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Henry\(N\) số nguyên \(a_1,a_2,...,a_N\). Mục tiêu của anh ta là làm cho \(N\) số nguyên này bằng nhau thông qua phép biến đổi sau:

  • Chọn một số nguyên \(x\) bất kì từ \(N\) số trên và biến số đó thành số nguyên \(y\) với chi phí là \((x-y)^2\) VND (Việt Nam Đồng). (Biết rằng, mỗi số chỉ được chọn không quá \(1\) lần)

Yêu cầu: Tìm tổng chi phí thấp nhất để Henry có thể thực hiện được mục tiêu trên.

Input

  • Dòng thứ nhất chứa số nguyên \(N\)
  • Dòng thứ hai chứa \(N\) số nguyên \(a_1,a_2,...,a_N\)

Output

  • In ra tổng chi phí thấp nhất cần tìm.

Scoring

  • Subtask \(1\) \((30\%)\): \(N \leq 10^2\), \(-10^2 \leq a_i \leq 10^2\).
  • Subtask \(2\) \((70\%)\): \(N \leq 10^4\), \(-10^9 \leq a_i \leq 10^9\).

Example

Test 1

Input
3
1 1 3
Output
3
Note

Giải thích: Anh ấy sẽ đưa tất cả các số trên về giá trị \(2\), do đó tổng chi phí là: \((1-2)^2+(1-2)^2+(3-2)^2=3\)

Nguồn: [Python_Training] Chi phí thấp nhất

16. [Python_Training] Mảng con kì diệu

Điểm: 100 (p) Thời gian: 6.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho mảng \(A\) gồm \(n\) số nguyên dương.

  • Một mảng con (gồm những phần tử liên tiếp) của mảng \(A\) gọi là "kì diệu" nếu mỗi số nguyên trong đoạn con đó xuất hiện đúng \(3\) lần.

Yêu cầu: Đếm số lượng mảng con "kì diệu" có trong \(A\).

Input

  • Dòng thứ nhất chứa số nguyên \(n(1\le n\le 5.10^5)\)

  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,...,a_n\) với \(1\le a_i\le n\text{ } \forall i=\overline{1,n}\)

Output

  • In ra đáp án cần tìm.

Example

Test 1

Input
8
1 2 3 3 3 2 2 1
Output
2
Note

Giải thích: Các đoạn con "kì diệu" đó là: \([3,3,3],[2,3,3,3,2,2]\)

17. [Python_Training] Sàng nguyên tố

Điểm: 100 (p) Thời gian: 1.5s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn có một số nguyên dương \(N\). Nhiệm vụ của bạn là xuất ra tất cả các số nguyên tố từ \(1\) tới \(N\).

Input

  • Gồm một dòng duy nhất chứa số nguyên \(N\) (\(N \leq 10^6)\).

Output

  • Xuất ra tất cả các số nguyên tố từ \(1\) tới \(N\) trên cùng một dòng và cách nhau một dấu cách.

Example

Test 1

Input
10 
Output
2 3 5 7

18. [Python_Training] Bài toán AFC

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho \(3\) số nguyên \(A,F,C\).

Yêu cầu: Tìm số \(B\) nhỏ nhất thỏa mãn những điều kiện sau:

  • \(B>A\)
  • Số lần xuất hiện chữ số \(C\) trong \(B\) đúng bằng \(F\)

Input

  • Một dòng duy nhất chứa \(3\) số nguyên \(A,F,C(1\le A\le 10^{17}-1 ; 1\le F\le 17 ; 0\le C\le 9)\)

Output

  • In ra số \(B\) cần tìm

Example

Test 1

Input
7 1 7
Output
17

Test 2

Input
12 2 1
Output
101

19. [Python_Training] Bài toán cấp phát mảng động

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho một mảng ban đầu rỗng và có sức chứa tối đa là \(C\).

  • Cho \(N\) phần tử có giá trị bằng nhau.

  • Tiếp theo, ta lặp lại quá trình dưới đây cho đến khi \(N\) phần tử được đưa hết vào mảng thì dừng:

  • Nếu mảng chưa bị tràn, thêm vào mảng một phần tử, việc này tốn \(1\)VND (Việt Nam Đồng)

  • Nếu mảng bị tràn, thay mảng cũ bằng mảng mới có sức chứa gấp đôi mảng cũ, việc này không tốn chi phí

  • Sao chép từng phần tử của mảng cũ sang mảng mới, mỗi phần tử tốn \(1\) VND

Để hiểu rõ hơn quá trình trên, ta có thể xem ví dụ dưới đây:

  • Giả sử ta có \(C=1\)\(N=3\), khi đó quá trình sẽ diễn ra như sau:
Hành động Sức chứa Số lượng phần tử hiện tại Chi phí
Bắt đầu C = 1 0 0
Thêm C = 1 1 1
Thêm Tràn mảng
Đổi mảng C = 2 0 0
Sao chép C = 2 1 1
Thêm C = 2 2 1
Thêm Tràn mảng
Đổi mảng C = 4 0 0
Sao chép C = 4 2 2
Thêm C = 4 3 1

Vậy tổng chi phí để đưa \(N\) phần tử vào mảng là \(1+1+1+2+1=6\) VND

Yêu cầu: Cho hai số \(C\)\(N\). In ra tổng chi phí để đưa \(N\) phần tử vào mảng.

Input

  • Một dòng duy nhất chứa hai số nguyên \(C,N(1\le C\le 1000,0\le N\le 5.10^8)\)

Output

  • In ra kết quả cần tìm

Example

Test 1

Input
1 3
Output
6

20. [Python_Training] Vết của ma trận

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Cho ma trận \(A\) có kích thước \(n\text { x }n\) với \(n\in \mathbb{N}^{*}\)

  • Vết của ma trận \(A\) có kí hiệu là \(tr(A)\) và được định nghĩa như sau: \(tr(A)=\sum\limits_{i=1}^{n}A[i][i]\) (tổng các phần tử trên đường chéo chính).

Xét tất cả các ma trận vuông con (của ma trận \(A\)) có kích thước \(k\text{ x }k\) (bằng cách bỏ đi một số hàng( hoặc không bỏ hàng nào) và một số cột (hoặc không bỏ cột nào) của ma trận \(A\) ) với \(1\le k\le n\), hãy tìm ma trận con có vết lớn nhất và in giá trị đó ra màn hình.

Input

  • Dòng thứ nhất chứa hai số nguyên \(n,k(1\le n\le 50;1\le k\le n)\)

  • \(n\) dòng tiếp theo, mỗi dòng là một chuỗi gồm \(n\) kí tự số (\('0'..'9'\))

Output

  • In ra kết quả thỏa mãn yêu cầu bài toán.

Example

Test 1

Input
3 3
123
456
789
Output
15
Note

Test 2

Input
5 3
12689
55555
55555
55555
55555
Output
16
Note

Test 3

Input
3 2
233
111
233
Output
6
Note

Giải thích: Ở ví dụ 3, ta bỏ đi hàng \(2\) và cột \(1\). Ta sẽ còn lại ma trận con \(2\times 2\) có vết lớn nhất là \(6\). Còn ở ví dụ \(4\), ta bỏ đi các cột \(1,2\) và các hàng \(2,4\). Khi đó ta thu được ma trận \(3\times 3\) có vết lớn nhất là \(9\)

Test 4

Input
5 3
23333
11111
23333
11111
23333
Output
9
Note

21. [Python_Training] XOR và AND

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình
  • Henry có một mảng gồm \(n\) số nguyên dương. Nhiệm vụ của anh ấy là phải chèn vào giữa các phần tử kề nhau \(1\) phép toán \(XOR\) (kí hiệu ^) hoặc phép toán \(AND\) (kí hiệu \(\And\)) sao cho kết quả thu được đạt giá trị lớn nhất, và in giá trị đó ra màn hình.

Input

  • Dòng thứ nhất chứa số nguyên \(n(1\le n\le 10)\)

  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,...,a_n\) với \(1\le a_i\le 1000 \text{ } \forall 1\le i\le n\)

Output

  • In ra giá trị cần tìm

Example

Test 1

Input
3
42 27 38
Output
44
Note

Giải thích: Đối với ví dụ này, cách đặt: \(42 \And 27\) ^ \(38\) sẽ cho giá trị lớn nhất đó là \(44\)

22. [Python_Training] s và t

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Có một tấm thẻ trên bàn, và bau đầu có một số \(s\) được viết trên nó, ở mỗi bước bạn có thể thực hiện \(1\) trong \(2\) phép toán sau:

  • Giả sử số ghi trên tấm thẻ là \(x\), thì thay nó bằng \(2 * x+1\)

  • Giả sử số ghi trên tấm thẻ là \(x\), thì thay nó bằng \(3 * x+1\)

Hỏi chúng ta cần thực hiện ít nhất bao nhiêu phép toán trên để thu được được số \(t\). Nếu không thể biến đổi \(s\) thành \(t\) in ra \(-1\).

Input

  • Dòng thứ nhất chứa số \(T(1\le T\le 30\)) - Thể hiện số testcase của bài toán

  • T dòng tiếp theo, mỗi dòng chứa hai số nguyên \(s,t(0\le s,t\le 10^6)\)

Output

  • Ứng với mỗi testcase, in ra đáp án thỏa mãn yêu cầu bài toán

Example

Test 1

Input
2
1 3
3 15
Output
1
2

23. [Python_Training] Đếm lục giác

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn được cho độ dài 3 cạnh \(a,b,c\) như hình vẽ lần lượt thể hiện độ dài các cạnh của một hình lục giác lớn, và hình lục giác lớn này sẽ bao phủ các hình lục giác nhỏ. Hãy đếm xem tổng cộng có bao nhiêu hình lục giác nhỏ.

Input

  • Dòng thứ nhất chứa số \(T\), thể hiện số testcase.
  • \(T\) dòng tiếp theo, mỗi dòng chứa 3 số nguyên \(a,b,c\).

Output

  • In ra \(T\) dòng, mỗi dòng tương ứng là kết quả của mỗi testcase.

Constraints

  • \(1 \leq T \leq 500\)
  • \(1 \leq a, b, c \leq 1000\)

Example

Test 1

Input
1
2 3 4
Output
18

24. [Python_Training] Đổi bit

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho hai xâu \(S\)\(T\) đều có độ dài là \(N\) và chỉ chứa hai ký tự là \(0\)\(1\). Bạn có thể thực hiện trên xâu \(S\) phép toán sau với số lượng bất kỳ:

  • Chọn chỉ số \(i(2\le i\le N)\) sao cho \(S[i]=1\) và thay thế \(S[i]=0\) và sau đó gán \(S[i-1]=1-S[i-1]\).

Chú ý: Chỉ số của xâu đánh từ số \(1\).

Hỏi: Ta có thể biến xâu \(S\) thành xâu \(T\) hay không ? Nếu có thì in ra số lượng phép toán tối thiểu cần dùng. Ngược lại, in ra \(-1\)

Input

  • Dòng thứ nhất chứa số \(t\) - Thể hiện số testcase

  • \(t\) block tiếp theo, mỗi block có dạng:

    \(N\text{ }\)

    \(S\text{ }\)

    \(T\).

    Với \(1\le N\le 5.10^5\).

Output

  • Ứng với mỗi testcase, in ra đáp án cần tìm

Example

Test 1

Input
2
2
01
10
2
00
11
Output
1
-1

25. [Python_Training] Bật hay Tắt

Điểm: 100 (p) Thời gian: 5.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một máy điều hóa chỉ được bật khi nhiệt độ ngoài trời \(X\) không nhỏ hơn 30. Bạn được cho một số nguyên \(X\), và phải kiểm tra xem ta có nên bật điều hòa hay không.

Input

  • Dòng thứ nhất chứa một số nguyên dương \(T\), là số testcase.
  • \(T\) dòng tiếp theo, mỗi dòng chứa 1 số nguyên \(X\).

Output

  • Với mỗi testcase, hãy in ra Yes nếu ta nên bật máy điều hòa. Ngược lại hãy in No.

Constraints

  • \(1 \leq T \leq 300\)
  • \(-40 \leq X \leq 40\)

Example

Test 1

Input
2
30
25
Output
Yes
No