#2167. Decorating the Pastures

Decorating the Pastures

题目描述

农民约翰有N\red{N(}1<=N<=50000\red{1<=N<=50000)}个牧场,编号为1...\red{1...}N\red{N}、 由M\red{M(}1<=M<=100000\red{1<=M<=100000)}条双向路径连接。路径i\red{i}将牧场Ai\red{A_i(}1<=Ai<=N\red{1<=A_i<=N)}连接到牧场Bi\red{B_i(}1<=Bi<=N\red{1<=B_i<=N)}Ai\red{A_i!}=Bi.\red{=B_i.}同一对牧场之间可能有两条路径连接。贝西决定为FJ\red{FJ}的生日装饰牧场。她想在每个牧场上贴一个大标志,上面写着字母"F\red{F}"或"J\red{J}",但为了不混淆FJ\red{FJ,}她想确保两个牧场通过一条小路相连时,用不同的字母装饰。该标志公司坚持向贝西收取更多的钱来购买"F\red{F}"标志而不是"J\red{J}"标志,因此贝西希望最大限度地增加她使用的"J\red{J}"标志的数量。请确定这个数字,如果没有有效的方式排列标志,请输出1\red{-1}

输入格式

1\red{1}行:两个整数N\red{N}M.\red{M.}

2\red{2}行。M+1\red{M+1:}两个整数,Ai\red{A_i}Bi\red{B_i,}表示从Ai\red{A_i}Bi\red{B_i}有一条有方向的路径。

输出格式

1\red{1}行:一个整数,表示贝西可以使用的"J\red{J}"符号的最大数量。如果没有有效的符号排列解决方案,则输出1\red{-1}

样例

输入样例

4 4
1 2
2 3
3 4
4 1

输出样例

2