Consider the following: int i, j; void bar(int x) { int k, l; j = 2 * x; x = x + 1; . . . } void foo(int y, int z) { float j, k; bar(i); j = 3; . . . } void baz(){ int b,c; i = 5; b = 3; c = 2; foo(b,c); bar(i); ... } Assuming execution starts with line 14, subsequent execution of this code provides examples of both Lexical (static) and Dynamic scoping. Briefly describe when and how each of these scoping examples occurs. In your description, include the line numbers in the order of execution. For example, all executions will begin by sequentially executing lines: 14, 15, 16, Solution i=5, b=3, c=2 then foo(3,2) which will be bar(5) in foo where j=6 .