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