Learn You a Haskell gives this exercise:Here's a problem that combines tuples and list comprehensions: which  right triangle that has integers for all sides and all sides equal to  or smaller than 10 has a perimeter of 24? First, let's try generating  all triangles with sides equal to or smaller than 10:Here's my solution in Scala. Note that I'm ignoring the right triangle part.val a = List.range(1,11)val b = List.range(1,11)val c = List.range(1,11)def sumsEqualsTo24(x: Int, y: Int, z: Int): Option[(Int, Int, Int)] =                            if(x + y + z == 24) Some( (x,y,z) ) else Nonedef pythagTriple(x: Int, y: Int, z: Int): Option[(Int, Int, Int)] = {                              if( Math.pow(x, 2) + Math.pow(y, 2) == Math.pow(z, 2) )                                  Some( (x,y,z) )                              else None}Using flatMapval xs: List[(Int, Int, Int)] = a.flatMap(x =>                                  b.flatMap(y =>                                   c.flatMap(z => sumsEqualsTo24(x, y, z) ) ) )                                   val ys: List[(Int, Int, Int)] = xs.flatMap{a => pythagTriple(a._1, a._2, a._3)}Using for-comprehensionfor {  a <- List.range(1, 11)  b <- List.range(1, 11)  c <- List.range(1, 11)   xs <- sumsEqualsTo24(a,b,c)  _ <- pythagTriplebar(xs._1, xs._2, xs._3)} yield (a,b,c)Could you please critique my code?
Find Pythagorean Triple with Perimeter == 24
scala