#!/usr/bin/newlisp

(unless bigint
    (println "this version is not enabled for big integers")
    (exit))

(set 'num 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

(println "1000 digit number num --->")
(println num)
(println)

(set 'cien 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

(set 'result (* num num))

(println "(* num num) --->")
(println result)
(println)

(println "sum of " (length result) " digits in result --->" 
            (apply + (map int (explode (chop (string result))))))
(println)

(unless (= num (/ result num))
    (println "(/ result num) ---> " (/ result num))
    (println ">>>>> ERROR in parsing big integers")
    (exit)
)

(println ">>>>> parsing big integers SUCCESSFUL")

(exit)