Problema C - Arrumando o quarto

Os irmãos Miguel e José são alunos como tu, que gostam muito de aprender coisas novas. A disciplina favorita de ambos é matemática e por isso estão sempre a resolver problemas. Mas a mãe deles só os deixa fazê-lo depois de arrumarem o quarto.

Eles não gostam muito de arrumar coisas, por isso arranjam sempre jogos matemáticos para decidir quem tem de arrumar o quarto: quem perde tem de arrumar. Ultimamente têm andado a estudar múltiplos e divisores, por isso o último jogo está relacionado com esse tema. Primeiro, escolhem um conjunto de números inteiros positivos (podendo conter números repetidos). Agora o objetivo do jogo é encontrar um subconjunto desses números (podendo conter números repetidos) tal que para cada par de números A e B desse conjunto, A tem de ser múltiplo de B ou B múltiplo de A (outra forma de dizer o mesmo é que A tem de ser divisor de B ou B divisor de A). Nota que um número é sempre múltiplo dele próprio.

O vencedor do jogo é aquele que encontrar o maior subconjunto (com mais elementos) que obedece a esta regra dos múltiplos.

Por exemplo, se o conjunto de números for:

24 9 3 5 6

Então o maior subconjunto teria tamanho 3 e consistiria nos números 24, 3, 6 pois 24 é múltiplo de 3 (24 = 3 * 8), 6 é múltiplo de 3 (6 = 3 * 2) e 24 é múltiplo de 6 (24 = 6 * 4). Além disso, não há nenhum subconjunto maior, pois de todos os outros pares apenas temos que 9 é múltiplo de 3 (9 = 3 * 3).

Dado um conjunto de números escolhido pelo Miguel e pelo José, consegues dizer qual o maior subconjunto possível que obedeça à regra dos múltiplos?

O Problema

Dado um conjunto de N números, determinar o tamanho do maior subconjunto de números tal que para todo o par Ni e Nj pertencentes ao conjunto se tem que Ni é múltiplo de Nj ou Nj é múltiplo de Ni

Input

Na primeira linha vem um inteiro N que representa o número de elementos do conjunto.

Seguem-se N linhas em que cada uma representa um elemento do conjunto.

Output

O output consiste apenas num inteiro, que representa o tamanho do maior conjunto que obedece as condições pedidas

Restrições

São garantidos os seguintes limites em todos os casos de teste que irão ser colocados ao programa:

1 ≤ N ≤ 100 000       Número de elementos no conjunto
1 ≤ Ni ≤ 10 000 000       Valores do conjunto

Os casos de teste deste problema estão organizados em 4 grupos com restrições adicionais diferentes:

Grupo Número de Pontos Restrições adicionais
1 20 1 ≤ N ≤ 25, 1 ≤ Ni ≤ 1 000
2 40 1 ≤ N ≤ 1 000, 1 ≤ Ni ≤ 100 000
3 20 1 ≤ N ≤ 100 000, 1 ≤ Ni ≤ 100 000
4 20 -

Input do Exemplo 1

5
24
9
3
5
6

Output do Exemplo 1

3

Explicação do Exemplo 1

Este exemplo corresponde ao mencionado no enunciado.

Input do Exemplo 2

10
5
15
3
26
30
7
13
60
9
24    

Output do Exemplo 2

4

Input do Exemplo 3

5
11
2
5
17
3

Output do Exemplo 3

1

Input do Exemplo 4

6
12
4
1
2
4
1

Output do Exemplo 4

6

Qualificação para a final das ONI'2017
(30/03 a 01/04 de 2017)