1115\. Print FooBar Alternately

Medium

Suppose you are given the following code:

class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } } }

The same instance of `FooBar` will be passed to two different threads:

*   thread `A` will call `foo()`, while
*   thread `B` will call `bar()`.

Modify the given program to output `"foobar"` `n` times.

**Example 1:**

**Input:** n = 1

**Output:** "foobar"

**Explanation:** There are two threads being fired asynchronously. One of them calls foo(), while the other calls bar(). "foobar" is being output 1 time.

**Example 2:**

**Input:** n = 2

**Output:** "foobarfoobar"

**Explanation:** "foobar" is being output 2 times.

**Constraints:**

*   `1 <= n <= 1000`