2037 - 银河护卫队 (tribe.cpp)
描述

在遥远的银河系中,存在一个名为Zypher的星球。这个星球上居住着许多外星种族,它们之间有着复杂的关系。为了保护星球的和平与安全,Zypher星球的领袖希望组建一支强大的银河护卫队。

然而,不同种族之间并不总是和睦相处,有些种族之间可能是世仇。领袖需要根据种族间的仇敌关系,选择一些种族的代表组成护卫队,以确保任何两个入选的代表之间都不存在敌对关系。为了使护卫队更加强大,领袖希望选择尽可能多的代表加入队伍。

请编写一个程序,根据Zypher星球上种族间的仇敌关系,计算出最佳的护卫队组成方案。


输入

第一行包含两个正整数nm,表示Zypher星球上有n个种族代表,代表间有m个仇敌关系。

接下来的m行中,每行包含两个正整数uv,表示代表u与代表v是仇敌。


输出

第一行是护卫队的最大人数。

接下来一行是护卫队的组成情况,共n个数字,其中第i个数字x_i表示代表i是否在护卫队中,x_i = 0表示代表i不在护卫队中,x_i = 1表示代表i在护卫队中。


样例

输入

7 10
1 2
1 4
2 4
2 3
2 5
2 6
3 5
3 6
4 5
5 6

输出

3
1 0 1 0 0 0 1
提示

- 对于 30\% 数据:n \le 20m \le 100

- 对于所有数据:n \le 100,m \le 3000


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 12
通过次数 8