According to Piaget's theory of cognitive development, a student who can think abstractly and reason hypothetically is in which stage?