#include int fib(int n) { int i, j; if (n<2) return n; else { // use task construct here, decide what is shared or firstprivate i=fib(n-1); // use task construct here, decide what is shared or firstprivate j=fib(n-2); // use task construct here, is sincronization necessary? return i+j; } } int main() { int n = 10; // Open parallel region and pay attention to how many threads should call the following instruction printf ("fib(%d) = %d\n", n, fib(n)); }