Sherlock and His Girlfriend
题号:NC50556
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
Special Judge, 64bit IO Format: %lld

题目描述

Sherlock有了一个新女友(这太不像他了!)。情人节到了,他想送给女友一些珠宝当做礼物。
他买了n件珠宝。第i件的价值是i+1。那就是说,珠宝的价值分别为
Watson挑战Sherlock,让他给这些珠宝染色,使得一件珠宝的价格是另一件的质因子时,两件珠宝的颜色不同。并且,Watson要求他最小化颜色的使用数。
请帮助Sherlock完成这个简单的任务。

输入描述:

只有一行一个整数n,表示珠宝件数。

输出描述:

第一行一个整数k,表示最少的染色数;
第二行n个整数,表示第1到第n件珠宝被染成的颜色。若有多种答案,输出任意一种。
示例1

输入

复制
3

输出

复制
2
1 1 2
示例2

输入

复制
4

输出

复制
2
2 1 1 2

说明

因为2是4的一个质因子,因此第一件珠宝与第三件珠宝的颜色必须不同。

备注:

对于全部数据,