ListNode p = new ListNode(56.4, new ListNode(31.5));
ListNode q = p;
while (q->next != nullptr)
q = q->next;
cout << q->value;

What does the code output?

a) 56.4
b) 31.5
c) 87.9
d) It will result in a runtime error.