编程题
### 问题描述
给定一个含有 $n$ 个结点和 $m$ 条边的无向图,图中所有边的权值均为 $1$ ,且图中不包含重边。请判断该图中各点是否连通,并给出图中两个连通的点之间最短距离的最大值。
### 输入格式
输入第 $1$ 行包括两个整数 $n,m$ ,分别表示图中结点的个数与边的个数。
第 $2 \sim m + 1$ 行,每行包括两个整数 $a,b$ ,表示存在一条连接编号分别为 $a,b$ 的结点的无向边,结点编号范围从 $1$ 到 $n$ 。
### 输出格式
输出两行,第 $1$ 行判断图中各结点是否连通,若连通,则输出 $YES$ ,否则输出 $NO$ 。
第 $2$ 行输出两个连通的结点之间最短距离的最大值。
### 样例输入
```test
5 4
1 2
2 3
3 4
4 5
```
### 样例输出
```test
YES
4
```
### 说明
图中只有一个连通分量,必然是连通的,且两个连通的结点之间最短距离的最大值为 $4$ 。
### 评测数据规模
对于 $30$% 的评测数据,$1\leq n \leq 50$, $1\leq m \leq 100$ 。
对于 $50$% 的评测数据,$1\leq n \leq 200$, $1\leq m \leq 10000$ 。
对于 $100$% 的评测数据,$1\leq n \leq 500$, $1\leq m \leq 10^5$ 。