// a -> a
// * -> bcc  index 1
// b -> b
// * -> c   index 2 
// c -> c