FUNCTION:  Perm2Word - convert a permutation to a Reduced word,    
CALLING SEQUENCE:  Perm2Word(pi,pg);
                   Perm2Word(pi,pg,sc);,    
PARAMETERS:  pi = a permutation in disjoint cycle notation
             pg = a permutation rePresentation of a Reflection group
             sc = a stabilizer chain for pg (optional),SYNOPSIS:   
  Let pi be a permutation of the integers 1,...,n for some n, in disjoint
  cycle format. For a description of this format, see group[permgroup].,   
  format used by the function PermRep. That is, an unevaluated procedure
  call of the form
               permgroup(n, {s1=<perm1>, s2=<perm2>,...}),
  where each expression <perm_i> is a permutation of the integers 1,...,n
  in disjoint cycle format.
  Perm2Word(pi,pg) computes a Reduced expression for the permutation pi
  in terms of the generators of pg. More precisely, the result is a list
  [i_1,...,i_l] of minimum length with the property that pi is the product
  of the permutations s.i_1 ,..., s.i_l. If pi does not belong to the
  permutation group specified by pg, FAIL is returned.
  The first step of the algorithm is to use the StabChain function to
  determine a stabilizer chain for pg. To avoid repeating this step for
  function calls involving the same permgroup, a precomputed stabilizer
  chain can be supplied as a third argument. For a description of the
  stabilizer chain format, see Coxeter[StabChain].,EXAMPLES:   
  pg:=permgroup(8, {s1=[[6,7]], s2=[[7,8]]});,  sc:=StabChain(pg);
  Perm2Word([[6,8,7]],pg,sc);                 yields       [1,2]
  Perm2Word([[6,7,8]],pg,sc);                 yields       [2,1]
  pg:=PermRep(H3); pi:=MultPerm([3,2,1,2,3],op(2,pg));
  Perm2Word(pi,pg);                           yields    [3,2,1,2,3],    
SEE ALSO:  MultPerm, PermRep, StabChain, group[permgroup]):
