#P5462. Decorating the Pastures

Decorating the Pastures

题目描述

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

输入格式

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

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

输出格式

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

样例

输入样例

4 4
1 2
2 3
3 4
4 1

输出样例

2