As you must know, the maximum clique problem in an arbitrary graph is *NP*-hard. Nevertheless, for some graphs of specific kinds it can be solved effectively.

Just in case, let us remind you that a clique in a non-directed graph is a subset of the vertices of a graph, such that any two vertices of this subset are connected by an edge. In particular, an empty set of vertexes and a set consisting of a single vertex, are cliques.

Let's define a divisibility graph for a set of positive integers *A* = {*a*_{1}, *a*_{2}, ..., *a*_{n}} as follows. The vertices of the given graph are numbers from set *A*, and two numbers *a*_{i} and *a*_{j} (*i* ≠ *j*) are connected by an edge if and only if either *a*_{i} is divisible by *a*_{j}, or *a*_{j} is divisible by *a*_{i}.

You are given a set of non-negative integers *A*. Determine the size of a maximum clique in a divisibility graph for set *A*.

提交代码