萨塔尼亚的一生之敌

题目背景

“Trick or treat!” 万圣节到了,薇奈特、萨塔尼亚和菈菲尔敲开了珈百璃的门,但果然不出所料,珈百璃在打网游,真是颓废啊。 “干嘛,烦死了”珈百璃一脸嫌弃地看着她们 “珈百璃,好歹也出来玩玩嘛,天天待在家里打游戏,会烂掉的”薇奈特抢先说道 “哈?我每天都出去玩啊,去买泡面的时候顺路在家楼下逛了一圈啊” “这只能算是去小卖部吧,根本不算是出去玩吧” “对啊,而且万圣节到了,我们一起出去要糖果吃呀” “哈?你几岁了?还玩这么无聊的游戏” “不会啊,我觉得很有趣啊”三人异口同声 “真是的,好吧好吧,就陪你们玩玩” 于是珈百璃随着他们三个出去要糖果吃了 “那么,先去谁家呢?” “我有提议!!”萨塔尼亚激动地抢着说 于是,她们一行人来到了某人家。 “咚咚咚”过了一会,门开了,走出来的,是一个光头吴克 “Trick or treat!”萨塔尼亚开心地叫倒。面前站的,就是她们的班主任。但是,除了萨塔尼亚在开心的要糖果,其他三个人早已经吓得瑟瑟发抖了 “呃。。班。。班主任。。。?老。。老师,这是有误会的。。。”薇奈特颤抖地说道 “哪有什么误会啊?班主任,Trick or treat!哦~再不给糖,就把你画成鬼~”萨塔尼亚依旧天不怕地不怕 “喂。。。”薇奈特微微后退了一步 但令人惊讶的是,老师居然进房间,拿了一袋礼品出来,其中包括萨塔尼亚最喜欢的限量版菠萝包 “啊!!!是限量版的!!!太好了!!!”当萨塔尼亚刚要伸手去拿菠萝包时,天使的走狗杀了出来,一把抢走了菠萝包。 “喂!!那是我的!!你给我回来”萨塔尼亚生气地望着天使的走狗,宣誓自己一定要抢回来 萨塔尼亚势力和天使的走狗势力占领着不同的区域,每个天使的走狗占领的区域都会有一个菠萝包,萨塔尼亚想抢回这些菠萝包,你能帮助她吗?

题目描述

详情是这样的,在萨塔尼亚强大的立场下,这个世界被分成了若干区域,有一些区域有连边。为了能够抢回菠萝包,萨亚尼亚将这些区域再分成了若干领域,使得每个领域由一些区域组成,萨塔尼亚占领了一些领域,并以这些领域为基础向走狗发起进攻。为了成功夺回所有菠萝包,萨塔尼亚决定让这些自己占领的领域满足以下性质 1、 为了能够及时支援友军,在自己占领的领域中,每两个存在于不同领域的两个点都要有连边 2、 为了能够灵活的进攻,自己的任意一个领域中的任意一个点和走狗占领的任意一个领域中的任意一个点都要有连边 当然走狗也不是吃干饭的,它为了羞辱萨塔尼亚,也选择了一些领域,这些领域满足的性质和萨塔尼亚选择的领域满足的性质一样,且走狗的领域和萨塔尼亚的领域互补 萨塔尼亚觉得,只要将领域分的越分散,胜利的几率就越大,于是想分尽可能多的领域,请问最多能分多少领域?每个领域有多少个区域组成? \*特殊的,一个人可能占领不到任何一个领域,即占领的领域数量为0。如果你能告诉萨塔尼亚答案,萨塔尼亚就会占领最大的领域向走狗发起进攻,并最终失败。

输入输出格式

输入格式


第一行两个整数n和m,表示n个区域m条边 接下来m行每行两个数a,b表示a和b之间有连边,保证没有自环和重边

输出格式


第一行输出一个整数s表示最多能分成领几个领域 第二行s个数从小到大输出每个领域由几个区域组成

输入输出样例

输入样例 #1

3 2
1 2
2 3

输出样例 #1

2
1 2

说明

样例解释:最多分成两个领域,区域1、3为一个领域,区域2为一个领域 请结合样例仔细读题! 对于40%的数据,n≤10^3,m≤5\*10^5 对于100%的数据,n≤10^5,m≤2\*10^6