diff --git a/test/async-unison/async_unison_oracle.lus b/test/async-unison/async_unison_oracle.lus index c73eafd8101bd6a840a27cc0d6c22194463a5450..e3203a0882847df3f459cd93b242eb95b0321e17 100644 --- a/test/async-unison/async_unison_oracle.lus +++ b/test/async-unison/async_unison_oracle.lus @@ -10,20 +10,20 @@ let res = (s1 = s2) or (s1 - s2 - 1) mod k = 0 or (s1 - s2 + 1) mod k = 0; tel --- all neigbhbors are close +-- all neigbhbors are close function is_legitimate<<const l:int>>(State : int^pn) returns (res:bool) var i,j:int; let i = l/pn; j = l mod pn; - res = + res = with l = 0 then true else is_legitimate<<l-1>>(State) and (i<=j or (adjacency[l/pn][l mod pn] => is_close(State[l/pn], State[l mod pn]))); tel -node async_unison_oracle (Legitimate:bool; Enab, Acti: bool^an^pn; State : int^pn; round:bool; round_nb:int) +node async_unison_oracle (Legitimate:bool; pot:real;Enab, Acti: bool^an^pn; State : int^pn; round:bool; round_nb:int) returns (res:bool); let res = redge(Legitimate) => (round_nb <= diameter*card); @@ -34,4 +34,3 @@ let res = false -> x and not (pre x); tel -- end of redge - diff --git a/test/async-unison/config.ml b/test/async-unison/config.ml index 1180d5c9bac5b6d96167205b5c6c62cc110a6762..e2be8f30ed27991b376093a56ec042cc9a9fd5c4 100644 --- a/test/async-unison/config.ml +++ b/test/async-unison/config.ml @@ -1,9 +1,51 @@ -(* Automatically generated by /home/jahier/.opam/4.10.0/bin/sasa version "4.2.8-23-gd6b73fc" ("d6b73fc")*) -(* on crevetete the 1/9/2020 at 17:26:43*) -(*sasa -reg ring.dot*) +open Algo +let is_close s1 s2 = + (* The absolute value of the difference modulo k is <= 1 *) + (s1 = s2) || P.modulo (s1 - s2 - 1) P.k = 0 || P.modulo (s1 - s2 + 1) P.k = 0 -let potential = None (* None => only -sd, -cd, -lcd, -dd, or -custd are possible *) -let legitimate = None (* None => only silent configuration are legitimate *) -let fault = None (* None => the simulation stop once a legitimate configuration is reached *) +(* A configuration is legitimate when all neigbhors are close *) +let all_true = List.fold_left (&&) true + +let legitimate pidl get = + let all_close (s, nl) = List.for_all (fun (n,_) -> is_close s (state n)) nl in + List.map (fun pid -> all_close (get pid)) pidl |> all_true + +let legitimate = Some legitimate + +let fault = None let init_search_utils = None + +let sumi l = List.fold_left (+) 0 l +let sumf l = List.fold_left (+.) 0. l +let count b = if b then 1 else 0 + +(* It's actually only a pseudo-potential function (i.e., it measure a + distance to the set of stable configurations, but it is not + strictly decreasing), which is ok for simulation purposes. +*) +let _pseudo_pot pidl get = + let count_behind (clock, nl) = + let nl = fst (List.split nl) in + List.map (fun n -> P.behind clock (state n)) nl |> List.map count |> sumi + in + List.map (fun pid -> count_behind(get pid)) pidl |> sumi |> float_of_int + +let count b = if b then 0. else 1. + +let __pseudo_pot pidl get = + let count_far (s, nl) = + List.fold_left (fun acc (n,_) -> acc +. count (is_close s (state n))) 0. nl in + List.map (fun pid -> count_far (get pid)) pidl |> sumf + +let pseudo_pot pidl get = + let count_far (s, nl) = + List.fold_left (fun acc (n,_) -> + let res = (acc +. count (is_close s (state n))) in + if res>=1.0 then 1.0 else 0.0) 0. nl + in + List.map (fun pid -> count_far (get pid)) pidl |> sumf + +(* *) + +let potential = Some pseudo_pot diff --git a/test/async-unison/p.ml b/test/async-unison/p.ml index 4df34f8af99f6d85e5df39bdc17fc67212d8bdec..dfc79496755aef404c653a0dd0c3da0b8b93a38b 100644 --- a/test/async-unison/p.ml +++ b/test/async-unison/p.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 17/01/2023 (at 14:26) by Erwan Jahier> *) +(* Time-stamp: <modified the 07/02/2023 (at 12:06) by Erwan Jahier> *) (* Couvreur, J., Francez, N., and Gouda, M. G. (1992) Asynchronous unison (extended abstract). Proceedings of the 12th International @@ -19,7 +19,7 @@ let (enable_f: int enable_fun) = fun c nl -> if List.for_all (fun q -> behind c (state q)) nl then ["I(p)"] else if List.exists (fun q -> not (behind c (state q)) && - not (behind (state q) c)) nl + not (behind (state q) c)) nl && c <> 0 then ["R(p)"] else [] let (step_f: int step_fun) = diff --git a/test/async-unison/ring.rif.exp b/test/async-unison/ring.rif.exp index 6bc1f0c1eccc34a36ec21e7431fe2f4eb963c443..190d012640819758c634279ef277f0605a5d59b9 100644 --- a/test/async-unison/ring.rif.exp +++ b/test/async-unison/ring.rif.exp @@ -1,1512 +1,72 @@ -# Automatically generated by /home/jahier/.opam/4.14.0/bin/sasa version "v4.6.0" ("73ebb5e") -# on crevetete the 23/6/2022 at 14:36:59 +# Automatically generated by /home/jahier/.opam/4.14.0/bin/sasa version "v4.9.0" ("26dce53") +# on crevetete the 27/2/2023 at 16:14:54 #sasa -l 500 ring.dot -seed 42 #seed 42 #inputs -#outputs "p1_c":int "p2_c":int "p3_c":int "p4_c":int "p5_c":int "p6_c":int "p7_c":int "Enab_p1_Ip":bool "Enab_p1_Rp":bool "Enab_p2_Ip":bool "Enab_p2_Rp":bool "Enab_p3_Ip":bool "Enab_p3_Rp":bool "Enab_p4_Ip":bool "Enab_p4_Rp":bool "Enab_p5_Ip":bool "Enab_p5_Rp":bool "Enab_p6_Ip":bool "Enab_p6_Rp":bool "Enab_p7_Ip":bool "Enab_p7_Rp":bool "p1_Ip":bool "p1_Rp":bool "p2_Ip":bool "p2_Rp":bool "p3_Ip":bool "p3_Rp":bool "p4_Ip":bool "p4_Rp":bool "p5_Ip":bool "p5_Rp":bool "p6_Ip":bool "p6_Rp":bool "p7_Ip":bool "p7_Rp":bool "legitimate":bool round:bool round_nb:int +#outputs "p1_c":int "p2_c":int "p3_c":int "p4_c":int "p5_c":int "p6_c":int "p7_c":int "Enab_p1_Ip":bool "Enab_p1_Rp":bool "Enab_p2_Ip":bool "Enab_p2_Rp":bool "Enab_p3_Ip":bool "Enab_p3_Rp":bool "Enab_p4_Ip":bool "Enab_p4_Rp":bool "Enab_p5_Ip":bool "Enab_p5_Rp":bool "Enab_p6_Ip":bool "Enab_p6_Rp":bool "Enab_p7_Ip":bool "Enab_p7_Rp":bool "p1_Ip":bool "p1_Rp":bool "p2_Ip":bool "p2_Rp":bool "p3_Ip":bool "p3_Rp":bool "p4_Ip":bool "p4_Rp":bool "p5_Ip":bool "p5_Rp":bool "p6_Ip":bool "p6_Rp":bool "p7_Ip":bool "p7_Rp":bool "legitimate":bool potential:real round:bool round_nb:int #step 0 -#outs 14 5 23 3 7 5 34 f t f t f t f t f f f t f t f t f t f t f t f f f f f f f f 0 +#outs 14 5 23 3 7 5 34 f t f t f t f t f f f t f t f t f t f t f t f f f f f f f 7. f 0 #step 1 -#outs 0 0 0 0 7 5 34 f f t f t f t f f f f t f t f f f f f f f f f f f f f t f f 1 +#outs 0 0 0 0 7 5 34 f f t f t f t f f f f t f t f f f f f f f f f f f f f t f 5. f 1 #step 2 -#outs 0 0 0 0 7 5 0 t f t f t f t f f f f f t f f f t f f f f f f f f f f f f t 2 +#outs 0 0 0 0 7 5 0 t f t f t f t f f f f f t f f f t f f f f f f f f f f f f 4. t 2 #step 3 -#outs 0 1 0 0 7 5 0 t f f f t f t f f f f f t f f f f f t f t f f f f f f f f f 2 +#outs 0 1 0 0 7 5 0 t f f f t f t f f f f f t f f f f f t f t f f f f f f f f 4. f 2 #step 4 -#outs 0 1 1 1 7 5 0 t f f f t f t f f f f f t f t f f f t f f f f f f f f f f f 2 +#outs 0 1 1 1 7 5 0 t f f f t f t f f f f f t f t f f f t f f f f f f f f f f 4. f 2 #step 5 -#outs 1 1 2 1 7 5 0 f f t f f f t f f f f f t f f f t f f f t f f f f f f f f f 2 +#outs 1 1 2 1 7 5 0 f f t f f f t f f f f f t f f f t f f f t f f f f f f f f 4. f 2 #step 6 -#outs 1 2 2 2 7 5 0 f f f f t f t f f f f f t f f f f f f f t f f f f f f f f f 2 +#outs 1 2 2 2 7 5 0 f f f f t f t f f f f f t f f f f f f f t f f f f f f f f 4. f 2 #step 7 -#outs 1 2 2 3 7 5 0 f f f f t f f f f f f f t f f f f f f f f f f f f f t f f f 2 +#outs 1 2 2 3 7 5 0 f f f f t f f f f f f f t f f f f f f f f f f f f f t f f 4. f 2 #step 8 -#outs 1 2 2 3 7 5 1 t f f f t f f f f f f f t f t f f f f f f f f f f f t f f t 3 +#outs 1 2 2 3 7 5 1 t f f f t f f f f f f f t f t f f f f f f f f f f f t f f 4. t 3 #step 9 -#outs 2 2 2 3 7 5 2 t f t f t f f f f f f f t f f f f f t f f f f f f f f f f f 3 +#outs 2 2 2 3 7 5 2 t f t f t f f f f f f f t f f f f f t f f f f f f f f f f 4. f 3 #step 10 -#outs 2 2 3 3 7 5 2 t f t f f f t f f f f f t f t f t f f f t f f f f f t f f t 4 +#outs 2 2 3 3 7 5 2 t f t f f f t f f f f f t f t f t f f f t f f f f f t f f 4. t 4 #step 11 -#outs 3 3 3 4 7 5 3 t f t f t f f f f f f f t f f f t f t f f f f f f f t f f t 5 +#outs 3 3 3 4 7 5 3 t f t f t f f f f f f f t f f f t f t f f f f f f f t f f 4. t 5 #step 12 -#outs 3 4 4 4 7 5 4 t f f f t f t f f f f f f f f f f f f f t f f f f f f f f f 5 +#outs 3 4 4 4 7 5 4 t f f f t f t f f f f f f f f f f f f f t f f f f f f f f 3. f 5 #step 13 -#outs 3 4 4 5 7 5 4 t f f f t f f f f f f f f f t f f f f f f f f f f f f f f f 5 +#outs 3 4 4 5 7 5 4 t f f f t f f f f f f f f f t f f f f f f f f f f f f f f 3. f 5 #step 14 -#outs 4 4 4 5 7 5 4 t f t f t f f f f f f f t f f f f f t f f f f f f f f f f t 6 +#outs 4 4 4 5 7 5 4 t f t f t f f f f f f f t f f f f f t f f f f f f f f f f 3. t 6 #step 15 -#outs 4 4 5 5 7 5 4 t f t f f f t f f f f f t f f f t f f f f f f f f f f f f f 6 +#outs 4 4 5 5 7 5 4 t f t f f f t f f f f f t f f f t f f f f f f f f f f f f 3. f 6 #step 16 -#outs 4 5 5 5 7 5 4 t f f f t f t f f f f f t f t f f f f f f f f f f f t f f f 6 +#outs 4 5 5 5 7 5 4 t f f f t f t f f f f f t f t f f f f f f f f f f f t f f 3. f 6 #step 17 -#outs 5 5 5 5 7 5 5 t f t f t f t f f f t f t f t f f f f f f f f f f f t f f t 7 +#outs 5 5 5 5 7 5 5 t f t f t f t f f f t f t f t f f f f f f f f f f f t f f 3. t 7 #step 18 -#outs 6 5 5 5 7 5 6 f f t f t f t f f f t f f f f f t f t f t f f f t f f f f f 7 +#outs 6 5 5 5 7 5 6 f f t f t f t f f f t f f f f f t f t f t f f f t f f f f 3. f 7 #step 19 -#outs 6 6 6 6 7 6 6 t f t f t f t f f f t f t f f f t f t f t f f f t f f f f t 8 +#outs 6 6 6 6 7 6 6 t f t f t f t f f f t f t f f f t f t f t f f f t f f f t 0. t 7 -#step 20 -#outs 6 7 7 7 7 7 6 t f f f t f t f t f f f t f t f f f f f t f t f f f f f f f 8 +#This algo reached a legitimate configuration after 36 moves, 19 steps, 6 rounds. -#step 21 -#outs 7 7 7 8 8 7 6 f f t f t f f f f f f f t f f f t f t f f f f f f f t f f f 8 - -#step 22 -#outs 7 8 8 8 8 7 7 t f f f t f t f f f t f t f t f f f t f f f f f t f f f f t 9 - -#step 23 -#outs 8 8 9 8 8 8 7 f f t f f f t f t f f f t f f f f f f f t f f f f f t f f f 9 - -#step 24 -#outs 8 8 9 9 8 8 8 t f t f f f f f t f t f t f t f t f f f f f t f f f t f f t 10 - -#step 25 -#outs 9 9 9 9 9 8 9 t f t f t f t f f f t f f f t f t f t f t f f f t f f f f f 10 - -#step 26 -#outs 10 10 10 10 9 9 9 f f t f t f f f t f t f t f f f t f t f f f t f f f t f f t 11 - -#step 27 -#outs 10 11 11 10 10 9 10 t f f f f f t f f f t f f f t f f f f f f f f f f f f f f f 11 - -#step 28 -#outs 11 11 11 10 10 9 10 f f t f f f t f f f t f f f f f t f f f f f f f f f f f f f 11 - -#step 29 -#outs 11 12 11 10 10 9 10 f f f f f f t f f f t f f f f f f f f f t f f f t f f f f f 11 - -#step 30 -#outs 11 12 11 11 10 10 10 f f f f t f f f t f t f t f f f f f t f f f f f f f t f f t 12 - -#step 31 -#outs 11 12 12 11 10 10 11 t f f f f f f f t f t f f f t f f f f f f f f f f f f f f f 12 - -#step 32 -#outs 12 12 12 11 10 10 11 f f t f f f f f t f t f f f f f t f f f f f f f f f f f f f 12 - -#step 33 -#outs 12 13 12 11 10 10 11 f f f f f f f f t f t f f f f f f f f f f f f f t f f f f f 12 - -#step 34 -#outs 12 13 12 11 10 11 11 f f f f f f f f t f f f t f f f f f f f f f t f f f t f f f 12 - -#step 35 -#outs 12 13 12 11 11 11 12 t f f f f f t f t f t f f f t f f f f f f f t f f f f f f t 13 - -#step 36 -#outs 13 13 12 11 12 11 12 f f f f f f t f f f t f f f f f f f f f f f f f t f f f f f 13 - -#step 37 -#outs 13 13 12 11 12 12 12 f f f f f f t f f f t f t f f f f f f f f f f f t f t f f f 13 - -#step 38 -#outs 13 13 12 11 12 13 13 t f f f f f t f f f f f t f f f f f f f t f f f f f t f f f 13 - -#step 39 -#outs 13 13 12 12 12 13 14 t f f f t f t f t f f f f f t f f f t f f f f f f f f f f t 14 - -#step 40 -#outs 14 13 13 12 12 13 14 f f t f f f t f t f f f f f f f t f f f t f f f f f f f f f 14 - -#step 41 -#outs 14 14 13 13 12 13 14 t f f f t f f f t f f f f f t f f f f f f f t f f f f f f f 14 - -#step 42 -#outs 15 14 13 13 13 13 14 f f f f t f t f t f t f f f f f f f f f f f t f t f f f f t 15 - -#step 43 -#outs 15 14 13 13 14 14 14 f f f f t f t f f f t f t f f f f f t f t f f f f f t f f f 15 - -#step 44 -#outs 15 14 14 14 14 14 15 f f t f t f t f t f t f f f f f t f t f f f f f t f f f f t 16 - -#step 45 -#outs 15 15 15 14 14 15 15 t f t f f f t f t f f f t f f f f f f f f f f f f f t f f f 16 - -#step 46 -#outs 15 15 15 14 14 15 16 t f t f f f t f t f f f f f f f f f f f t f t f f f f f f f 16 - -#step 47 -#outs 15 15 15 15 15 15 16 t f t f t f t f t f t f f f t f f f t f t f t f f f f f f t 17 - -#step 48 -#outs 16 15 16 16 16 15 16 f f t f f f t f f f t f f f f f t f f f f f f f f f f f f f 17 - -#step 49 -#outs 16 16 16 16 16 15 16 t f t f t f t f f f t f f f f f t f f f t f f f t f f f f f 17 - -#step 50 -#outs 16 17 16 17 16 16 16 t f f f t f f f t f t f t f t f f f f f f f f f f f t f f t 18 - -#step 51 -#outs 17 17 16 17 16 16 17 t f f f t f f f t f t f f f t f f f f f f f f f t f f f f f 18 - -#step 52 -#outs 18 17 16 17 16 17 17 f f f f t f f f t f f f t f f f f f t f f f t f f f f f f f 18 - -#step 53 -#outs 18 17 17 17 17 17 17 f f t f t f t f t f t f t f f f f f t f t f t f t f t f f t 19 - -#step 54 -#outs 18 17 18 18 18 18 18 f f t f f f t f t f t f t f f f t f f f t f t f f f f f f f 19 - -#step 55 -#outs 18 18 18 19 19 18 18 t f t f t f f f f f t f t f f f t f f f f f f f f f t f f t 20 - -#step 56 -#outs 18 19 18 19 19 18 19 t f f f t f f f f f t f f f f f f f t f f f f f t f f f f f 20 - -#step 57 -#outs 18 19 19 19 19 19 19 t f f f t f t f t f t f f f f f f f t f f f t f f f f f f f 20 - -#step 58 -#outs 18 19 20 19 20 19 19 t f f f f f t f f f t f f f t f f f f f f f f f t f f f f f 20 - -#step 59 -#outs 19 19 20 19 20 20 19 t f t f f f t f f f f f t f t f t f f f t f f f f f t f f t 21 - -#step 60 -#outs 20 20 20 20 20 20 20 t f t f t f t f t f t f t f t f f f t f f f f f f f f f f t 22 - -#step 61 -#outs 21 20 21 20 20 20 20 f f t f f f t f t f t f t f f f f f f f t f f f f f t f f f 22 - -#step 62 -#outs 21 20 21 21 20 20 21 f f t f f f f f t f t f f f f f f f f f f f t f t f f f f f 22 - -#step 63 -#outs 21 20 21 21 21 21 21 f f t f f f t f t f t f t f f f f f f f t f f f f f t f f f 22 - -#step 64 -#outs 21 20 21 22 21 21 22 f f t f f f f f t f t f f f f f f f f f f f t f f f f f f f 22 - -#step 65 -#outs 21 20 21 22 22 21 22 f f t f f f f f f f t f f f f f t f f f f f f f t f f f f f 22 - -#step 66 -#outs 21 21 21 22 22 22 22 t f t f t f f f t f t f f f f f t f f f f f t f t f f f f t 23 - -#step 67 -#outs 21 22 21 22 23 23 22 t f f f t f f f f f f f f f t f f f t f f f f f f f f f f f 23 - -#step 68 -#outs 22 22 22 22 23 23 22 t f t f t f t f f f f f t f t f t f t f f f f f f f t f f t 24 - -#step 69 -#outs 23 23 23 22 23 23 23 t f t f f f t f f f t f t f f f f f f f t f f f f f f f f f 24 - -#step 70 -#outs 23 23 23 23 23 23 23 t f t f t f t f t f t f t f f f f f t f f f t f t f t f f t 25 - -#step 71 -#outs 23 23 24 23 24 24 24 t f t f f f t f f f t f f f f f t f f f f f f f f f f f f f 25 - -#step 72 -#outs 23 24 24 23 24 24 24 t f f f f f t f f f t f f f t f f f f f t f f f t f f f f f 25 - -#step 73 -#outs 24 24 24 24 24 25 24 t f t f t f t f t f f f t f t f t f t f f f t f f f f f f t 26 - -#step 74 -#outs 25 25 25 24 25 25 24 f f t f f f t f f f f f t f f f t f f f f f f f f f f f f f 26 - -#step 75 -#outs 25 26 25 24 25 25 24 f f f f f f t f f f f f t f f f f f f f t f f f f f t f f f 26 - -#step 76 -#outs 25 26 25 25 25 25 25 t f f f t f t f t f t f t f t f f f f f t f f f t f f f f t 27 - -#step 77 -#outs 26 26 25 26 25 26 25 f f f f t f f f t f f f t f f f f f t f f f t f f f t f f f 27 - -#step 78 -#outs 26 26 26 26 26 26 26 t f t f t f t f t f t f t f t f f f t f t f t f f f f f f t 28 - -#step 79 -#outs 27 26 27 27 27 26 26 f f t f f f t f f f t f t f f f t f f f f f f f t f f f f f 28 - -#step 80 -#outs 27 27 27 27 27 27 26 f f t f t f t f t f f f t f f f t f t f t f t f f f t f f f 28 - -#step 81 -#outs 27 28 28 28 28 27 27 t f f f t f t f f f t f t f t f f f t f f f f f t f f f f t 29 - -#step 82 -#outs 28 28 29 28 28 28 27 f f t f f f t f t f f f t f f f t f f f t f f f f f t f f f 29 - -#step 83 -#outs 28 29 29 29 28 28 28 t f f f t f f f t f t f t f f f f f f f f f f f t f f f f t 30 - -#step 84 -#outs 28 29 29 29 28 29 28 t f f f t f f f t f f f t f f f f f t f f f t f f f t f f f 30 - -#step 85 -#outs 28 29 30 29 29 29 29 t f f f f f t f t f t f f f f f f f f f t f t f t f f f f f 30 - -#step 86 -#outs 28 29 30 30 30 30 29 t f f f f f t f t f f f f f t f f f f f f f t f f f f f f f 30 - -#step 87 -#outs 29 29 30 30 31 30 29 t f t f f f t f f f f f t f t f t f f f t f f f f f f f f t 31 - -#step 88 -#outs 30 30 30 31 31 30 29 f f t f t f f f f f f f t f f f t f t f f f f f f f t f f f 31 - -#step 89 -#outs 30 31 31 31 31 30 30 t f f f t f t f f f t f t f f f f f t f t f f f t f t f f t 32 - -#step 90 -#outs 30 31 32 32 31 31 31 t f f f f f f f t f t f f f t f f f f f f f t f f f f f f f 32 - -#step 91 -#outs 31 31 32 32 32 31 31 t f t f f f t f f f t f t f f f t f f f f f f f t f t f f t 33 - -#step 92 -#outs 31 32 32 32 32 32 32 t f f f t f t f t f t f f f f f f f t f f f f f f f f f f f 33 - -#step 93 -#outs 31 32 33 32 32 32 32 t f f f f f t f t f t f f f t f f f f f t f t f f f f f f f 33 - -#step 94 -#outs 32 32 33 33 33 32 32 t f t f f f t f f f t f t f t f t f f f t f f f t f t f f t 34 - -#step 95 -#outs 33 33 33 34 33 33 33 t f t f t f f f t f t f t f t f f f t f f f f f t f f f f t 35 - -#step 96 -#outs 34 33 34 34 33 34 33 f f t f f f f f t f f f t f f f t f f f f f t f f f f f f f 35 - -#step 97 -#outs 34 34 34 34 34 34 33 f f t f t f t f t f f f t f f f f f f f f f f f f f t f f f 35 - -#step 98 -#outs 34 34 34 34 34 34 34 t f t f t f t f t f t f t f t f t f t f f f t f t f t f f t 36 - -#step 99 -#outs 35 35 35 34 35 35 35 t f t f f f t f f f t f t f f f t f f f f f f f t f t f f f 36 - -#step 100 -#outs 35 36 35 34 35 36 36 t f f f f f t f f f f f f f t f f f f f f f f f f f f f f f 36 - -#step 101 -#outs 36 36 35 34 35 36 36 t f f f f f t f f f f f t f t f f f f f f f f f f f t f f f 36 - -#step 102 -#outs 37 36 35 34 35 36 37 f f f f f f t f f f f f f f f f f f f f t f f f f f f f f f 36 - -#step 103 -#outs 37 36 35 35 35 36 37 f f f f t f t f t f f f f f f f f f t f t f t f f f f f f t 37 - -#step 104 -#outs 37 36 36 36 36 36 37 f f t f t f t f t f t f f f f f f f f f t f f f f f f f f t 38 - -#step 105 -#outs 37 36 36 37 36 36 37 f f t f t f f f t f t f f f f f t f t f f f f f f f f f f f 38 - -#step 106 -#outs 37 37 37 37 36 36 37 t f t f t f f f t f t f f f t f f f f f f f f f f f f f f f 38 - -#step 107 -#outs 38 37 37 37 36 36 37 f f t f t f f f t f t f f f f f f f f f f f t f t f f f f f 38 - -#step 108 -#outs 38 37 37 37 37 37 37 f f t f t f t f t f t f t f f f t f f f t f f f t f t f f t 39 - -#step 109 -#outs 38 38 37 38 37 38 38 t f f f t f f f t f f f t f f f f f f f f f t f f f f f f f 39 - -#step 110 -#outs 38 38 37 38 38 38 38 t f f f t f f f t f t f t f f f f f f f f f f f t f t f f f 39 - -#step 111 -#outs 38 38 37 38 38 39 39 t f f f t f f f t f f f f f t f f f t f f f f f f f f f f f 39 - -#step 112 -#outs 39 38 38 38 38 39 39 f f t f t f t f t f f f t f f f f f t f t f f f f f f f f t 40 - -#step 113 -#outs 39 38 39 39 38 39 39 f f t f f f f f t f f f t f f f t f f f f f t f f f t f f f 40 - -#step 114 -#outs 39 39 39 39 39 39 40 t f t f t f t f t f t f f f t f f f t f t f f f t f f f f t 41 - -#step 115 -#outs 40 39 40 40 39 40 40 f f t f f f f f t f f f t f f f t f f f f f f f f f f f f f 41 - -#step 116 -#outs 40 40 40 40 39 40 40 t f t f t f f f t f f f t f f f t f t f f f t f f f t f f f 41 - -#step 117 -#outs 40 41 41 40 40 40 41 t f f f f f t f t f t f f f f f f f f f t f f f t f f f f t 42 - -#step 118 -#outs 40 41 41 41 40 41 41 t f f f t f f f t f f f f f f f f f f f f f t f f f f f f f 42 - -#step 119 -#outs 40 41 41 41 41 41 41 t f f f t f t f t f t f f f f f f f t f t f t f f f f f f f 42 - -#step 120 -#outs 40 41 42 42 42 41 41 t f f f f f t f f f t f f f t f f f f f f f f f t f f f f f 42 - -#step 121 -#outs 41 41 42 42 42 42 41 t f t f f f t f t f f f t f f f f f f f t f t f f f t f f t 43 - -#step 122 -#outs 41 41 42 43 43 42 42 t f t f f f f f f f t f f f f f f f f f f f f f t f f f f f 43 - -#step 123 -#outs 41 41 42 43 43 43 42 t f t f f f f f t f f f f f f f t f f f f f t f f f f f f f 43 - -#step 124 -#outs 41 42 42 43 44 43 42 t f f f t f f f f f f f f f f f f f t f f f f f f f f f f f 43 - -#step 125 -#outs 41 42 43 43 44 43 42 t f f f f f t f f f f f f f f f f f f f t f f f f f f f f f 43 - -#step 126 -#outs 41 42 43 44 44 43 42 t f f f f f f f f f f f f f t f f f f f f f f f f f f f f f 43 - -#step 127 -#outs 42 42 43 44 44 43 42 t f t f f f f f f f f f t f f f t f f f f f f f f f t f f t 44 - -#step 128 -#outs 42 43 43 44 44 43 43 t f f f t f f f f f t f f f t f f f t f f f f f t f f f f f 44 - -#step 129 -#outs 43 43 44 44 44 44 43 t f t f f f t f t f f f t f t f t f f f t f t f f f t f f t 45 - -#step 130 -#outs 44 44 44 45 45 44 44 t f t f t f f f f f t f t f t f f f f f f f f f t f t f f t 46 - -#step 131 -#outs 45 44 44 45 45 45 45 f f t f t f f f t f t f t f f f t f f f f f t f t f f f f f 46 - -#step 132 -#outs 45 45 44 45 46 46 45 t f f f t f f f f f f f t f t f f f t f f f f f f f f f f f 46 - -#step 133 -#outs 46 45 45 45 46 46 45 f f t f t f t f f f f f t f f f t f f f f f f f f f f f f t 47 - -#step 134 -#outs 46 46 45 45 46 46 45 f f f f t f t f f f f f t f f f f f f f f f f f f f t f f f 47 - -#step 135 -#outs 46 46 45 45 46 46 46 t f f f t f t f f f t f t f f f f f f f f f f f f f t f f f 47 - -#step 136 -#outs 46 46 45 45 46 46 47 t f f f t f t f f f t f f f f f f f t f t f f f t f f f f f 47 - -#step 137 -#outs 46 46 46 46 46 47 47 t f t f t f t f t f f f f f t f f f f f t f t f f f f f f t 48 - -#step 138 -#outs 47 46 46 47 47 47 47 f f t f t f f f t f t f t f f f t f t f f f f f t f f f f f 48 - -#step 139 -#outs 47 47 47 47 47 48 47 t f t f t f t f t f f f t f t f f f f f f f t f f f f f f t 49 - -#step 140 -#outs 48 47 47 47 48 48 47 f f t f t f t f f f f f t f f f f f t f t f f f f f f f f f 49 - -#step 141 -#outs 48 47 48 48 48 48 47 f f t f f f t f t f f f t f f f t f f f f f t f f f f f f f 49 - -#step 142 -#outs 48 48 48 48 49 48 47 f f t f t f t f f f f f t f f f t f t f t f f f f f f f f f 49 - -#step 143 -#outs 48 49 49 49 49 48 47 f f f f t f t f f f f f t f f f f f f f t f f f f f f f f f 49 - -#step 144 -#outs 48 49 49 0 49 48 47 f f f f t f f f f f f f t f f f f f f f f f f f f f t f f f 49 - -#step 145 -#outs 48 49 49 0 49 48 48 t f f f t f f f f f t f t f f f f f t f f f f f f f t f f t 50 - -#step 146 -#outs 48 49 0 0 49 48 49 t f f f f f f f f f t f f f f f f f f f f f f f t f f f f f 50 - -#step 147 -#outs 48 49 0 0 49 49 49 t f f f f f f f t f t f f f f f f f f f f f t f f f f f f f 50 - -#step 148 -#outs 48 49 0 0 0 49 49 t f f f f f t f f f t f f f t f f f f f t f f f t f f f f f 50 - -#step 149 -#outs 49 49 0 1 0 0 49 t f t f f f f f t f f f t f t f t f f f f f f f f f f f f t 51 - -#step 150 -#outs 0 0 0 1 0 0 49 f f t f t f f f t f f f t f f f t f t f f f t f f f f f f f 51 - -#step 151 -#outs 0 1 1 1 1 0 49 f f f f t f t f f f f f t f f f f f f f t f f f f f t f f f 51 - -#step 152 -#outs 0 1 1 2 1 0 0 t f f f t f f f f f t f t f t f f f f f f f f f f f t f f t 52 - -#step 153 -#outs 1 1 1 2 1 0 1 t f t f t f f f f f t f f f t f t f t f f f f f f f f f f f 52 - -#step 154 -#outs 2 2 2 2 1 0 1 f f t f t f f f f f t f f f f f t f t f f f f f t f f f f f 52 - -#step 155 -#outs 2 3 3 2 1 1 1 f f f f f f f f t f t f t f f f f f f f f f f f f f t f f t 53 - -#step 156 -#outs 2 3 3 2 1 1 2 t f f f f f f f t f t f f f t f f f f f f f t f t f f f f f 53 - -#step 157 -#outs 3 3 3 2 2 2 2 f f t f f f t f t f t f t f f f t f f f t f t f f f f f f t 54 - -#step 158 -#outs 3 4 3 3 3 2 2 f f f f t f t f f f t f t f f f f f f f f f f f t f t f f f 54 - -#step 159 -#outs 3 4 3 3 3 3 3 t f f f t f t f t f t f t f f f f f f f f f t f f f f f f t 55 - -#step 160 -#outs 3 4 3 3 4 3 3 t f f f t f t f f f t f t f t f f f f f f f f f t f f f f f 55 - -#step 161 -#outs 4 4 3 3 4 4 3 f f f f t f t f f f f f t f f f f f t f t f f f f f t f f f 55 - -#step 162 -#outs 4 4 4 4 4 4 4 t f t f t f t f t f t f t f t f t f f f t f t f t f t f f t 56 - -#step 163 -#outs 5 5 4 5 5 5 5 t f f f t f f f t f t f t f f f f f t f f f f f t f f f f f 56 - -#step 164 -#outs 5 5 5 5 5 6 5 t f t f t f t f t f f f t f f f f f t f f f f f f f f f f t 57 - -#step 165 -#outs 5 5 6 5 5 6 5 t f t f f f t f t f f f t f f f f f f f f f t f f f f f f f 57 - -#step 166 -#outs 5 5 6 5 6 6 5 t f t f f f t f f f f f t f t f t f f f t f f f f f f f f f 57 - -#step 167 -#outs 6 6 6 6 6 6 5 f f t f t f t f t f f f t f f f t f t f t f f f f f t f f f 57 - -#step 168 -#outs 6 7 7 7 6 6 6 t f f f t f f f t f t f t f f f f f f f f f t f f f f f f t 58 - -#step 169 -#outs 6 7 7 7 7 6 6 t f f f t f t f f f t f t f t f f f t f t f f f f f f f f f 58 - -#step 170 -#outs 7 7 8 8 7 6 6 f f t f f f f f f f t f t f f f t f f f f f f f f f t f f f 58 - -#step 171 -#outs 7 8 8 8 7 6 7 t f f f t f f f f f t f f f t f f f t f f f f f t f f f f f 58 - -#step 172 -#outs 8 8 9 8 7 7 7 f f t f f f f f t f t f t f f f t f f f f f f f t f f f f t 59 - -#step 173 -#outs 8 9 9 8 7 8 7 f f f f f f f f t f f f t f f f f f f f f f t f f f t f f f 59 - -#step 174 -#outs 8 9 9 8 8 8 8 t f f f f f t f t f t f t f t f f f f f t f t f f f t f f t 60 - -#step 175 -#outs 9 9 9 9 9 8 9 t f t f t f t f f f t f f f t f t f f f f f f f t f f f f f 60 - -#step 176 -#outs 10 10 9 9 9 9 9 f f f f t f t f t f t f t f f f f f f f f f t f t f t f f t 61 - -#step 177 -#outs 10 10 9 9 10 10 10 t f f f t f t f f f t f t f t f f f f f t f f f t f t f f f 61 - -#step 178 -#outs 11 10 9 10 10 11 11 f f f f t f f f t f f f t f f f f f f f f f t f f f f f f f 61 - -#step 179 -#outs 11 10 9 10 11 11 11 f f f f t f f f f f t f t f f f f f f f f f f f t f t f f f 61 - -#step 180 -#outs 11 10 9 10 11 12 12 f f f f t f f f f f f f f f f f f f t f f f f f f f f f f f 61 - -#step 181 -#outs 11 10 10 10 11 12 12 f f t f t f t f f f f f f f f f f f t f t f f f f f f f f t 62 - -#step 182 -#outs 11 10 11 11 11 12 12 f f t f f f t f t f f f f f f f t f f f t f t f f f f f f f 62 - -#step 183 -#outs 11 11 11 12 12 12 12 t f t f t f f f t f t f f f f f f f t f f f f f f f f f f t 63 - -#step 184 -#outs 11 11 12 12 12 12 12 t f t f f f t f t f t f f f t f t f f f f f t f t f f f f f 63 - -#step 185 -#outs 12 12 12 12 13 13 12 t f t f t f t f f f f f t f t f t f t f f f f f f f f f f t 64 - -#step 186 -#outs 13 13 13 12 13 13 12 f f t f f f t f f f f f t f f f t f f f f f f f f f f f f f 64 - -#step 187 -#outs 13 14 13 12 13 13 12 f f f f f f t f f f f f t f f f f f f f f f f f f f t f f f 64 - -#step 188 -#outs 13 14 13 12 13 13 13 t f f f f f t f f f t f t f t f f f f f f f f f f f f f f f 64 - -#step 189 -#outs 14 14 13 12 13 13 13 f f f f f f t f f f t f t f f f f f f f t f f f f f t f f f 64 - -#step 190 -#outs 14 14 13 13 13 13 14 t f f f t f t f t f t f f f t f f f t f t f f f t f f f f t 65 - -#step 191 -#outs 15 14 14 14 13 14 14 f f t f t f f f t f f f t f f f f f t f f f t f f f t f f f 65 - -#step 192 -#outs 15 14 15 14 14 14 15 f f t f f f t f t f t f f f f f f f f f t f t f f f f f f t 66 - -#step 193 -#outs 15 14 15 15 15 14 15 f f t f f f t f f f t f f f f f t f f f f f f f f f f f f f 66 - -#step 194 -#outs 15 15 15 15 15 14 15 t f t f t f t f f f t f f f f f f f t f t f f f t f f f f f 66 - -#step 195 -#outs 15 15 16 16 15 15 15 t f t f f f f f t f t f t f f f t f f f f f f f f f f f f t 67 - -#step 196 -#outs 15 16 16 16 15 15 15 t f f f t f f f t f t f t f t f f f t f f f t f t f t f f f 67 - -#step 197 -#outs 16 16 17 16 16 16 16 t f t f f f t f t f t f t f f f f f f f t f f f f f f f f t 68 - -#step 198 -#outs 16 16 17 17 16 16 16 t f t f f f f f t f t f t f t f t f f f f f f f f f f f f f 68 - -#step 199 -#outs 17 17 17 17 16 16 16 f f t f t f f f t f t f t f f f t f t f f f t f f f f f f f 68 - -#step 200 -#outs 17 18 18 17 17 16 16 f f f f f f t f f f t f t f f f f f f f f f f f t f t f f f 68 - -#step 201 -#outs 17 18 18 17 17 17 17 t f f f f f t f t f t f t f t f f f f f t f t f t f t f f t 69 - -#step 202 -#outs 18 18 18 18 18 18 18 t f t f t f t f t f t f t f t f f f f f f f f f f f t f f t 70 - -#step 203 -#outs 19 18 18 18 18 18 19 f f t f t f t f t f t f f f f f t f t f t f t f t f f f f f 70 - -#step 204 -#outs 19 19 19 19 19 19 19 t f t f t f t f t f t f t f t f f f t f f f t f t f f f f t 71 - -#step 205 -#outs 20 19 20 19 20 20 19 f f t f f f t f f f f f t f f f f f f f f f f f f f t f f f 71 - -#step 206 -#outs 20 19 20 19 20 20 20 f f t f f f t f f f t f t f f f f f f f t f f f f f t f f f 71 - -#step 207 -#outs 20 19 20 20 20 20 21 f f t f f f t f t f t f f f f f t f f f f f t f f f f f f f 71 - -#step 208 -#outs 20 20 20 20 21 20 21 t f t f t f t f f f t f f f f f t f t f t f f f f f f f f t 72 - -#step 209 -#outs 20 21 21 21 21 20 21 t f f f t f t f f f t f f f t f f f t f t f f f t f f f f f 72 - -#step 210 -#outs 21 21 22 22 21 21 21 t f t f f f f f t f t f t f t f t f f f f f f f t f f f f t 73 - -#step 211 -#outs 22 22 22 22 21 22 21 f f t f t f f f t f f f t f f f t f t f f f f f f f t f f f 73 - -#step 212 -#outs 22 23 23 22 21 22 22 t f f f f f f f t f f f t f t f f f f f f f f f f f t f f f 73 - -#step 213 -#outs 23 23 23 22 21 22 23 t f t f f f f f t f f f f f t f t f f f f f t f f f f f f f 73 - -#step 214 -#outs 24 24 23 22 22 22 23 f f f f f f t f t f t f f f f f f f f f t f t f t f f f f t 74 - -#step 215 -#outs 24 24 23 23 23 23 23 f f f f t f t f t f t f t f f f f f t f t f t f f f f f f t 75 - -#step 216 -#outs 24 24 24 24 24 23 23 f f t f t f t f f f t f t f f f f f t f f f f f f f f f f f 75 - -#step 217 -#outs 24 24 25 24 24 23 23 f f t f f f t f f f t f t f f f t f f f t f f f t f f f f f 75 - -#step 218 -#outs 24 25 25 25 24 24 23 f f f f t f f f t f f f t f f f f f f f f f t f f f f f f f 75 - -#step 219 -#outs 24 25 25 25 25 24 23 f f f f t f t f f f f f t f f f f f f f t f f f f f t f f f 75 - -#step 220 -#outs 24 25 25 26 25 24 24 t f f f t f f f f f t f t f t f f f f f f f f f f f f f f t 76 - -#step 221 -#outs 25 25 25 26 25 24 24 f f t f t f f f f f t f t f f f t f f f f f f f f f t f f f 76 - -#step 222 -#outs 25 26 25 26 25 24 25 t f f f t f f f f f t f f f f f f f t f f f f f t f f f f f 76 - -#step 223 -#outs 25 26 26 26 25 25 25 t f f f t f f f t f t f t f t f f f t f f f t f f f t f f t 77 - -#step 224 -#outs 26 26 27 26 26 25 26 t f t f f f t f f f t f f f f f t f f f t f f f f f f f f f 77 - -#step 225 -#outs 26 27 27 27 26 25 26 t f f f t f f f f f t f f f t f f f f f f f f f f f f f f f 77 - -#step 226 -#outs 27 27 27 27 26 25 26 f f t f t f f f f f t f f f f f f f f f f f f f t f f f f f 77 - -#step 227 -#outs 27 27 27 27 26 26 26 f f t f t f f f t f t f t f f f t f f f f f f f f f f f f t 78 - -#step 228 -#outs 27 28 27 27 26 26 26 f f f f t f f f t f t f t f f f f f t f f f t f f f f f f f 78 - -#step 229 -#outs 27 28 28 27 27 26 26 f f f f f f t f f f t f t f f f f f f f t f f f t f f f f f 78 - -#step 230 -#outs 27 28 28 28 27 27 26 f f f f t f f f t f f f t f f f f f f f f f t f f f t f f f 78 - -#step 231 -#outs 27 28 28 28 28 27 27 t f f f t f t f f f t f t f f f f f t f t f f f f f t f f t 79 - -#step 232 -#outs 27 28 29 29 28 27 28 t f f f f f f f f f t f f f t f f f f f f f f f f f f f f f 79 - -#step 233 -#outs 28 28 29 29 28 27 28 t f t f f f f f f f t f f f t f f f f f f f f f t f f f f f 79 - -#step 234 -#outs 29 28 29 29 28 28 28 f f t f f f f f t f t f t f f f t f f f f f f f t f f f f t 80 - -#step 235 -#outs 29 29 29 29 28 29 28 f f t f t f f f t f f f t f f f f f f f f f t f f f f f f f 80 - -#step 236 -#outs 29 29 29 29 29 29 28 f f t f t f t f t f f f t f f f t f t f t f t f f f f f f f 80 - -#step 237 -#outs 29 30 30 30 30 29 28 f f f f t f t f f f f f t f f f f f t f f f f f f f f f f f 80 - -#step 238 -#outs 29 30 31 30 30 29 28 f f f f f f t f f f f f t f f f f f f f f f f f f f t f f f 80 - -#step 239 -#outs 29 30 31 30 30 29 29 t f f f f f t f f f t f t f f f f f f f t f f f t f f f f t 81 - -#step 240 -#outs 29 30 31 31 30 30 29 t f f f f f f f t f f f t f t f f f f f f f t f f f t f f f 81 - -#step 241 -#outs 30 30 31 31 31 30 30 t f t f f f t f f f t f t f t f f f f f f f f f t f t f f t 82 - -#step 242 -#outs 31 30 31 31 31 31 31 f f t f f f t f t f t f t f f f t f f f t f f f f f f f f f 82 - -#step 243 -#outs 31 31 31 32 31 31 31 t f t f t f f f t f t f t f f f f f t f f f t f f f f f f t 83 - -#step 244 -#outs 31 31 32 32 32 31 31 t f t f f f t f f f t f t f t f f f f f f f f f t f f f f f 83 - -#step 245 -#outs 32 31 32 32 32 32 31 f f t f f f t f t f f f t f f f t f f f f f f f f f t f f f 83 - -#step 246 -#outs 32 32 32 32 32 32 32 t f t f t f t f t f t f t f f f f f t f f f f f t f f f f t 84 - -#step 247 -#outs 32 32 33 32 32 33 32 t f t f f f t f t f f f t f t f f f f f t f t f f f t f f f 84 - -#step 248 -#outs 33 32 33 33 33 33 33 f f t f f f t f t f t f t f f f f f f f f f t f f f f f f f 84 - -#step 249 -#outs 33 32 33 33 34 33 33 f f t f f f t f f f t f t f f f t f f f t f f f f f f f f f 84 - -#step 250 -#outs 33 33 33 34 34 33 33 t f t f t f f f f f t f t f t f t f t f f f f f f f f f f t 85 - -#step 251 -#outs 34 34 34 34 34 33 33 f f t f t f t f f f t f t f f f t f t f f f f f f f t f f f 85 - -#step 252 -#outs 34 35 35 34 34 33 34 t f f f f f t f f f t f f f f f f f f f t f f f t f f f f f 85 - -#step 253 -#outs 34 35 35 35 34 34 34 t f f f t f f f t f t f t f t f f f t f f f t f f f t f f t 86 - -#step 254 -#outs 35 35 36 35 35 34 35 t f t f f f t f f f t f f f f f f f f f t f f f t f f f f f 86 - -#step 255 -#outs 35 35 36 36 35 35 35 t f t f f f f f t f t f t f f f t f f f f f f f f f t f f t 87 - -#step 256 -#outs 35 36 36 36 35 35 36 t f f f t f f f t f t f f f f f f f t f f f t f t f f f f f 87 - -#step 257 -#outs 35 36 37 36 36 36 36 t f f f f f t f t f t f f f t f f f f f f f t f f f f f f f 87 - -#step 258 -#outs 36 36 37 36 37 36 36 t f t f f f t f f f t f t f t f f f f f t f f f t f f f f t 88 - -#step 259 -#outs 37 36 37 37 37 37 36 f f t f f f t f t f f f t f f f f f f f f f t f f f f f f f 88 - -#step 260 -#outs 37 36 37 37 38 37 36 f f t f f f t f f f f f t f f f t f f f t f f f f f t f f f 88 - -#step 261 -#outs 37 37 37 38 38 37 37 t f t f t f f f f f t f t f f f t f t f f f f f f f f f f t 89 - -#step 262 -#outs 37 38 38 38 38 37 37 t f f f t f t f f f t f t f t f f f t f t f f f t f f f f f 89 - -#step 263 -#outs 38 38 39 39 38 38 37 f f t f f f f f t f f f t f f f f f f f f f t f f f f f f f 89 - -#step 264 -#outs 38 38 39 39 39 38 37 f f t f f f t f f f f f t f f f t f f f t f f f f f f f f f 89 - -#step 265 -#outs 38 39 39 40 39 38 37 f f f f t f f f f f f f t f f f f f t f f f f f f f f f f f 89 - -#step 266 -#outs 38 39 40 40 39 38 37 f f f f f f f f f f f f t f f f f f f f f f f f f f t f f f 89 - -#step 267 -#outs 38 39 40 40 39 38 38 t f f f f f f f f f t f t f t f f f f f f f f f f f f f f t 90 - -#step 268 -#outs 39 39 40 40 39 38 38 f f t f f f f f f f t f t f f f t f f f f f f f t f f f f f 90 - -#step 269 -#outs 39 40 40 40 39 39 38 f f f f t f f f t f f f t f f f f f t f f f f f f f t f f f 90 - -#step 270 -#outs 39 40 41 40 39 39 39 t f f f f f f f t f t f t f t f f f f f f f f f t f t f f t 91 - -#step 271 -#outs 40 40 41 40 39 40 40 t f t f f f f f t f f f t f f f t f f f f f f f f f f f f f 91 - -#step 272 -#outs 40 41 41 40 39 40 40 t f f f f f f f t f f f t f t f f f f f f f t f f f f f f f 91 - -#step 273 -#outs 41 41 41 40 40 40 40 f f t f f f t f t f t f t f f f f f f f t f f f t f f f f t 92 - -#step 274 -#outs 41 41 41 41 40 41 40 f f t f t f f f t f f f t f f f f f f f f f t f f f f f f f 92 - -#step 275 -#outs 41 41 41 41 41 41 40 f f t f t f t f t f f f t f f f t f t f t f f f f f t f f f 92 - -#step 276 -#outs 41 42 42 42 41 41 41 t f f f t f f f t f t f t f t f f f f f f f t f t f f f f t 93 - -#step 277 -#outs 42 42 42 42 42 42 41 f f t f t f t f t f f f t f f f t f f f f f t f f f f f f f 93 - -#step 278 -#outs 42 43 42 42 43 42 41 f f f f t f t f f f f f t f f f f f t f t f f f f f t f f f 93 - -#step 279 -#outs 42 43 43 43 43 42 42 t f f f t f t f f f t f t f f f f f f f t f f f f f t f f t 94 - -#step 280 -#outs 42 43 43 44 43 42 43 t f f f t f f f f f t f f f t f f f t f f f f f t f f f f f 94 - -#step 281 -#outs 43 43 44 44 43 43 43 t f t f f f f f t f t f t f t f f f f f f f f f t f f f f t 95 - -#step 282 -#outs 44 43 44 44 43 44 43 f f t f f f f f t f f f t f f f t f f f f f f f f f t f f f 95 - -#step 283 -#outs 44 44 44 44 43 44 44 t f t f t f f f t f f f t f f f f f f f f f f f f f t f f f 95 - -#step 284 -#outs 44 44 44 44 43 44 45 t f t f t f f f t f f f f f f f t f f f f f t f f f f f f f 95 - -#step 285 -#outs 44 45 44 44 44 44 45 t f f f t f t f t f t f f f t f f f f f t f t f t f f f f t 96 - -#step 286 -#outs 45 45 44 45 45 45 45 t f f f t f f f t f t f t f t f f f t f f f t f t f t f f f 96 - -#step 287 -#outs 46 45 45 45 46 46 46 f f t f t f t f f f t f t f f f t f f f t f f f t f f f f t 97 - -#step 288 -#outs 46 46 45 46 46 47 46 t f f f t f f f t f f f t f t f f f f f f f t f f f t f f f 97 - -#step 289 -#outs 47 46 45 46 47 47 47 f f f f t f f f f f t f t f f f f f t f f f f f t f f f f f 97 - -#step 290 -#outs 47 46 46 46 47 48 47 f f t f t f t f f f f f t f f f t f f f f f f f f f f f f t 98 - -#step 291 -#outs 47 47 46 46 47 48 47 t f f f t f t f f f f f t f f f f f t f f f f f f f f f f f 98 - -#step 292 -#outs 47 47 47 46 47 48 47 t f t f f f t f f f f f t f t f f f f f f f f f f f t f f f 98 - -#step 293 -#outs 48 47 47 46 47 48 48 f f t f f f t f f f f f t f f f f f f f t f f f f f t f f f 98 - -#step 294 -#outs 48 47 47 47 47 48 49 f f t f t f t f t f f f f f f f f f t f f f f f f f f f f t 99 - -#step 295 -#outs 48 47 48 47 47 48 49 f f t f f f t f t f f f f f f f t f f f f f f f f f f f f f 99 - -#step 296 -#outs 48 48 48 47 47 48 49 t f t f f f t f t f f f f f t f f f f f f f f f f f f f f f 99 - -#step 297 -#outs 49 48 48 47 47 48 49 f f t f f f t f t f f f f f f f t f f f t f t f f f f f f f 99 - -#step 298 -#outs 49 49 48 48 48 48 49 t f f f t f t f t f t f f f t f f f t f f f t f f f f f f t 100 - -#step 299 -#outs 0 49 49 48 49 48 49 f f t f f f t f f f t f f f f f t f f f f f f f f f f f f f 100 - -#step 300 -#outs 0 0 49 48 49 48 49 f f f f f f t f f f t f f f f f f f f f t f f f t f f f f f 100 - -#step 301 -#outs 0 0 49 49 49 49 49 f f f f t f t f t f t f t f f f f f f f f f t f f f f f f t 101 - -#step 302 -#outs 0 0 49 49 0 49 49 f f f f t f t f f f t f t f f f f f t f f f f f t f f f f f 101 - -#step 303 -#outs 0 0 0 49 0 0 49 f f t f f f t f f f f f t f f f f f f f t f f f f f f f f f 101 - -#step 304 -#outs 0 0 0 0 0 0 49 f f t f t f t f t f f f t f f f t f t f t f f f f f f f f f 101 - -#step 305 -#outs 0 1 1 1 0 0 49 f f f f t f f f t f f f t f f f f f t f f f f f f f t f f f 101 - -#step 306 -#outs 0 1 2 1 0 0 0 t f f f f f f f t f t f t f f f f f f f f f f f t f t f f t 102 - -#step 307 -#outs 0 1 2 1 0 1 1 t f f f f f f f t f f f f f t f f f f f f f f f f f f f f f 102 - -#step 308 -#outs 1 1 2 1 0 1 1 t f t f f f f f t f f f t f t f f f f f f f f f f f f f f f 102 - -#step 309 -#outs 2 1 2 1 0 1 1 f f t f f f f f t f f f t f f f f f f f f f t f f f t f f f 102 - -#step 310 -#outs 2 1 2 1 1 1 2 f f t f f f t f t f t f f f f f f f f f f f t f t f f f f t 103 - -#step 311 -#outs 2 1 2 1 2 2 2 f f t f f f t f f f t f t f f f t f f f f f f f t f t f f f 103 - -#step 312 -#outs 2 2 2 1 2 3 3 t f t f f f t f f f f f f f f f f f f f t f f f f f f f f f 103 - -#step 313 -#outs 2 2 2 2 2 3 3 t f t f t f t f t f f f f f t f f f t f t f t f f f f f f t 104 - -#step 314 -#outs 3 2 3 3 3 3 3 f f t f f f t f t f t f t f f f t f f f t f t f t f f f f f 104 - -#step 315 -#outs 3 3 3 4 4 4 3 t f t f t f f f t f f f t f f f t f f f f f f f f f t f f t 105 - -#step 316 -#outs 3 4 3 4 4 4 4 t f f f t f f f t f t f f f f f f f t f f f t f t f f f f f 105 - -#step 317 -#outs 3 4 4 4 5 5 4 t f f f t f t f f f f f f f t f f f t f f f f f f f f f f f 105 - -#step 318 -#outs 4 4 5 4 5 5 4 t f t f f f t f f f f f t f t f f f f f t f f f f f t f f t 106 - -#step 319 -#outs 5 4 5 5 5 5 5 f f t f f f t f t f t f t f f f t f f f f f t f t f t f f f 106 - -#step 320 -#outs 5 5 5 5 6 6 6 t f t f t f t f f f t f f f f f f f f f t f f f t f f f f t 107 - -#step 321 -#outs 5 5 5 6 6 7 6 t f t f t f f f t f f f f f t f t f t f f f f f f f f f f f 107 - -#step 322 -#outs 6 6 6 6 6 7 6 t f t f t f t f t f f f t f t f f f t f t f f f f f f f f t 108 - -#step 323 -#outs 7 6 7 7 6 7 6 f f t f f f f f t f f f t f f f t f f f f f f f f f t f f f 108 - -#step 324 -#outs 7 7 7 7 6 7 7 t f t f t f f f t f f f t f t f f f f f f f f f f f f f f f 108 - -#step 325 -#outs 8 7 7 7 6 7 7 f f t f t f f f t f f f t f f f t f t f f f f f f f f f f f 108 - -#step 326 -#outs 8 8 8 7 6 7 7 f f t f f f f f t f f f t f f f t f f f f f t f f f t f f f 108 - -#step 327 -#outs 8 9 8 7 7 7 8 t f f f f f t f t f t f f f f f f f f f t f t f f f f f f t 109 - -#step 328 -#outs 8 9 8 8 8 7 8 t f f f t f t f f f t f f f f f f f f f f f f f t f f f f f 109 - -#step 329 -#outs 8 9 8 8 8 8 8 t f f f t f t f t f t f t f t f f f t f f f t f t f f f f f 109 - -#step 330 -#outs 9 9 9 8 9 9 8 f f t f f f t f f f f f t f f f t f f f t f f f f f f f f t 110 - -#step 331 -#outs 9 10 9 9 9 9 8 f f f f t f t f t f f f t f f f f f f f t f t f f f t f f f 110 - -#step 332 -#outs 9 10 9 10 10 9 9 t f f f t f f f f f t f t f t f f f f f f f f f f f t f f t 111 - -#step 333 -#outs 10 10 9 10 10 9 10 t f f f t f f f f f t f f f t f f f f f f f f f f f f f f f 111 - -#step 334 -#outs 11 10 9 10 10 9 10 f f f f t f f f f f t f f f f f f f t f f f f f f f f f f f 111 - -#step 335 -#outs 11 10 10 10 10 9 10 f f t f t f t f f f t f f f f f t f t f t f f f t f f f f f 111 - -#step 336 -#outs 11 11 11 11 10 10 10 f f t f t f f f t f t f t f f f t f f f f f t f f f f f f t 112 - -#step 337 -#outs 11 12 11 11 11 10 10 f f f f t f t f f f t f t f f f f f t f t f f f f f t f f f 112 - -#step 338 -#outs 11 12 12 12 11 10 11 t f f f t f f f f f t f f f t f f f f f f f f f t f f f f f 112 - -#step 339 -#outs 12 12 12 12 11 11 11 f f t f t f f f t f t f t f f f f f t f f f t f t f f f f t 113 - -#step 340 -#outs 12 12 13 12 12 12 11 f f t f f f t f t f f f t f f f f f f f f f t f f f t f f f 113 - -#step 341 -#outs 12 12 13 12 13 12 12 t f t f f f t f f f t f t f t f f f f f f f f f t f f f f f 113 - -#step 342 -#outs 13 12 13 12 13 13 12 f f t f f f t f f f f f t f f f f f f f t f f f f f t f f f 113 - -#step 343 -#outs 13 12 13 13 13 13 13 f f t f f f t f t f t f t f f f t f f f f f t f t f t f f f 113 - -#step 344 -#outs 13 13 13 13 14 14 14 t f t f t f t f f f t f f f f f t f t f f f f f t f f f f t 114 - -#step 345 -#outs 13 14 14 13 14 15 14 t f f f f f t f f f f f f f t f f f f f t f f f f f f f f f 114 - -#step 346 -#outs 14 14 14 14 14 15 14 t f t f t f t f t f f f t f f f t f t f f f t f f f f f f t 115 - -#step 347 -#outs 14 15 15 14 15 15 14 t f f f f f t f f f f f t f t f f f f f t f f f f f t f f f 115 - -#step 348 -#outs 15 15 15 15 15 15 15 t f t f t f t f t f t f t f f f t f f f f f f f t f t f f t 116 - -#step 349 -#outs 15 16 15 15 15 16 16 t f f f t f t f t f f f f f t f f f t f t f t f f f f f f f 116 - -#step 350 -#outs 16 16 16 16 16 16 16 t f t f t f t f t f t f t f f f t f f f f f f f f f f f f t 117 - -#step 351 -#outs 16 17 16 16 16 16 16 t f f f t f t f t f t f t f t f f f t f t f t f f f f f f f 117 - -#step 352 -#outs 17 17 17 17 17 16 16 f f t f t f t f f f t f t f f f t f f f f f f f f f f f f f 117 - -#step 353 -#outs 17 18 17 17 17 16 16 f f f f t f t f f f t f t f f f f f t f f f f f t f f f f f 117 - -#step 354 -#outs 17 18 18 17 17 17 16 f f f f f f t f t f f f t f f f f f f f f f t f f f f f f f 117 - -#step 355 -#outs 17 18 18 17 18 17 16 f f f f f f t f f f f f t f f f f f f f f f f f f f t f f f 117 - -#step 356 -#outs 17 18 18 17 18 17 17 t f f f f f t f f f t f t f f f f f f f t f f f f f t f f t 118 - -#step 357 -#outs 17 18 18 18 18 17 18 t f f f t f t f f f t f f f t f f f t f t f f f t f f f f f 118 - -#step 358 -#outs 18 18 19 19 18 18 18 t f t f f f f f t f t f t f t f f f f f f f f f t f t f f t 119 - -#step 359 -#outs 19 18 19 19 18 19 19 f f t f f f f f t f f f t f f f t f f f f f t f f f t f f f 119 - -#step 360 -#outs 19 19 19 19 19 19 20 t f t f t f t f t f t f f f f f t f f f f f f f t f f f f t 120 - -#step 361 -#outs 19 20 19 19 19 20 20 t f f f t f t f t f f f f f t f f f t f f f t f f f f f f f 120 - -#step 362 -#outs 20 20 20 19 20 20 20 t f t f f f t f f f t f t f f f f f f f f f f f t f f f f f 120 - -#step 363 -#outs 20 20 20 19 20 21 20 t f t f f f t f f f f f t f t f t f f f f f f f f f t f f f 120 - -#step 364 -#outs 21 21 20 19 20 21 21 t f f f f f t f f f f f t f f f f f f f f f f f f f t f f f 120 - -#step 365 -#outs 21 21 20 19 20 21 22 t f f f f f t f f f f f f f f f f f f f t f f f f f f f f f 120 - -#step 366 -#outs 21 21 20 20 20 21 22 t f f f t f t f t f f f f f t f f f t f f f f f f f f f f t 121 - -#step 367 -#outs 22 21 21 20 20 21 22 f f t f f f t f t f f f f f f f t f f f f f t f f f f f f f 121 - -#step 368 -#outs 22 22 21 20 21 21 22 t f f f f f t f f f t f f f t f f f f f t f f f t f f f f f 121 - -#step 369 -#outs 23 22 21 21 21 22 22 f f f f t f t f t f f f t f f f f f f f f f t f f f f f f t 122 - -#step 370 -#outs 23 22 21 21 22 22 22 f f f f t f t f f f t f t f f f f f f f t f f f t f t f f f 122 - -#step 371 -#outs 23 22 21 22 22 23 23 f f f f t f f f t f f f t f f f f f f f f f t f f f t f f f 122 - -#step 372 -#outs 23 22 21 22 23 23 24 f f f f t f f f f f t f f f f f f f t f f f f f f f f f f f 122 - -#step 373 -#outs 23 22 22 22 23 23 24 f f t f t f t f f f t f f f f f f f f f t f f f f f f f f t 123 - -#step 374 -#outs 23 22 22 23 23 23 24 f f t f t f f f t f t f f f f f f f t f f f f f t f f f f f 123 - -#step 375 -#outs 23 22 23 23 23 24 24 f f t f f f t f t f f f f f f f t f f f f f f f f f f f f f 123 - -#step 376 -#outs 23 23 23 23 23 24 24 t f t f t f t f t f f f f f t f f f f f f f t f f f f f f t 124 - -#step 377 -#outs 24 23 23 23 24 24 24 f f t f t f t f f f t f t f f f t f f f t f f f t f t f f f 124 - -#step 378 -#outs 24 24 23 24 24 25 25 t f f f t f f f t f f f f f t f f f f f f f f f f f f f f f 124 - -#step 379 -#outs 25 24 23 24 24 25 25 f f f f t f f f t f f f t f f f f f f f f f f f f f t f f f 124 - -#step 380 -#outs 25 24 23 24 24 25 26 f f f f t f f f t f f f f f f f f f t f f f f f f f f f f f 124 - -#step 381 -#outs 25 24 24 24 24 25 26 f f t f t f t f t f f f f f f f t f f f t f f f f f f f f t 125 - -#step 382 -#outs 25 25 24 25 24 25 26 t f f f t f f f t f f f f f t f f f t f f f f f f f f f f f 125 - -#step 383 -#outs 26 25 25 25 24 25 26 f f t f t f f f t f f f f f f f f f t f f f f f f f f f f f 125 - -#step 384 -#outs 26 25 26 25 24 25 26 f f t f f f f f t f f f f f f f f f f f f f t f f f f f f f 125 - -#step 385 -#outs 26 25 26 25 25 25 26 f f t f f f t f t f t f f f f f t f f f f f t f f f f f f t 126 - -#step 386 -#outs 26 26 26 25 26 25 26 t f t f f f t f f f t f f f f f t f f f t f f f f f f f f f 126 - -#step 387 -#outs 26 27 26 26 26 25 26 t f f f t f t f f f t f f f t f f f f f t f f f t f f f f f 126 - -#step 388 -#outs 27 27 26 27 26 26 26 f f f f t f f f t f t f t f f f f f t f f f f f f f f f f t 127 - -#step 389 -#outs 27 27 27 27 26 26 26 f f t f t f f f t f t f t f f f t f f f f f t f t f t f f f 127 - -#step 390 -#outs 27 28 27 27 27 27 27 t f f f t f t f t f t f t f f f f f f f f f f f t f f f f t 128 - -#step 391 -#outs 27 28 27 27 27 28 27 t f f f t f t f t f f f t f t f f f f f t f t f f f t f f f 128 - -#step 392 -#outs 28 28 27 28 28 28 28 t f f f t f f f t f t f t f f f f f t f f f t f f f f f f f 128 - -#step 393 -#outs 28 28 28 28 29 28 28 t f t f t f t f f f t f t f t f f f f f t f f f f f t f f t 129 - -#step 394 -#outs 29 28 28 29 29 28 29 f f t f t f f f f f t f f f f f t f t f f f f f f f f f f f 129 - -#step 395 -#outs 29 29 29 29 29 28 29 t f t f t f t f f f t f f f t f t f t f f f f f f f f f f f 129 - -#step 396 -#outs 30 30 30 29 29 28 29 f f t f f f t f f f t f f f f f f f f f t f f f f f f f f f 129 - -#step 397 -#outs 30 30 30 30 29 28 29 f f t f t f f f f f t f f f f f t f t f f f f f t f f f f f 129 - -#step 398 -#outs 30 31 31 30 29 29 29 f f f f f f f f t f t f t f f f f f f f f f t f t f t f f t 130 - -#step 399 -#outs 30 31 31 30 30 30 30 t f f f f f t f t f t f t f f f f f f f f f t f f f t f f t 131 - -#step 400 -#outs 30 31 31 30 31 30 31 t f f f f f t f f f t f f f t f f f f f t f f f f f f f f f 131 - -#step 401 -#outs 31 31 31 31 31 30 31 t f t f t f t f f f t f f f f f t f t f t f f f f f f f f f 131 - -#step 402 -#outs 31 32 32 32 31 30 31 t f f f t f f f f f t f f f f f f f t f f f f f t f f f f f 131 - -#step 403 -#outs 31 32 33 32 31 31 31 t f f f f f f f t f t f t f f f f f f f f f t f f f t f f t 132 - -#step 404 -#outs 31 32 33 32 32 31 32 t f f f f f t f f f t f f f f f f f f f f f f f t f f f f f 132 - -#step 405 -#outs 31 32 33 32 32 32 32 t f f f f f t f t f t f f f t f f f f f t f f f t f f f f f 132 - -#step 406 -#outs 32 32 33 33 32 33 32 t f t f f f f f t f f f t f t f f f f f f f f f f f f f f t 133 - -#step 407 -#outs 33 32 33 33 32 33 32 f f t f f f f f t f f f t f f f f f f f f f t f f f t f f f 133 - -#step 408 -#outs 33 32 33 33 33 33 33 f f t f f f t f t f t f t f f f t f f f t f t f f f t f f f 133 - -#step 409 -#outs 33 33 33 34 34 33 34 t f t f t f f f f f t f f f f f t f t f f f f f f f f f f t 134 - -#step 410 -#outs 33 34 34 34 34 33 34 t f f f t f t f f f t f f f t f f f f f t f f f f f f f f f 134 - -#step 411 -#outs 34 34 34 35 34 33 34 t f t f t f f f f f t f f f t f f f t f f f f f f f f f f f 134 - -#step 412 -#outs 35 34 35 35 34 33 34 f f t f f f f f f f t f f f f f f f f f f f f f t f f f f f 134 - -#step 413 -#outs 35 34 35 35 34 34 34 f f t f f f f f t f t f t f f f t f f f f f t f t f t f f t 135 - -#step 414 -#outs 35 35 35 35 35 35 35 t f t f t f t f t f t f t f f f t f t f f f t f t f t f f t 136 - -#step 415 -#outs 35 36 36 35 36 36 36 t f f f f f t f f f t f f f f f f f f f t f f f t f f f f f 136 - -#step 416 -#outs 35 36 36 36 36 37 36 t f f f t f t f t f f f f f t f f f t f t f t f f f f f f f 136 - -#step 417 -#outs 36 36 37 37 37 37 36 t f t f f f t f t f f f t f t f f f f f t f t f f f f f f t 137 - -#step 418 -#outs 37 36 37 38 38 37 36 f f t f f f f f f f f f t f f f f f f f f f f f f f t f f f 137 - -#step 419 -#outs 37 36 37 38 38 37 37 f f t f f f f f f f t f t f f f f f f f f f f f f f t f f f 137 - -#step 420 -#outs 37 36 37 38 38 37 38 f f t f f f f f f f t f f f f f t f f f f f f f t f f f f f 137 - -#step 421 -#outs 37 37 37 38 38 38 38 t f t f t f f f t f t f f f f f f f t f f f f f t f f f f t 138 - -#step 422 -#outs 37 37 38 38 38 39 38 t f t f f f t f t f f f f f f f t f f f t f t f f f f f f f 138 - -#step 423 -#outs 37 38 38 39 39 39 38 t f f f t f f f t f f f f f t f f f f f f f t f f f f f f f 138 - -#step 424 -#outs 38 38 38 39 40 39 38 t f t f t f f f f f f f t f f f t f f f f f f f f f t f f t 139 - -#step 425 -#outs 38 39 38 39 40 39 39 t f f f t f f f f f t f f f t f f f t f f f f f f f f f f f 139 - -#step 426 -#outs 39 39 39 39 40 39 39 t f t f t f t f f f t f t f f f t f t f f f f f f f f f f t 140 - -#step 427 -#outs 39 40 40 39 40 39 39 t f f f f f t f f f t f t f t f f f f f t f f f f f t f f f 140 - -#step 428 -#outs 40 40 40 40 40 39 40 t f t f t f t f f f t f f f f f t f f f t f f f t f f f f f 140 - -#step 429 -#outs 40 41 40 41 40 40 40 t f f f t f f f t f t f t f t f f f f f f f f f t f f f f t 141 - -#step 430 -#outs 41 41 40 41 40 41 40 f f f f t f f f t f f f t f f f f f f f f f t f f f t f f f 141 - -#step 431 -#outs 41 41 40 41 41 41 41 t f f f t f f f t f t f t f t f f f f f f f f f t f f f f f 141 - -#step 432 -#outs 42 41 40 41 41 42 41 f f f f t f f f t f f f t f f f f f t f f f t f f f t f f f 141 - -#step 433 -#outs 42 41 41 41 42 42 42 f f t f t f t f f f t f t f f f f f f f t f f f f f t f f t 142 - -#step 434 -#outs 42 41 41 42 42 42 43 f f t f t f f f t f t f f f f f t f f f f f f f t f f f f f 142 - -#step 435 -#outs 42 42 41 42 42 43 43 t f f f t f f f t f f f f f t f f f t f f f t f f f f f f f 142 - -#step 436 -#outs 43 42 42 42 43 43 43 f f t f t f t f f f t f t f f f t f t f t f f f f f t f f t 143 - -#step 437 -#outs 43 43 43 43 43 43 44 t f t f t f t f t f t f f f f f t f f f f f t f t f f f f f 143 - -#step 438 -#outs 43 44 43 43 44 44 44 t f f f t f t f f f t f f f f f f f t f t f f f f f f f f t 144 - -#step 439 -#outs 43 44 44 44 44 44 44 t f f f t f t f t f t f f f f f f f t f t f t f t f f f f f 144 - -#step 440 -#outs 43 44 45 45 45 45 44 t f f f f f t f t f f f f f f f f f f f t f t f f f f f f f 144 - -#step 441 -#outs 43 44 45 46 46 45 44 t f f f f f f f f f f f f f t f f f f f f f f f f f f f f f 144 - -#step 442 -#outs 44 44 45 46 46 45 44 t f t f f f f f f f f f t f f f t f f f f f f f f f t f f t 145 - -#step 443 -#outs 44 45 45 46 46 45 45 t f f f t f f f f f t f f f t f f f f f f f f f t f f f f f 145 - -#step 444 -#outs 45 45 45 46 46 46 45 t f t f t f f f t f f f t f f f f f f f f f f f f f t f f t 146 - -#step 445 -#outs 45 45 45 46 46 46 46 t f t f t f f f t f t f f f f f f f t f f f t f f f f f f f 146 - -#step 446 -#outs 45 45 46 46 47 46 46 t f t f f f t f f f t f f f t f f f f f t f f f f f f f f f 146 - -#step 447 -#outs 46 45 46 47 47 46 46 f f t f f f f f f f t f t f f f t f f f f f f f t f t f f f 146 - -#step 448 -#outs 46 46 46 47 47 47 47 t f t f t f f f t f t f f f f f t f f f f f t f f f f f f t 147 - -#step 449 -#outs 46 47 46 47 48 47 47 t f f f t f f f f f t f f f t f f f f f f f f f f f f f f f 147 - -#step 450 -#outs 47 47 46 47 48 47 47 t f f f t f f f f f t f t f t f f f t f f f f f f f t f f f 147 - -#step 451 -#outs 48 47 47 47 48 47 48 f f t f t f t f f f t f f f f f f f f f t f f f f f f f f f 147 - -#step 452 -#outs 48 47 47 48 48 47 48 f f t f t f f f f f t f f f f f f f t f f f f f f f f f f f 147 - -#step 453 -#outs 48 47 48 48 48 47 48 f f t f f f t f f f t f f f f f t f f f f f f f f f f f f f 147 - -#step 454 -#outs 48 48 48 48 48 47 48 t f t f t f t f f f t f f f t f f f f f f f f f f f f f f f 147 - -#step 455 -#outs 49 48 48 48 48 47 48 f f t f t f t f f f t f f f f f t f t f t f f f f f f f f f 147 - -#step 456 -#outs 49 49 49 49 48 47 48 f f t f t f f f f f t f f f f f t f t f f f f f f f f f f f 147 - -#step 457 -#outs 49 0 0 49 48 47 48 f f f f f f f f f f t f f f f f f f f f f f f f t f f f f f 147 - -#step 458 -#outs 49 0 0 49 48 48 48 f f f f f f f f t f t f t f f f f f f f f f t f t f f f f t 148 - -#step 459 -#outs 49 0 0 49 49 49 48 f f f f f f t f t f f f t f f f f f f f t f f f f f f f f f 148 - -#step 460 -#outs 49 0 0 0 49 49 48 f f f f t f f f t f f f t f f f f f f f f f t f f f t f f f 148 - -#step 461 -#outs 49 0 0 0 0 49 49 t f f f t f t f f f t f t f f f f f t f t f f f t f t f f t 149 - -#step 462 -#outs 49 0 1 1 0 0 0 t f f f f f f f t f t f f f f f f f f f f f t f f f f f f f 149 - -#step 463 -#outs 49 0 1 1 1 0 0 t f f f f f t f f f t f f f t f f f f f f f f f f f f f f f 149 - -#step 464 -#outs 0 0 1 1 1 0 0 t f t f f f t f f f t f t f t f f f f f f f f f f f t f f t 150 - -#step 465 -#outs 1 0 1 1 1 0 1 f f t f f f t f f f t f f f f f f f f f f f f f t f f f f f 150 - -#step 466 -#outs 1 0 1 1 1 1 1 f f t f f f t f t f t f t f f f t f f f f f t f t f t f f f 150 - -#step 467 -#outs 1 1 1 1 2 2 2 t f t f t f t f f f t f f f t f f f f f t f f f f f f f f f 150 - -#step 468 -#outs 2 1 1 2 2 2 2 f f t f t f f f t f t f t f f f t f t f f f f f t f f f f t 151 - -#step 469 -#outs 2 2 2 2 2 3 2 t f t f t f t f t f f f t f f f f f t f t f t f f f t f f f 151 - -#step 470 -#outs 2 2 3 3 3 3 3 t f t f f f t f t f t f f f t f t f f f f f f f f f f f f t 152 - -#step 471 -#outs 3 3 3 3 3 3 3 t f t f t f t f t f t f t f t f t f t f t f t f f f f f f f 152 - -#step 472 -#outs 4 4 4 4 4 3 3 f f t f t f t f f f t f t f f f f f t f f f f f f f t f f f 152 - -#step 473 -#outs 4 4 5 4 4 3 4 t f t f f f t f f f t f f f f f f f f f f f f f t f f f f f 152 - -#step 474 -#outs 4 4 5 4 4 4 4 t f t f f f t f t f t f t f f f t f f f f f t f f f f f f t 153 - -#step 475 -#outs 4 5 5 4 5 4 4 t f f f f f t f f f t f t f f f f f f f t f f f t f t f f f 153 - -#step 476 -#outs 4 5 5 5 5 5 5 t f f f t f t f t f t f f f t f f f t f f f f f t f f f f f 153 - -#step 477 -#outs 5 5 6 5 5 6 5 t f t f f f t f t f f f t f t f t f f f f f t f f f t f f t 154 - -#step 478 -#outs 6 6 6 5 6 6 6 t f t f f f t f f f t f t f f f f f f f t f f f f f f f f f 154 - -#step 479 -#outs 6 6 6 6 6 6 6 t f t f t f t f t f t f t f t f f f f f f f t f t f f f f t 155 - -#step 480 -#outs 7 6 6 6 7 7 6 f f t f t f t f f f f f t f f f f f f f t f f f f f f f f f 155 - -#step 481 -#outs 7 6 6 7 7 7 6 f f t f t f f f t f f f t f f f t f f f f f t f f f f f f f 155 - -#step 482 -#outs 7 7 6 7 8 7 6 f f f f t f f f f f f f t f f f f f t f f f f f f f f f f f 155 - -#step 483 -#outs 7 7 7 7 8 7 6 f f t f t f t f f f f f t f f f f f t f t f f f f f f f f f 155 - -#step 484 -#outs 7 7 8 8 8 7 6 f f t f f f t f f f f f t f f f f f f f f f f f f f t f f f 155 - -#step 485 -#outs 7 7 8 8 8 7 7 t f t f f f t f f f t f t f t f t f f f f f f f f f f f f t 156 - -#step 486 -#outs 8 8 8 8 8 7 7 f f t f t f t f f f t f t f f f t f t f f f f f f f t f f f 156 - -#step 487 -#outs 8 9 9 8 8 7 8 t f f f f f t f f f t f f f t f f f f f f f f f f f f f f f 156 - -#step 488 -#outs 9 9 9 8 8 7 8 f f t f f f t f f f t f f f f f f f f f f f f f t f f f f f 156 - -#step 489 -#outs 9 9 9 8 8 8 8 f f t f f f t f t f t f t f f f f f f f t f f f f f f f f f 156 - -#step 490 -#outs 9 9 9 9 8 8 8 f f t f t f f f t f t f t f f f t f f f f f f f t f t f f t 157 - -#step 491 -#outs 9 10 9 9 8 9 9 t f f f t f f f t f f f t f t f f f f f f f f f f f f f f f 157 - -#step 492 -#outs 10 10 9 9 8 9 9 f f f f t f f f t f f f t f f f f f f f f f t f f f f f f f 157 - -#step 493 -#outs 10 10 9 9 9 9 9 f f f f t f t f t f t f t f f f f f t f f f f f t f f f f f 157 - -#step 494 -#outs 10 10 10 9 9 10 9 f f t f f f t f t f f f t f f f t f f f f f t f f f f f f t 158 - -#step 495 -#outs 10 11 10 9 10 10 9 f f f f f f t f f f f f t f f f f f f f t f f f f f t f f f 158 - -#step 496 -#outs 10 11 10 10 10 10 10 t f f f t f t f t f t f t f t f f f f f t f f f t f t f f t 159 - -#step 497 -#outs 11 11 10 11 10 11 11 t f f f t f f f t f f f t f f f f f t f f f f f f f t f f f 159 - -#step 498 -#outs 11 11 11 11 10 11 12 t f t f t f f f t f f f f f f f t f f f f f t f f f f f f f 159 - -#step 499 -#outs 11 12 11 11 11 11 12 t f f f t f t f t f t f f f f f f f t f t f t f f f f f f t 160 - -#step 500 -#outs 11 12 12 12 12 11 12 t f f f t f t f f f t f f f f f f f t f t f f f t f f f f f 160 -#q +#quit diff --git a/test/async-unison/state.ml b/test/async-unison/state.ml index 288d139aee9fb47f312408f2b53a10cf47eb2fef..fd42605e5eaea7e26ad632320a03f29add9db095 100644 --- a/test/async-unison/state.ml +++ b/test/async-unison/state.ml @@ -1,9 +1,13 @@ -type t = int +type t = int let to_string = (fun s -> Printf.sprintf "c=%i" s) -let of_string = Some int_of_string let copy x = x let actions = ["I(p)"; "R(p)"] -let potential = None -let legitimate = None -let fault = None + +let (of_string: (string -> t) option) = + Some (fun s -> + try + Scanf.sscanf s "c=%i" + (fun c -> c) + with _ -> assert false + ) diff --git a/test/st-KK06-algo1/st_KK06_algo1_oracle.lus b/test/st-KK06-algo1/st_KK06_algo1_oracle.lus index f84fd9c3e3c51387c6bbbeb9aa3bc595e7c8de95..795154eebd4a96f766c9ab25cceff709db6c1767 100644 --- a/test/st-KK06-algo1/st_KK06_algo1_oracle.lus +++ b/test/st-KK06-algo1/st_KK06_algo1_oracle.lus @@ -3,11 +3,12 @@ include "../lustre/utils.lus" type state = int; node st_KK06_algo1_oracle<<const an:int; const pn:int>> -(legitimate:bool; Enab,Acti:bool^an^pn; Config: int^pn;round:bool; round_nb:int) returns (ok:bool); +(legitimate:bool; potential:real; Enab,Acti:bool^an^pn; Config: int^pn;round:bool; round_nb:int) +returns (ok:bool); var moves : int; let --- Theorem 2. Algorithm 1 stabilizes in O(n diam(G)) moves. +-- Theorem 2. Algorithm 1 stabilizes in O(n diam(G)) moves. moves = count_move<<an,pn>>(Acti); ok = moves <= card * diameter ; -tel \ No newline at end of file +tel