Đường đi đơn - Bản 2

View as PDF

Time limit: 1.0s , Memory limit: 256M , Points: 3000 (partial)

Cho đơn đồ thị vô hướng, liên thông bao gồm n đỉnh và m cạnh, các đỉnh được đánh số từ 1 đến n. Bạn hãy đếm số lượng đường đi đơn đi qua ít nhất 2 đỉnh trong đồ thị.

Hai đường đi đơn (u_1,u_2,...,u_k)(v_1,v_2,...,v_l) được xem là khác nhau nếu thỏa mãn một trong hai điều kiện:

  • k \neq l
  • Tồn tại chỉ số i sao cho u_i \neq v_i.

Input

  • Dòng đầu tiên chứa hai số nguyên nm (2 \le n \le 2 \times 10^5 ; 1 \le m \le n).
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên uv mô tả cạnh nối u-v của đồ thị (1 \le u,v \le n ; u \neq v).
  • Dữ liệu đảm bảo đồ thị đã cho là một đơn đồ thị liên thông.

Output

  • In ra số lượng đường đi đơn của đồ thị.

Examples

Sample Input 1
4 3
1 2
3 2
2 4
Sample Output 1
12
Sample Input 2
4 4
3 1
2 1
2 4
3 2
Sample Output 2
22

Scoring

  • Subtask 1 - 1000 điểm: m \le n-1
  • Subtask 2 - 1000 điểm: n \le 1000
  • Subtask 3 - 1000 điểm: Không có ràng buộc gì thêm

Comments