90. Answer: 2952. We will prove that the length (number of terms) of a sequence satisfying the condition of the problem, where the largest term is the second and equals $n$, does not exceed $d_{n} = [3(n+1) / 2]$, and for the sequence $n-1, n, 1, \ldots, \ldots, 1,1$ the length is exactly $d_{n}$.

We will reason by induction. For $n \leqslant 4$, the statement is easily verified by enumeration ($d_{1}=2, d_{2}=3, d_{3}=6, d_{4}=7$). Let's estimate the maximum length of a sequence starting with $a$, $n, n-a, a, \ldots (a<n)$, assuming that the statement is proven for smaller $n$. For $1 \leqslant a < n / 2$, its length does not exceed $d_{n-a}+1$, since by removing the first term $a$, we can replace its beginning with: $n-2a, n-a, \ldots$; for $n / 2 \leqslant a < n-1$, it does not exceed $d_{a}+2$ - it is sufficient to remove the first two terms. Thus, it remains to verify that for such $a$, the inequalities $d_{n-a}+1 \leqslant d_{n}$ and $d_{a}+2 \leqslant d_{n}$ are satisfied. For $a=1$ or $a=n-1$ - for the sequence $n-1, n, 1, n-1, n-2,1, 1-3, \ldots, 1,1$ - it is sufficient to remove the first three terms and rearrange the next two, to leave only the verification of the equality $d_{n-8}+3=d_{n}$.

From the general statement for $n=1967$, we get the answer $d_{1967}=[3 \cdot 1968 / 2]=2952$.
90. In a sequence of integers (positive), each term, starting from the third, is equal to the absolute difference of the two preceding ones.

What is the maximum number of terms such a sequence can have if each of its terms does not exceed 1967?