Determine all functions $f: \mathbb N\to \mathbb N$ such that for every positive integer $n$ we have: \[ 2n+2001\leq f(f(n))+f(n)\leq 2n+2002. \]
1. **Claim 1: \( f(n) > n \) for all \( n \in \mathbb{N} \).**

   *Proof:* Assume the contrary. Let \( a \in \mathbb{N} \) be such that \( f(a) \leq a \). Let \( f(b) \) be the least value of \( f \) such that \( f(b) \leq b \). Now, let \( c = f(b) \). We have:
   \[
   f(f(b)) + f(b) \leq 2b + 2002 \quad \text{and} \quad 2b + 2001 \leq f(f(b)) + f(b).
   \]
   Since \( f(b) \leq b \), we get:
   \[
   f(f(b)) + f(b) \leq 2b + 2002 \quad \text{and} \quad 2b + 2001 \leq f(f(b)) + f(b).
   \]
   This implies:
   \[
   2b + 2001 \leq f(f(b)) + f(b) \leq 2b + 2002.
   \]
   Since \( f(b) \leq b \), we have:
   \[
   f(f(b)) \geq 2b + 2001 - f(b) \geq 2b + 2001 - b = b + 2001.
   \]
   Therefore:
   \[
   f(f(b)) \geq b + 2001.
   \]
   But since \( f(f(b)) \leq 2b + 2002 - f(b) \leq 2b + 2002 - b = b + 2002 \), we get:
   \[
   b + 2001 \leq f(f(b)) \leq b + 2002.
   \]
   This implies:
   \[
   f(f(b)) = b + 2001 \quad \text{or} \quad f(f(b)) = b + 2002.
   \]
   However, since \( f(b) \leq b \), we have:
   \[
   f(f(b)) \leq b + 2001.
   \]
   This is a contradiction. Hence, \( f(n) > n \) for all \( n \in \mathbb{N} \). \(\blacksquare\)

2. **Claim 2: \( f(n) = n + 667 \) for all \( n \in \mathbb{N} \), which fits.**

   *Proof:* Let \( f(n) - n = g(n) > 0 \), and let \( g(m) \) be the least value of \( g \). Now setting \( e = f(m) \), we have:
   \[
   2g(m) + g(e) \geq 2001 \quad \text{and} \quad 2g(e) + g(f(e)) \leq 2002.
   \]
   This implies:
   \[
   g(m) \geq 667.
   \]
   But:
   \[
   2g(n) + g(f(n)) \leq 2002 \implies g(n) = 667.
   \]
   Thus, we are done. \(\blacksquare\)

The final answer is \( \boxed{ f(n) = n + 667 } \).