data LinkedTree a
= EmptyTree
| Node a (LinkedTree a) (LinkedTree a) (LinkedTree a)
root = Node 1 l r root
where
l = Node 2 EmptyTree EmptyTree l
r = Node 3 EmptyTree EmptyTree r
instance Show a
=> Show (LinkedTree a
) where show (Node x EmptyTree EmptyTree
_) = "{" ++ show x
++ "}"
ZGF0YSBMaW5rZWRUcmVlIGEKCT0gRW1wdHlUcmVlCgl8IE5vZGUgYSAoTGlua2VkVHJlZSBhKSAoTGlua2VkVHJlZSBhKSAoTGlua2VkVHJlZSBhKQoKcm9vdCA9IE5vZGUgMSBsIHIgcm9vdAoJd2hlcmUKCQlsID0gTm9kZSAyIEVtcHR5VHJlZSBFbXB0eVRyZWUgbAoJCXIgPSBOb2RlIDMgRW1wdHlUcmVlIEVtcHR5VHJlZSByCgppbnN0YW5jZSBTaG93IGEgPT4gU2hvdyAoTGlua2VkVHJlZSBhKSB3aGVyZQoJc2hvdyBFbXB0eVRyZWUgPSAie30iCglzaG93IChOb2RlIHggRW1wdHlUcmVlIEVtcHR5VHJlZSBfKSA9ICJ7IiArKyBzaG93IHggKysgIn0iCglzaG93IChOb2RlIHggbCByIF8pID0gInsiICsrIHNob3cgeCArKyAiICIgKysgc2hvdyBsICsrICIgIiArKyBzaG93IHIgKysgIn0iCgptYWluID0gcHJpbnQgcm9vdA==