-

+; "...\\\";
.(" !") .


:





:      |   |   | 


: 07.11.08.

(******************************************************************************)
(* ,                *)
(* 2814789.                                                 *)
(******************************************************************************)
2814789+;

  ,
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\";


  : 8 ;
  : 8, 16 ;

32(1, 2: ): ;

  1, 2: ;
  : ;

  1 := 0; .(.(1), .(1), 4);
  2 := 0; .(.(2), .(2), 4);
  (1, 2);
  .(.(1), .(), 4);
 
32;

(1, 2: ): ;

  .(, .(, 1) / .(, 2))
;

(1, 2: ): ;

  1, 2: ; : ;

  .(.(1), .(1), 4);
  .(.(2), .(2), 4);
  1 := .(, .(, 1) / .(, 2));
  .(.(1), .(), 4);
  .(.(1)+4, .(1), 4);
  .(.(2)+4, .(2), 4);
  1 := .(, .(, 1) / .(, 2));
  .(.(1), .()+4, 4);
 
;

(: ; : .): ;

  1, 2, 3: ; : ;

  1 := 0; 2 := 0; .(.(), .(1), 1);
  1 := .(1, 4); .(.(1), .(2), 1);
  2 := .(2, -4); 1 := .(1, -8);
  3 := [*2, 2] + .([*2+1, 1], 4);
  .(.(3), .(), 1);
 
;

(N: ; X: ): ;

  N1, N2, S: ;
  : ;
  : ;
  : ;

  .(.(N), .(N1), 4);
  .(.(N)+4, .(N2), 4);
  S := 32(N1, X);
  := 0 3
    .(.(S)+, .(), 1);
    := (, );
    .(.(), .(S)+, 1)
  ;
  S := .(S, 11);
  S := (S, N2);
  N2 := N1; N1 := S;
  .(.(N1), .(), 4);
  .(.(N2), .()+4, 4);
 
;

(N: ): ;

  1, 2: ;
  : ;

  1 := 1 3
    2 := 0 7
      N := (N, [2])
   
  ;
  1 := 7 0 -1
    N := (N, [1])
  ;
  .(.(N), .(), 4);
  .(.(N)+4, .(N), 4);
  .(.(), .(N)+4, 4);
  N
;

(N: ): ;

  1, 2: ;
  : ;

  1 := 0 7
    N := (N, [1])
  ;
  1 := 1 3
    2 := 7 0 -1
      N := (N, [2])
   
  ;
  .(.(N), .(), 4);
  .(.(N)+4, .(N), 4);
  .(.(), .(N)+4, 4);
  N
;

(N: ): ;

  1, 2: ;

  1 := 1 2
    2 := 0 7
      N := (N, [2])
   
  ;
  N
;

(-, -: );

  : ;
  : ;
  : .;
  : .;
  : ;

  := .();
  = -1 .("^: .^"); (0) ;
  8 # 0 .("^: 8.^"); (0) ;
  := .();
  = .("^: .^"); (0) ;
  := .();
  = .("^: .^"); .(); (0) ;
  := 1 8
    .(, , 8);
    := ();
    .(, , 8)
  ;
  .(); .()
;

(-, -: );

  : ;
  : ;
  : .;
  : .;
  : ;

  := .();
  = -1 .("^: .^"); (0) ;
  8 # 0 .("^: 8.^"); (0) ;
  := .();
  = .("^: .^"); (0) ;
  := .();
  = .("^: .^"); .(); (0) ;
  := 1 8
    .(, , 8);
    := ();
    .(, , 8)
  ;
  .(); .()
;

(-, -: ; S: );

  C1 = 1010101H;
  C2 = 1010104H;

  S1, S2: ; : ; : ;
  : ;
  : ;
  : .;
  : .;
  : ;

  := .();
  = -1 .("^: .^"); (0) ;
  := .();
  = .("^: .^"); (0) ;
  := .();
  = .("^: .^"); .(); (0) ;
  S := (S);
  .(.(S), .(S1), 4);
  .(.(S)+4, .(S2), 4);
  := 1 8
    S1 := 32(S1, C1);
    (S2 < 0) (S2 > -1-C2) (S2) ;
    S2 := 32(S2, C2);
    .(.(S1), .(S), 4);
    .(.(S2), .(S)+4, 4);
    S := (S);
    .(, , 8);
    := (, S);
    .(, , 8)
  ;
  8 # 0
    S1 := 32(S1, C1);
    (S2 < 0) (S2 > -1-C2) (S2) ;
    S2 := 32(S2, C2);
    .(.(S1), .(S), 4);
    .(.(S2), .(S)+4, 4);
    S := (S);
    := 0 8 - 1
      .(.(S)+, .(), 1);
      := 0; .(, , 1);
      := (, );
      .(, , 1)
   
  ;
  .(); .()
;

(-, -: ; S: ; : );

  : ; : ;
  : ;
  : ;
  : .;
  : .;
  : ;

  := .();
  = -1 .("^: .^"); (0) ;
  := .();
  = .("^: .^"); (0) ;
  := .();
  = .("^: .^"); .(); (0) ;
  := 1 8
    S := (S);
    .(, , 8);
    S := (S, );
    .(, S, 8);
    S :=
  ;
  8 # 0
    S := (S);
    := 0 8 - 1
      .(.(S)+, .(), 1);
      := 0; .(, , 1);
      := (, );
      .(, , 1)
   
  ;
  .(); .()
;

(-: ): ;

  S: ;
  : ;
  : .;

  := .();
  = .("^: .^"); (0) ;
  S := 0;
  .()
    .(, , 8);
    S := (, S);
    S := (S)
  ;
  .();
  S
;

(-: );

  : .;
  : ;

  := .();
  = -1 .("^: .^"); (0) ;
  # 128 .("^: .^"); (0) ;
  := .();
  = .("^: .^"); (0) ;
  .(, , 128);
  .()
;

(-: );

  : .;
  : ;

  := .();
  = -1 .("^: .^"); (0) ;
  # 32 .("^: .^"); (0) ;
  := .();
  = .("^: .^"); (0) ;
  .(, , 32);
  .()
;

;

  , , , : .;
  , : ; : ; : ;
  : 100H ; : ; : ;
  : ;
  (-: ): ;
 
    , : ;
    : ;
    : ;
 
    := 0; := 0;
    := ()-1;
    := 0
      (([-] >= "0") ([-] <= "9"))
        () (, ([-])-("0"))
          (, (([-])-("0"))*10H);
          .(.(), .() + ( 2), 1); := 0
       
      (([-] >= "A") ([-] <= "F"))
            (([-] >= "a") ([-] <= "f"))
        () (, ([-])-("A")+0AH)
          (, (([-])-("A")+0AH)*10H);
          .(.(), .() + ( 2), 1); := 0
       
      (([-] >= "") ([-] <= ""))
           (([-] >= "") ([-] <= ""))
        () (, ([-])-("")+0AH)
          (, (([-])-("")+0AH)*10H);
          .(.(), .() + ( 2), 1); := 0
       
      .(" ."); (0)
    ;
    () .(.(), .() + ( 2), 1) ;
   
  ;

  . <= 1
    .(" 28147-89.^");
    .(" :^");
    .(" :^");
    .("  / <> - ;^");
    .("  / <> - ;^");
    .("  / <> - ;^");
    .("  / <> - ;^");
    .(" ( *):^");
    .("  / <> - ,^");
    .('                  <> = ""* | "";^');
    .("  / <> - ,^");
    .('                  <> = "" | "" | ""*,^');
    .('                  "" - , "" - ,^');
    .('                  "" - ;^');
    .("  /            - ;^");
    .("  / <> - ,^");
    .("                  .^")
 
    := ; := ; := ""; := 0;
    := ;
    := 1 . - 1
      .(, );
      [0] = "/"
        .(" .^"); (0) ;
        := [1];
        ( = "") ( = "") := :=
     
        .(" .^"); (0) ;
       
          "", "": (, )
        | "", "": (, )
        | "", "": (, )
        | "", "": (, )
        | "", "": ([0] = "") ([0] = "") :=
                    ([0] = "") ([0] = "") :=
                    .(" ."); (0)
        | "", "": [0]
                      "", "": := "" | "", "": := "" | "", "": := ""
                    .(" ."); (0)
        | "", "": () > 10H .(" ."); (0) ;
                    := ()
        .(" ."); (0) ;
        :=
     
    ;
    ();
    ();
   
      "": (, ) (, )
    | "": (, , )
    | "": (, , , )
            (, , , )
    ;
   
      .(": %.16x.^", (), 0, 0, 0)
      .(": %.16x.^", (), 0, 0, 0)
    ;
    .(" .")
 
;


 

2814789.


=================================
.
=================================

+;

  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  ;


  : .;
  : .;
  : 8 ;
  _1, _2: ;
  : ;
  : .;
  : .;
  : .; : ;
  : ;

(1, 2: ): ;

  .(, .(, 1) / .(, 2))
;

;

  : ;

  := 0 7
    [] := .()
 
;


  . <= 1 .(" ."); (0) ;
  .(1, );
  .() .(" ."); (0) ;
  := .();
  = .(" ."); (0) ;
  ;
  .(" ^ .^");
  .(2554X); _1 := 1 32 .(2550X) ;
  .("#2557#000D#000A#2551");
  _1 := 0 7
    _2 := 0 3
      .(, ) # . .(((.()*(10H-1)))+1) ;
      .(); := .();
      100H 10H
        0..3: := ( 10000H 100H)
      | 4..7: := . 100H
      | 8..0BH: := ((. 10H)*10H + (. 10H))
      | 0CH..0FH: := (((.) 10H)*10H + ( 10H))
      ;
      .(.(), .()+_2, 2);
      := (0B0H+((.()*2)));
      .(.,,1)
    ;
    := (, .());
    [_1] := ([_1], )
  ;
  .("#2551#000D#000A#255A");
  _1 := 1 32 .(2550X) ;
  .(255DX);
  .(, , 32);
  .();
  .("^.")

.


=================================
, , .
=================================

+;

  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\",
  "...\\\";


  : .;
  : .;
  : .;
  : 8, 16 ;
  1, 2: ;
  : ;

(: ): ;

  1, 2: ;
  : ;

  1 := 0 0FH
    := 0;
    2 := 0 0FH
      [, 2] = 1 ()
    ;
    # 1
  ;
 
;


  . <= 2 .(" ."); (0) ;
  .(1, );
  .() .(" .") ;
  := .();
  = .(" ."); (0) ;
  .(2, );
  .() .(" ."); .(); (0) ;
  := .();
  = .(" ."); .(); (0) ;
  1 := 0 7
    2 := 0 0FH
      .(.()) := .() ;
      [1, 2] := ((.() 100H))
    ;
    (1) =
      .(" .");
      .(); .(); (0)
   
  ;
  .(, , 128);
  .();
  .();
  .(".")

.


=================================
.
=================================

4 10 9 2 13 8 0 14 6 11 1 12 7 15 5 3
14 11 4 12 6 13 15 10 2 3 8 1 0 7 5 9
5 8 1 13 10 3 4 2 14 15 12 7 6 0 9 11
7 13 10 1 0 8 9 15 14 4 6 12 11 2 5 3
6 12 7 1 5 15 13 8 4 10 9 14 0 3 11 2
4 11 10 0 7 2 1 13 3 6 8 5 9 12 15 14
13 11 4 1 3 15 5 9 0 10 14 7 6 8 2 12
1 15 13 0 5 7 10 4 9 2 3 14 6 11 8 12
    .