Examine each expression. If it is valid, then list the type of the expression. If it is invalid, simply list invalid. Use the struct and declarations below as part of the program. Remember, pointer and "address of" are not types. struct Timer { int TimerID; double duration; Timer *next; }; Timer t1; Timer *p1 = new Timer; int accel; float mass; Example: &accel Answer: pointer to int 1. accel 2. mass 3. &mass 4. *mass 5. t1 6. p1 7. &t1 8. &p1 9. *t1 10. *p1 11. t1->next 12. t1.next 13. p1->next 14. p1.next 15. p1->TimerID 16. t1->TimerID 17. p1.duration 18. t1.duration 19. &*t1 20. *&t1