Color
题号:NC14254
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
Special Judge, 64bit IO Format: %lld

题目描述

给一个没有重边的二分图, 要求给边染色. 有公共点的边不能同色. 问最少用多少种颜色, 并任意构造一组方案. 

输入描述:

第一行两个数n和m表示图的点数和边数(0<n<1001,0<m<2001).
之后m行每行2个数表示一条边的两个端点. 点从1编号到n.
保证给的是二分图.

输出描述:

第一行一个数k表示需要多少种颜色.
接下来m行每行一个数表示输入的边的颜色. 按照输入的顺序输出, 颜色从1编号到k.
示例1

输入

复制
4 4
1 2
1 3
2 4
3 4

输出

复制
2
1
2
2
1