use std::rc::Rc;

struct LinkedList {
    value: i32,
    next: Option<Rc<LinkedList>>,
}

fn main() {
    let list = Rc::new(LinkedList {
        value: 100,
        next: Some(Rc::new(LinkedList {
            value: 200,
            next: Some(Rc::new(LinkedList {
                value: 500,
                next: None
            })),
        }))
    });
}