%%HP: T(1)A(G)F(.);

"ESTADO DE CARGA "
EC 1 - +
"
(n de nudos activos
sometidos a M externos)"
+ "" INPUT PRX0
OBJ DUP
  IF 0 >
  THEN 1 SWAP
    FOR ME 'M'
" -EC " EC 1 - +
"-     " + ME + {
":nudo activo sometido
a M externo:
:valor de M:"
{ 2 13 } } INPUT
OBJ 2 LIST 1
       DTAG
       DOSUBS
REVLIST EVAL 'DB' 3
GET SWAP POS EC 2
LIST SWAP PUT
    NEXT
  ELSE DROP
  END EC DUP
"ESTADO DE CARGA "
SWAP 1 - +
"
(lista de barras
sometidas a acciones)"
+ { "{}" 2 } INPUT
PRX0 OBJ DUP SIZE
 EC LBC NBC
  
    IF NBC 0 >
    THEN 1 NBC
      FOR BC 'BE'
'LBC' BC GET GET
DUP 1 2 SUB SWAP 3
GET " -EC " EC 1 -
+ "-     BARRA " +
'LBC' BC GET + SWAP
        IF
        THEN SWAP
DUP EVAL STR + ":"
+ ":M" SWAP + SWAP
REVLIST EVAL STR +
":" + "
:M" SWAP +
+ { 1 7 } 2 LIST
INPUT PRX0 OBJ 2
LIST 1
           DTAG
           DOSUBS
EC LBC BC 0 PRE51
        ELSE SWAP
EVAL STR + ":" +
":M" SWAP + { 1 7
} 2 LIST INPUT
PRX0 OBJ DTAG 1
LIST EC LBC BC 0
PRE51
        END
      NEXT
    END
  

