# Pascal TODO Here is our standardized divisor tree program in Pascal: ``` program divisorTree; uses crt; { recursive function, prints divisor tree of x } procedure printDivisorTree(x: integer); var a: integer; b: integer; i: integer; begin a := -1; b := -1; for i := 2 to x div 2 do { find two closest divisors } begin if x mod i = 0 then begin a := i; b := x div i; if b <= a then break; end; end; write('('); if a > 1 then begin printDivisorTree(a); write(' ',x,' '); printDivisorTree(b); end else write(x); write(')'); end; var number: integer; code: integer; userInput: string[16]; begin while true do { main loop, read numbers from the user } begin readLn(userInput); val(userInput,number,code); if code <> 1 then begin printDivisorTree(number); writeLn(''); end else break; end; end. ```