checkpoint
a
b
c
a
a
a
a
d