Which of Piaget's stages of cognitive development is characterized by flexible and complex thinking, where one can think of abstract ideas and hypotheses?
A. Preoperational
B. Concrete operations
C. Sensorimotor
D. Formal operations