"""simple docstring"""





import math


class   UpperCAmelCase_			:


      def __init__(     self	,    a=0							) ->      List[Any]:  # a graph with Node 0,1,...,N-1
             lowercase__    :	Any     					=			n
             lowercase__    :	Optional[int]     					=			[
                 [math.inf for j in range(0	,    lowerCamelCase_							)] for i in range(0	,    lowerCamelCase_							)
             ]  # adjacency matrix for weight
             lowercase__    :	Union[str, Any]     					=			[
                 [math.inf for j in range(0	,    lowerCamelCase_							)] for i in range(0	,    lowerCamelCase_							)
             ]  # dp[i][j] stores minimum distance from i to j


      def 	_UpperCAmelCase (     self	,    a	,    a	,    a							) ->      str:
             lowercase__    :	Union[str, Any]     					=			w


      def 	_UpperCAmelCase (     self							) ->      Any:



             for k in range(0	,    self.n							):
                    for i in range(0	,    self.n							):
                           for j in range(0	,    self.n							):
                                  lowercase__    :	Union[str, Any]     					=			min(self.dp[i][j]	,    self.dp[i][k] + self.dp[k][j]							)


      def 	_UpperCAmelCase (     self	,    a	,    a							) ->      Optional[int]:
             return self.dp[u][v]


if __name__ == "__main__":
       _UpperCamelCase     :		Union[str, Any]											=					Graph(5)
       graph.add_edge(0, 2, 9)
       graph.add_edge(0, 4, 10)
       graph.add_edge(1, 3, 5)
       graph.add_edge(2, 3, 7)
       graph.add_edge(3, 0, 10)
       graph.add_edge(3, 1, 2)
       graph.add_edge(3, 2, 1)
       graph.add_edge(3, 4, 6)
       graph.add_edge(4, 1, 3)
       graph.add_edge(4, 2, 4)
       graph.add_edge(4, 3, 9)
       graph.floyd_warshall()
       graph.show_min(1, 4)
       graph.show_min(0, 3)


"""simple docstring"""





from __future__ import annotations





def        a_  (   _lowerCAmelCase						:				float     ,				_lowerCAmelCase						:				float     ,				_lowerCAmelCase						:				float     ,				):





       '''simple docstring'''

       if (stress, tangential_force, area).count(0  ) != 1:
              raise ValueError('You cannot supply more or less than 2 values'  )
       elif stress < 0:
              raise ValueError('Stress cannot be negative'  )
       elif tangential_force < 0:
              raise ValueError('Tangential Force cannot be negative'  )
       elif area < 0:
              raise ValueError('Area cannot be negative'  )
       elif stress == 0:
              return (
                  "stress",
                  tangential_force / area,
              )
       elif tangential_force == 0:
              return (
                  "tangential_force",
                  stress * area,
              )
       else:
              return (
                  "area",
                  tangential_force / stress,
              )


if __name__ == "__main__":
       import doctest

       doctest.testmod()

