0.Phản ứng hóa học


Submit solution

Points: 2 (partial)
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Nasus yêu thích hóa học, anh ta thích trộn các hóa chất với nhau. Nasus có n hóa chất, và m cặp trong số chúng sẽ phản ứng lẫn nhau. Anh ta muốn đổ lần lượt các hóa chất này lần vào một ống nghiệm sao cho độ nguy hiểm của ống là lớn nhất. Bây giờ chúng ta định nghĩa độ nguy hiểm của một ống. Nếu ống rỗng thì độ nguy hiểm là 1, với mỗi lần đổ thêm 1 hóa chất vào ống, nếu trong ống tồn tại 1 chất có thể phản ứng với hóa chất đó thì độ nguy hiểm của ống sẽ tăng lên gấp đôi, còn không thì độ nguy hiểm của ống vẫn giữ nguyên.

Hãy giúp Nasus tìm độ nguy hiểm tối đa có thể sau khi đổ tất cả các hóa chất theo thứ tự tối ưu.

Input

Dòng đầu tiên gồm 2 số n, m (1 ≤ n ≤ 50; 0 ≤ m ≤ n*(n-1)/2).

m dòng tiếp theo, mỗi dòng gồm 2 số a, b (1 ≤ a < b ≤ n) thể hiện 2 chất a, b có thể phản ứng với nhau. Mỗi cặp hóa chất chỉ xuất hiện nhiều nhất 1 lần.

Output

In ra độ nguy hiểm lớn nhất mà Nasus có thể thu được.

Example

Test 1:

Input:

1 0

Output:

1

Test 2:

Input:

3 2

1 2

2 3

output

4

Giải thích test 1: Có duy nhất một hóa chất nên độ nguy hiểm lớn nhất có thể đạt được là 1

Giải thích test 2: Các thứ tự thỏa mãn 2-1-3, 2-3-1, 1-2-3 và 3-2-1 đều thu được độ nguy hiểm lớn nhất là 4.


Comments


  • 1
    ThanhHung_CNTTVA1_K62  commented on Sept. 1, 2022, 11:41 p.m.

    ae có thể cho mình xin test case cách trộn mà ko thu được độ nguy hiểm lớn nhất đc k ạ?