Помогите решеить задачу на pascal free

Помогите решеить задачу на pascal free
Задание № 3. Последовательность
Последовательность целых чисел строится следующим образом:
- первое задается (обозначим его через a),
- каждое следующее число является суммой цифр квадрата
предыдущего.
Например, если a=4, n=3, то получится последовательность 4, 7, 13, 16.
По заданным a и n определить n-е число в этой последовательности.
Известно, что a< =1000 и n<=1000.
Входные данные:
Данные вводятся с клавиатуры. В строке записаны два натуральных числа a и n, разделенные пробелом (a<100и n<1000)
Выходные данные:
Программа должна вывести на экран n-е число в этой последовательности.

  • fumction SquareNumSum(n:integer):integer;
    begin
    Result:=0;
    n:=sqr(n)
    while n>0 do begin
    Result:=Result+n mod 10;
    n:=n div 10;
    end;

    function Solve(a,n:integer);
    var j:integer;
    begin
    Result:=a;
    for j:=1 to n do Result:=SquareNumSum(Result);
    end;

    Опять же - осталось написать программку. Вперед.