Дерево вида «(Родитель РебенокЛевый РебенокПравый)» с числами в качестве вершин

Помогите пожалуйста.

Дано S-выражение, представляющее дерево вида «(Родитель РебенокЛевый РебенокПравый)» с числами в качестве вершин. Определить функцию для проверки упорядоченности бинарного дерева, т.е. возвращающая T, если дерево упорядочено, Nil — нет.

Например: если дано "(10 (5 (1 nil nil) (7 nil nil)) (15 nil (16 nil nil)))", ответом будет "T".