function [M] = A361429(nmax)
% MATLAB function for OEIS sequence A361429.
% Returns the first "nmax" terms.
M=[(1:nmax)' zeros(nmax,1)];
M(1,2)=1;
M(2,2)=1;
F=[1 2];
for n=3:nmax
    b=F(M(n-1,2),2);
    if sum(F(:,2)==b)==1 && b==1
        M(n,2)=1;
        F(1,2)=F(1,2)+1;
    else
        if M(n-1,2)==M(n-2,2)
            C=M(n-1,2);
        else
            C=[M(n-1,2) M(n-2,2)];
        end
        m=n-2;
        while F(M(m,2),2)~=b
            m=m-1;
            if any(C(:)==M(m,2))==0
                C=[C M(m,2)];
            end
        end
        d=1;
        while any(C(:)==d)
            d=d+1;
        end
        M(n,2)=d;
        if d>size(F,1)
            F=[F; size(F,1)+1 1];
        else
            F(d,2)=F(d,2)+1;

        end
    end
end
M;
end