Consider the following pseudo-code. Assume that IntQueue is an integer queue. What does the function fun do?
```
void fun (int n)
f
IntQueve q = new IntQueue();
q.enqueue (0);
q.enqueue (1);
for (int i = 0; i<n; i++)
i
int a = q.dequeue();
int b - q.dequeue();
q. enqueue (b);
q.enqueue (a + b);
print(a);
}
l
```
A. Prints numbers from 0 to $\mathrm{n}-1$
B. Prints numbers from $\mathrm{n}-1$ to 0
C. Prints first $\mathbf{n}$ Fibonacci numbers
D. Prints first n Fibonacci numbers in reverse order.