#CF95E. 幸运国度

幸运国度

幸运国度

  • 时间限制:1 秒
  • 内存限制:256 MiB

题目描述

Petya 喜欢幸运数字。一个正整数被称为幸运数,当且仅当它的十进制表示中只包含数字 44 和 77。例如,4747、744744、44 是幸运数,而 55、1717、467467 不是。

有一天晚上,Petya 梦见自己成了一座岛国的总统。这个国家由若干座岛屿以及连接岛屿的双向公路构成。有些岛屿之间即便经过其他岛屿也无法到达,因此这个国家被划分成了若干个区域。更正式地说,每座岛屿恰好属于一个区域;同一区域中的任意两座岛屿之间都存在路径,不同区域中的任意两座岛屿之间都不存在路径。如果一个区域中的岛屿数量是幸运数,那么这个区域就是幸运区域。

作为总统,Petya 决定建造总统府。他希望把总统府建在某个幸运区域里。然而,初始时国家可能没有幸运区域。这时 Petya 可以选择在不同区域之间修建道路,从而合并这些区域。

请计算,为了得到一个幸运区域,至少需要新建多少条道路。

输入格式

第一行包含两个整数 nn 和 mm(1≤n,m≤1051\le n,m\le 10^5),分别表示岛屿数和已有公路数。

接下来 mm 行,每行包含两个整数 uu 和 vv(1≤u,v≤n1\le u,v\le n),表示一条连接 uu 号岛屿和 vv 号岛屿的双向公路。公路可能连接同一座岛屿自身,两个岛屿之间也可能存在多条公路。

输出格式

如果无法得到幸运区域,输出 −1-1。否则,输出为了得到一个幸运区域至少需要新建的道路数。

样例输入 1

4 3
1 2
2 3
1 3

样例输出 1

1

样例输入 2

5 4
1 2
3 4
4 5
3 5

样例输出 2

-1

数据范围

  • 1≤n,m≤1051\le n,m\le10^5;
  • 1≤u,v≤n1\le u,v\le n。
子任务编号 分值 特殊限制
1 30 n≤20n\le20
2 n≤2000n\le2000
3 40 无特殊限制

计分方式

本题按测试点独立计分,同子任务内测试点等分。