A simple VCCC2021 entry. Author: KeyJ Platform: Sinclair ZX Spectrum (any version) Language: Sinclair BASIC Length: It's complicated! - 76 bytes (pure BASIC tokens) - 118 bytes (BASIC source in ASCII) - 113 bytes (BASIC program image in memory) - 138 bytes (.tap file with header) Run with: fuse tree2.tap This is an almost trivial implementation; the only noteworthy thing about it is the misuse of a string variable as data storage, because Sinclair BASIC stores both the floating-point and text representation of numerical constants in program memory, which makes the .tap file larger than it would need to be when using e.g. a DATA statement. -- KeyJ