Solving TUP in FreePascal  \m/