
    \hY
                     (    S SK Jr  S SKJr  S rS rg)    Prufer)raisesc                     [        SS/SS/SS/SS//S5      R                  S:X  d   e[        SS/SS/SS/SS//5      R                  S:X  d   e[        SS/SS/SS/SS//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  / SQ:X  d   e[        SS/SS/SS/SS/SS//5      n U R                  S:X  d   eU R                  S	:X  d   eU R                  SS/SS/SS/SS/SS//:X  d   eU R                  / S
Q:X  d   e[         R
                  " / SQ/ SQ/ SQ5      SS/SS/SS/SS/SS/SS	//S4:X  d   e[        S/S-  5      R                  [        S	/S-  5      R                  s=:X  a  S:X  d   e   e/ SQnU Vs/ s H  n[        U5      PM     nn[        U5      R                  U:X  d   e[        [        [        U5      5      R                  5      [        U5      :X  d   e[        [        S 5        [        [        S 5        [        [         R
                  " SS/SS/5      6 R                  SS/:X  d   e[        [        S 5        [        [        S 5        [        [        S 5        [        SS/SS/SS//5      n U R                  5       nUR                  SS/SS/SS//:X  d   eUR                  S:X  d   eg s  snf )Nr                  )r   r   r   i     )r
   r   r
   r   )r   r   r   r	   )r   r
   r   )r   r
   r      i  ))r   r   )r   r   )r   r	   )r   r   )r   r   )r
   r   )r   r
   c                  $    [        SS/SS//5      $ )Nr   r   r	   r
   r        ]/var/www/auris/envauris/lib/python3.13/site-packages/sympy/combinatorics/tests/test_prufer.py<lambda>test_prufer.<locals>.<lambda>       v1v1v&67r   c                  $    [        SS/SS//5      $ )Nr   r	   r
   r   r   r   r   r   r       r   r   c                  8    [         R                  " SS/SS/5      $ )Nr   r	   r
   r   edgesr   r   r   r   r   "   s    v||	
AA r   c                  8    [         R                  " SS/SS/5      $ )Nr   r   r   r   r   r   r   r   r   r   $   s    v||QFQF;r   c                      [        / /5      $ )Nr   r   r   r   r   r   %   s
    vrd|r   )r   nodesrankprufer_repr	tree_reprr   sizelistsortedsetr   
ValueErrornext)atreet
tree_listsbs        r   test_pruferr*      s   Aq6Aq6Aq6Aq62A6<<AAAAq6Aq6Aq6Aq62399Q>>>AAAA/0A66Q;;77a<<==I%%%AAAAA78A66S==77a<<;;Aq6Aq6Aq6Aq6Aq6BBBB==L(((<<i;a&1a&1a&1a&1a&1a&	91=> > >1#a%=A!3!3;t;;;;; DD#'(4a$q'4J($<!!Z///&T#--.&2DDDD
:78
:786<<AA/0<<AFFF
:  
:;<
:+,AAA'(A	A;;Aq6Aq6Aq6222266Q;; )s   Kc                  T   S n U " SS/// 5        U " / SQ/S/5        U " / SQ/S/5        U " / SQ/S/5        U " / SQSS//SS/5        U " / S	Q/SS/5        U " / S
QSS//SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQSS//SS/5        U " / SQ/SS/5        U " / SQSS//SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQ/SS/5        U " / SQ/ SQSS/// SQ5        g )Nc                 n   [         R                  " U 6 u  p#[        X#5      n [        U R                  5      nU Vs/ s H  oUS-
  PM	     nnU R                  U:X  d   e[        [        U5      R                  5      U:X  d   e[         R
                  " U R                  U5      R                  U:X  d   eg s  snf )Nr   )r   r   r!   r   r   unrankr   )r'   r)   enr%   is         r   doittest_round_trip.<locals>.doit.   s    ||Q1L1;;AqUA}}!!!fQi))*a///}}QVVQ'33q888 s   B2r   r   )r   r   r	   )r   r	   r   r	   )r   r   r	   )r   r   r
   )r	   r   r   r
   )r	   r   r   r
   )r   r	   r   r
   )r   r
   r   r	   )r	   r   r
   r   )r
   r   r   r	   )r   r   r
   r	   )r   r	   r
   r   )r   r
   r   )r   r   r	   r
   )r   r	   r   )r   r
   r	   r   )r   r   r
   r	   )r   r   r	   r
   )r   r   r   r
   )r   r	   r      r   )r   r   r   r	   r	   r   r   )r1   s    r   test_round_tripr4   -   se   9 	1a&2)qc)qc)qc)aV	q!f%,!Q )aV	q!f%,!Q ,!Q ,!Q ,!Q ,!Q ,!Q )aV	q!f%,!Q )aV	q!f%,!Q ,!Q ,!Q ,q!f	-/ABr   N)sympy.combinatorics.pruferr   sympy.testing.pytestr   r*   r4   r   r   r   <module>r7      s    - '%PCr   