
    gY
                     (    d dl mZ d dlmZ d Zd Zy)    Prufer)raisesc                     t        ddgddgddgddggd      j                  dk(  sJ t        ddgddgddgddgg      j                  dk(  sJ t        ddgddgddgddgg      } | j                  dk(  sJ | j                  dk(  sJ | j                  g dk(  sJ t        ddgddgddgddgddgg      } | j                  dk(  sJ | j                  d	k(  sJ | j                  ddgddgddgddgddggk(  sJ | j                  g d
k(  sJ t        j
                  g dg dg d      ddgddgddgddgddgdd	ggdfk(  sJ t        dgdz        j                  t        d	gdz        j                  cxk(  rdk(  sJ  J g d}|D cg c]  }t        |       }}t        |      j                  |k(  sJ t        t        t        |            j                        t        |      k(  sJ t        t        d        t        t        d        t        t        j
                  ddgddg       j                  ddgk(  sJ t        t        d        t        t        d        t        t        d        t        ddgddgddgg      } | j                         }|j                  ddgddgddggk(  sJ |j                  dk(  sJ y c c}w )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                  $    t        ddgddgg      S )Nr   r   r	   r
   r        Z/var/www/openai/venv/lib/python3.12/site-packages/sympy/combinatorics/tests/test_prufer.py<lambda>ztest_prufer.<locals>.<lambda>       v1v1v&67r   c                  $    t        ddgddgg      S )Nr   r	   r
   r   r   r   r   r   ztest_prufer.<locals>.<lambda>    r   r   c                  6    t        j                  ddgddg      S )Nr   r	   r
   r   edgesr   r   r   r   ztest_prufer.<locals>.<lambda>"   s    v||	
AA r   c                  6    t        j                  ddgddg      S )Nr   r   r   r   r   r   r   r   r   ztest_prufer.<locals>.<lambda>$   s    v||QFQF;r   c                      t        g g      S )Nr   r   r   r   r   ztest_prufer.<locals>.<lambda>%   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   J>c                  T   d }  | ddggg         | g dgdg        | g dgdg        | g dgdg        | g dddggddg        | g d	gddg        | g d
ddggddg        | g dgddg        | g dgddg        | g dgddg        | g dgddg        | g dgddg        | g dgddg        | g dddggddg        | g dgddg        | g dddggddg        | g dgddg        | g dgddg        | g dgddg        | g dg dddggg d       y )Nc                 d   t        j                  |  \  }}t        ||      } t        | j                        }|D cg c]  }|dz
  	 }}| j                  |k(  sJ t        t        |      j                        |k(  sJ t        j
                  | j                  |      j                  |k(  sJ y c c}w )Nr   )r   r   r    r   r   unrankr   )r&   r(   enr$   is         r   doitztest_round_trip.<locals>.doit.   s    ||Q11aL1;;AqQUA}}!!!fQi))*a///}}QVVQ'33q888 s   B-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   )r0   s    r   test_round_tripr2   -   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)   r2   r   r   r   <module>r5      s    - '%PCr   