数组拆分
题号:NC206125
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    给定一个数组,要求将其切分为若干非空子数组,使得每个子数组的左端与右端的两个数的最大公因数大于1。

    请求出最少需要几个拆分出几个子数组。

输入描述:

第一行一个数,表示数组长度。

第二行个数,每个数范围在之间,用空格隔开,表示给定的数组。

输出描述:

一个数,表示最少需要拆分出的数组个数。
示例1

输入

复制
6
2 3 3 2 3 3

输出

复制
2
示例2

输入

复制
4
2 3 5 7

输出

复制
4