We call a sequence of length $n$ of zeros and ones a "string of length $n$" and the elements of the same sequence "bits". Let $m,n$ be two positive integers so that $m<2^n$. Arik holds $m$ strings of length $n$. Giora wants to find a new string of length $n$ different from all those Arik holds. For this Giora may ask Arik questions of the form:

"What is the value of bit number $i$ in string number $j$?"

where $1\leq i\leq n$ and $1\leq j\leq m$.
What is the smallest number of questions needed for Giora to complete his task when:
[b]a)[/b] $m=n$?
[b]b)[/b] $m=n+1$?
### Part (a): \( m = n \)

1. **Define the Problem:**
   - We have \( n \) strings of length \( n \).
   - We need to find a new string of length \( n \) that is different from all \( n \) strings.

2. **Constructing the New String:**
   - Let \( a(i, j) \) be the value of the \( i \)-th bit in the \( j \)-th string.
   - Construct a new string \( s \) such that the \( i \)-th bit of \( s \) is \( s(i) = 1 - a(i, i) \).

3. **Verification:**
   - The constructed string \( s \) will differ from each of the \( n \) strings in at least one position.
   - Specifically, \( s \) differs from the \( i \)-th string in the \( i \)-th bit because \( s(i) = 1 - a(i, i) \).

4. **Minimum Number of Questions:**
   - To construct the string \( s \), we need to know \( a(i, i) \) for \( i = 1, 2, \ldots, n \).
   - Therefore, we need to ask \( n \) questions.

5. **Conclusion:**
   - The minimum number of questions needed is \( n \).

\[
\boxed{n}
\]

### Part (b): \( m = n + 1 \)

1. **Define the Problem:**
   - We have \( n + 1 \) strings of length \( n \).
   - We need to find a new string of length \( n \) that is different from all \( n + 1 \) strings.

2. **Initial Check Using Pigeonhole Principle:**
   - Check the first bit of three strings: \( a(1, 1) \), \( a(1, 2) \), and \( a(1, n+1) \).
   - By the Pigeonhole Principle, at least two of these three bits must be the same. Without loss of generality, assume \( a(1, 1) = a(1, n+1) \).

3. **Constructing the New String:**
   - Use the same algorithm as in part (a) to construct the string \( s \) such that \( s(i) = 1 - a(i, i) \).

4. **Verification:**
   - The constructed string \( s \) will differ from each of the \( n \) strings in at least one position.
   - Specifically, \( s \) differs from the \( i \)-th string in the \( i \)-th bit because \( s(i) = 1 - a(i, i) \).
   - Additionally, \( s \) will differ from the \( (n+1) \)-th string in the first bit because \( s(1) = 1 - a(1, 1) = 1 - a(1, n+1) \).

5. **Minimum Number of Questions:**
   - We need to check the first bit of three strings initially, which requires 3 questions.
   - Then, we need to ask \( n \) more questions to construct the string \( s \).
   - Therefore, the total number of questions needed is \( n + 2 \).

6. **Conclusion:**
   - The minimum number of questions needed is \( n + 2 \).

\[
\boxed{n + 2}
\]