Find all function $ f: \mathbb{R}^{+} \to \mathbb{R}^{+}$ such that for every three real positive number $x,y,z$ :

$$ x+f(y) , f(f(y)) + z , f(f(z))+f(x) $$

are length of three sides of a triangle and for every postive number $p$ , there is a triangle with these sides and perimeter $p$.

[i]Proposed by Amirhossein Zolfaghari [/i]
1. **Define the problem and the function:**
   We need to find all functions \( f: \mathbb{R}^{+} \to \mathbb{R}^{+} \) such that for every three positive real numbers \( x, y, z \):
   \[
   x + f(y), \quad f(f(y)) + z, \quad f(f(z)) + f(x)
   \]
   are the lengths of the sides of a triangle. Additionally, for every positive number \( p \), there exists a triangle with these sides and perimeter \( p \).

2. **Consider a sequence \( p_n \) approaching zero:**
   Let \( p_n \) be any sequence of positive numbers such that \( p_n \to 0^+ \) as \( n \to \infty \). We need to find \( x_n, y_n, z_n \) such that:
   \[
   x_n + f(y_n) + f(f(y_n)) + z_n + f(f(z_n)) + f(x_n) = p_n
   \]
   Since \( f \) maps positive reals to positive reals, all terms \( x_n, f(x_n), f(y_n), f(f(y_n)), z_n, f(f(z_n)) \) must approach \( 0 \) as \( n \to \infty \).

3. **Apply the triangle inequality:**
   Using the triangle inequality, we have:
   \[
   x + f(y) + f(f(y)) + z > f(f(z)) + f(x)
   \]
   and
   \[
   f(f(y)) + z + f(f(z)) + f(x) > x + f(y)
   \]

4. **Substitute \( (y, z) = (y_n, z_n) \) and take the limit:**
   Plugging \( (y, z) = (y_n, z_n) \) into these inequalities and letting \( n \to \infty \), we get:
   \[
   x \geq f(x)
   \]
   from the first inequality, and
   \[
   f(x) \geq x
   \]
   from the second inequality.

5. **Conclude that \( f(x) = x \):**
   Combining these two results, we have:
   \[
   x \geq f(x) \quad \text{and} \quad f(x) \geq x
   \]
   which implies:
   \[
   f(x) = x \quad \text{for all} \quad x > 0
   \]

The final answer is \( \boxed{ f(x) = x } \).