#CSES1682. 航班路线检查

航班路线检查

题目背景

翻译自 CSES-1682 题。

题目描述

有 nn 个城市和 mm 条航班连接。你的任务是检查是否可以通过现有的航班从任何一个城市到达任何其他城市。

输入格式

第一行包含两个整数 nn 和 mm:分别表示城市的数量和道路的数量。城市编号为 1,2,…,n1,2,…,n。

接下来有 mm 行,每行包含两个整数 aa 和 bb:表示在城市 aa 和城市 bb 之间有一条单向航班。

输出格式

如果所有城市之间的路线都是可达的,输出 YES。

如果存在不可达的城市对,输出 NO。同时输出两个城市 aa 和 bb,表示无法从城市 aa 到城市 bb。如果有多个解,输出任意一对城市。

样例

4 5
1 2
2 3
3 1
1 4
3 4
NO
4 2

说明/提示

1≤n≤1051 \leq n \leq 10^5;

1≤m≤2⋅1051 \leq m \leq 2 \cdot 10^5

1≤a,b≤n1 \leq a, b \leq n。