Một công ty đường dây điện thoại (gọi tắt là TLC) đang thiết lập một mạng lưới cáp điện thoại mới. Họ kết nối một số địa điểm, được đánh số từ đến , không có hai địa điểm nào có cùng số hiệu. Các đường dây này là hai chiều và cho phép hai địa điểm duy trì liên lạc. Đường dây tại mỗi địa điểm đều kết thúc tại một tổng đài chuyển mạch. Mỗi địa điểm đều có một tổng đài. Từ mỗi địa điểm có thể đến được bất kỳ địa điểm nào khác thông qua các đường dây cáp, tuy nhiên không nhất thiết phải kết nối trực tiếp mà có thể đi qua một số tổng đài trung gian.
Đôi khi, khi một địa điểm gặp sự cố về cấp điện, tổng đài tại đó sẽ ngừng hoạt động. Các nhân viên của TLC nhận ra rằng, trừ khi địa điểm đó vốn dĩ không thể truy cập được, còn không thì sự cố này có thể khiến một số địa điểm khác không thể liên lạc với nhau. Trong trường hợp này, chúng ta gọi địa điểm đó (nơi xảy ra lỗi) là một "khu vực thảm họa" (tương ứng với khớp trong lý thuyết đồ thị). Bây giờ, các nhân viên muốn viết một chương trình để thống kê số lượng các khu vực thảm họa. Hãy giúp họ.
Dữ liệu:
Tệp đầu vào bao gồm nhiều bộ dữ liệu kiểm tra (test cases).
Mỗi bộ dữ liệu mô tả một mạng lưới. Dòng đầu tiên của mỗi bộ là tổng số địa điểm .
Tiếp theo là tối đa dòng, mỗi dòng bắt đầu bằng một số biểu thị một địa điểm, theo sau là các số biểu thị các địa điểm có kết nối trực tiếp với nó. Tối đa dòng này có thể mô tả hoàn toàn mạng lưới (ví dụ: mỗi kết nối trực tiếp giữa hai địa điểm được liệt kê ít nhất trong một dòng).
Tất cả các số trong một dòng được phân tách bằng khoảng trắng.
Mỗi bộ dữ liệu kết thúc bằng một dòng chứa số .
Bộ dữ liệu cuối cùng chỉ chứa một dòng với (đánh dấu kết thúc tệp).
Kết quả:
Với mỗi bộ dữ liệu (ngoại trừ bộ cuối cùng ), in ra số lượng các khu vực thảm họa trên một dòng.