#CF95E. E. 幸运国度

E. 幸运国度

E. 幸运国度

每个测试的时间限制11
每个测试的内存限制256256 MB

Petya 喜欢幸运数字。众所周知,如果一个正整数的十进制表示中只包含数字 4477,那么这个数就是幸运的。例如,474774474444 是幸运数字,而 551717467467 不是。

一天晚上,Petya 在睡觉。他梦见自己成了某个岛国的总统。这个国家由一些岛屿组成,岛屿之间通过双向道路连接。有些岛屿之间没有道路相连,甚至不能通过其他岛屿到达,因此这个国家被划分成若干个区域。更正式地说,每个岛屿恰好属于一个区域,位于同一区域内的任意两个岛屿之间存在一条路径;而位于不同区域的任意两个岛屿之间不存在路径。如果一个区域中的岛屿数量是一个幸运数字,那么这个区域就是幸运的。

作为真正的总统,Petya 首先决定修建一个总统府。作为幸运数字的爱好者,Petya 希望将总统府建在一个幸运区域中。然而,最初这个国家可能不存在这样的区域。在这种情况下,Petya 可以在不同的区域之间修建额外的道路,从而将它们合并。

请找出为了创造一个幸运区域,最少需要修建多少条道路。


输入格式

第一行包含两个整数 nnmm1n,m1051 \le n, m \le 10^5)—— 分别表示岛屿的数量和道路的数量。
接下来的 mm 行,每行包含两个整数 uuvv1u,vn1 \le u, v \le n),表示一条连接岛屿 uuvv 的道路。
注意:

  • 可能存在连接某个岛屿与自身的道路(自环);
  • 两个岛屿之间可能有多条道路;
  • 每行中的数字之间用一个空格隔开。

输出格式

如果不存在可行方案,输出唯一的数字 1-1(不包含引号)。
否则,输出为了得到一个幸运区域所需修建的最少道路数量 rr


示例

输入 #1

4 3
1 2
2 3
1 3

输出 #1

1

输入 #2

5 4
1 2
3 4
4 5
3 5

输出 #2

-1