You're given a (large) list of CSS hierarchies (an example hierarchy would be: div#video.large div#video-controls span#pause.btn.btn-large). Design a program to "autocomplete" searches against this corpus. Only the prefix of a tag name, id, or class should need to be typed to match against something. For example, the query 'd#v s#p.b' should match against the above hierarchy. However, 's d' should not, because the order of the hierarchy is wrong. All of the data structures to support this and a large part of the computation should be implemented in Redis.