á ×ÏÔ, ËÁËÉÅ ÉÔÏÇÉ

Greg Belenky greg на webzavod.ru
Сб Сен 27 18:51:57 CDT 2003


Текст идентичный. Присланный Данилом. Для чичтоты эксперимента возвращается
функцией, чтобы тестируемые не могли на него повлиять. Ширина - 50 символов.

Benchmark: timing 5000 iterations of eugene, greg, hrg, lavei, marchenko...
    eugene:  6 wallclock secs ( 5.65 usr +  0.04 sys =  5.69 CPU) @ 878.73/s
(n=5000)
      greg:  6 wallclock secs ( 6.22 usr +  0.00 sys =  6.22 CPU) @ 803.86/s
(n=5000)
       hrg:  2 wallclock secs ( 1.54 usr +  0.00 sys =  1.54 CPU) @
3246.75/s (n=5000)
     lavei:  1 wallclock secs ( 1.53 usr +  0.01 sys =  1.54 CPU) @
3246.75/s (n=5000)
 marchenko: 11 wallclock secs (10.74 usr +  0.03 sys = 10.77 CPU) @ 464.25/s
(n=5000)
            Rate marchenko      greg    eugene       hrg     lavei
marchenko  464/s        --      -42%      -47%      -86%      -86%
greg       804/s       73%        --       -9%      -75%      -75%
eugene     879/s       89%        9%        --      -73%      -73%
hrg       3247/s      599%      304%      269%        --       -0%
lavei     3247/s      599%      304%      269%        0%        --

А теперь посмотрим, что же на самом деле выдают наши алгоритмы...
(следующие 2 строки я нарисовал прям в постинге, чтобы можно было оценить
попадание в 50-символьную границу...

        10        20        30        40        50
123456789|123456789|123456789|123456789|123456789|
--------------------------------------------------

lavei---------------------------------------------
     A simple, easy to remember system for encoding
    integer amounts can be veryuseful. For example,
  dealers at flea markets put the information about
    an itemon a card that they let potential buyers
 see. They find it advantageous toencode the amount
    they originally paid for the item on the card.A
 good systemis to use a substitution code, in which
       each digit is encoded by a letter. Aneasy to
     remember 10-letter word or phrase, the key, is
   chosen. Every '1' in thevalue is replaced by the
  first letter of the key, every '2' is replaced by
  thesecond letter of the key, and so on. Every '0'
  is replaced by the last letter ofthe key. Letters
      that do not appear in the key can be inserted
 anywhere withoutaffecting the value represented by
    the code.. This helps to make the resultingcode
          much harder to break (without knowing the
    key).Create a class Substitutethat contains the
  method getValue that is given the Strings key and
          code asinput and that returns the decoded
hrg-----------------------------------------------
    A simple, easy to remember system for encoding
                                          integer
                               amounts can be very
  useful. For example, dealers at flea markets put
                                              the
                         information about an item
on a card that they let potential buyers see. They
                                          find it
                                   advantageous to
    encode the amount they originally paid for the
                                      item on the
                                             card.
                                     A good system
is to use a substitution code, in which each digit
                                               is
                           encoded by a letter. An
    easy to remember 10-letter word or phrase, the
                                          key, is
                          chosen. Every '1' in the
 value is replaced by the first letter of the key,
                                            every
                            '2' is replaced by the
 second letter of the key, and so on. Every '0' is
                                         replaced
                             by the last letter of
the key. Letters that do not appear in the key can
                                               be
                         inserted anywhere without
affecting the value represented by the code.. This
                                            helps
                             to make the resulting
   code much harder to break (without knowing the
                                             key).
                         Create a class Substitute
   that contains the method getValue that is given
                                              the
                           Strings key and code as
         input and that returns the decoded value.

greg----------------------------------------------
A  simple,  easy  to  remember system for encoding
integer  amounts  can be very useful. For example,
dealers  at flea markets put the information about
an  item  on a card that they let potential buyers
see.  They  find  it  advantageous  to  encode the
amount  they  originally  paid for the item on the
card. A good system is to use a substitution code,
in  which  each  digit  is encoded by a letter. An
easy  to  remember  10-letter  word or phrase, the
key, is chosen. Every '1' in the value is replaced
by  the  first  letter  of  the  key, every '2' is
replaced  by  the second letter of the key, and so
on.  Every  '0'  is replaced by the last letter of
the key. Letters that do not appear in the key can
be  inserted  anywhere without affecting the value
represented  by  the code.. This helps to make the
resulting  code  much  harder  to  break  (without
knowing  the  key). Create a class Substitute that
contains  the  method  getValue  that is given the
Strings key and code as input and that returns the
decoded value.
eugene--------------------------------------------
A  simple,  easy  to  remember  system for encoding
integer  amounts  can  be very useful. For example,
dealers  at  flea markets put the information about
an  item  on  a card that they let potential buyers
see.  They  find  it  advantageous  to  encode  the
amount  they  originally  paid  for the item on the
card.  A good system is to use a substitution code,
in  which  each  digit  is  encoded by a letter. An
easy  to  remember  10-letter  word  or phrase, the
key,  is chosen. Every '1' in the value is replaced
by  the  first  letter  of  the  key,  every '2' is
replaced  by  the  second letter of the key, and so
on.  Every  '0'  is  replaced by the last letter of
the  key. Letters that do not appear in the key can
be  inserted  anywhere  without affecting the value
represented  by  the  code.. This helps to make the
resulting   code  much  harder  to  break  (without
knowing  the  key).  Create a class Substitute that
contains  the  method  getValue  that  is given the
Strings  key and code as input and that returns the
decoded                                       value
marchenko-----------------------------------------
    Asimple,easytoremembersystemforencodinginteger
   amountscanbeveryuseful.Forexample,dealersatflea
                                     marketsputthe
 informationaboutanitemonacardthattheyletpotential
                              buyerssee.Theyfindit
   advantageoustoencodetheamounttheyoriginallypaid
                                   fortheitemonthe
  card.Agoodsystemistouseasubstitutioncode,inwhich
                                       eachdigitis
  encodedbyaletter.Aneasytoremember10-letterwordor
                                  phrase,thekey,is
     chosen.Every'1'inthevalueisreplacedbythefirst
                              letterofthekey,every
   '2'isreplacedbythesecondletterofthekey,andsoon.
                                Every'0'isreplaced
  bythelastletterofthekey.Lettersthatdonotappearin
                                       thekeycanbe
          insertedanywherewithoutaffectingthevalue
                   representedbythecode..Thishelps
   tomaketheresultingcodemuchhardertobreak(without
                                        knowingthe
  key).CreateaclassSubstitutethatcontainsthemethod
                            getValuethatisgiventhe
  Stringskeyandcodeasinputandthatreturnsthedecoded
                                            value.
--------------------------------------------------


begin 666 wrap.pl
M=7-E('-T<FEC=#L*=7-E($)E;F-H;6%R:R G8VUP=&AE<V4G.PH*<W5B('-T
M<B![(')E='5R;B B02!S:6UP;&4L(&5A<WD@=&\@<F5M96UB97(@<WES=&5M
M(&9O<B!E;F-O9&EN9R!I;G1E9V5R( IA;6]U;G1S(&-A;B!B92!V97)Y"G5S
M969U;"X на 1F]R(&5X86UP;&4L(&1E86QE<G, на 870@9FQE82!M87)K971S('!U
M="!T:&4@"FEN9F]R;6%T:6]N(&%B;W5T(&%N(&ET96T*;VX на 82!C87)D('1H
M870@=&AE>2!L970@<&]T96YT:6%L(&)U>65R<R!S964N(%1H97D на 9FEN9"!I
M=" *861V86YT86=E;W5S('1O"F5N8V]D92!T:&4 на 86UO=6YT('1H97D@;W)I
M9VEN86QL>2!P86ED(&9O<B!T:&4@:71E;2!O;B!T:&4@"F-A<F0N7&Y!(&=O
M;V0@<WES=&5M"FES('1O('5S92!A('-U8G-T:71U=&EO;B!C;V1E+"!I;B!W
M:&EC:"!E86-H(&1I9VET(&ES( IE;F-O9&5D(&)Y(&$@;&5T=&5R+B!!;@IE
M87-Y('1O(')E;65M8F5R(#$P+6QE='1E<B!W;W)D(&]R('!H<F%S92P@=&AE
M(&ME>2P@:7,@"F-H;W-E;BX на 179E<GD@)S$G(&EN('1H90IV86QU92!I<R!R
M97!L86-E9"!B>2!T:&4 на 9FER<W0@;&5T=&5R(&]F('1H92!K97DL(&5V97)Y
M( HG,B<@:7,@<F5P;&%C960 на 8GD@=&AE"G-E8V]N9"!L971T97(@;V8@=&AE
M(&ME>2P на 86YD('-O(&]N+B!%=F5R>2 G,"<@:7,@<F5P;&%C960@"F)Y('1H
M92!L87-T(&QE='1E<B!O9 на IT:&4@:V5Y+B!,971T97)S('1H870 на 9&\@;F]T
M(&%P<&5A<B!I;B!T:&4@:V5Y(&-A;B!B92 *:6YS97)T960 на 86YY=VAE<F4@
M=VET:&]U= IA9F9E8W1I;F<@=&AE('9A;'5E(')E<')E<V5N=&5D(&)Y('1H
M92!C;V1E+BX на 5&AI<R!H96QP<R *=&\@;6%K92!T:&4@<F5S=6QT:6YG"F-O
M9&4@;75C:"!H87)D97(@=&\@8G)E86L@*'=I=&AO=70@:VYO=VEN9R!T:&4@
M"FME>2DN7&Y#<F5A=&4 на 82!C;&%S<R!3=6)S=&ET=71E"G1H870 на 8V]N=&%I
M;G,@=&AE(&UE=&AO9"!G971686QU92!T:&%T(&ES(&=I=F5N('1H92 *4W1R
M:6YG<R!K97D на 86YD(&-O9&4 на 87,*:6YP=70 на 86YD('1H870@<F5T=7)N<R!T
M:&4 на 9&5C;V1E9"!V86QU92XB('T*"G-U8B!L879E:2!["B @;7D@*"1P;VEN
M="P@)'1E>'0I(#T на 0%\["B @;7D на 0')E<W5L=" ]("@I.PH@("1T97AT/7X@
M<R]<;B\O9SL@"B @9F]R("@D=&5X=" ]?B!M+R на N>S$L)'!O:6YT?2D на +V<I
M('L*(" @(&UY("1S='(@/2 D7SL*(" @(&9O<B H;&5N9W1H*"1S='(I+BXD
M<&]I;G0I('L*(" @(" @)'-T<B ]("(@(BXD<W1R.PH@(" @?0H@(" @<'5S
M:"! <F5S=6QT+" D<W1R.PH@('T*("!R971U<FX@:F]I;B B7&XB+"! <F5S
M=6QT.PI]"@IS=6(@:')G('L*("!M>2 H)'=I9'1H+" D=&5X="D@/2! 7SL*
M("!M>2 D9F]R;6%T7W-T<CTG7B<N)SXG>" H)'=I9'1H+3$I+B)^?EQN(CL*
M("!M>2 D9&5L7V)E9F]R93UQ<GL@<R]>7',K+R]].PH@(&UY("1D96Q?869T
M97(@/7%R>R!S+UQS*R0O+WT["B @;7D@)&)U9CL*("!F;W)E86-H(&UY("1T
M97AT("AS<&QI=" H+UQN+RPD=&5X="DI>PH@("!L;V-A;" D7D$["B @("1T
M97AT/7XD9&5L7V)E9F]R93L*(" @)'1E>'0]?B1D96Q?869T97(["B @(&9O
M<FUL:6YE("@D9F]R;6%T7W-T<BPD=&5X="D["B @("1B=68N/21>03L*("!]
M"B @<F5T=7)N("1B=68["GT*"G-U8B!G<F5G('L*("!M>2 H)'=I9'1H+" D
M<W1R*2 ]($!?.PH@(&UY("1I(#T@,#L*("!M>2! =W)A<" ]("@I.PH@(&9O
M<F5A8V@@*'-P;&ET("]<<RLO+" D<W1R*2!["B @("!U;FQE<W,@*&QE;F=T
M:"@@)'=R87!;)&E=("D@*R!L96YG=&@H*2 K(#$@/#T@)'=I9'1H*2!["B @
M(" @('=H:6QE("AL96YG=&@H("1W<F%P6R1I72 I(#P@)'=I9'1H*2!["B @
M(" @(" @:68@*"1W<F%P6R1I72 ]?B O*%Q3*2A<<RDO<V<I('L*(" @(" @
M(" @('-U8G-T<B на D=W)A<%LD:5TL("AM>2 D<" ]('!O<R@@)'=R87!;)&E=
M("DI+3$L(#$I(#T@)#)X,CL*(" @(" @(" @('!O<R@@)'=R87!;)&E=("D@
M/2 D<#L*(" @(" @("!](&5L<V4@>PH@(" @(" @(" @<&]S*" D=W)A<%LD
M:5T@*2 ](# ["B @(" @(" @?0H@(" @("!]("1I*RL["B @("!]("1W<F%P
M6R1I72 N/2 H)'=R87!;)&E=("8F("<@)RD на +B D7SL*("!](')E='5R;B!J
M;VEN(")<;B(L($!W<F%P.PI]"@IS=6(@975G96YE('L*;7D@*"1P;VEN="P@
M)'1E>'0I(#T на 0%\["FUY($!R97-U;'0@/2 H*3L*)'1E>'0@/7X@<R]<;B\@
M+V<["B1T97AT(#U^(',O7',K+R O9SL*=VAI;&4@*" D=&5X=" ]?B!S+UXH
M+GLQ+"1P;VEN='TI6R!\+ETH+BHI)"\D,B\@*0I["B @("!M>2 H0'=O<F1S
M+"1L96YG=&@I.PH@(" @;7D@)')E;6%I;F1E<B ]("1P;VEN=" M("@@;&5N
M9W1H*"0Q*2 I.PH@(" @)&QE;F=T:" ]($!W;W)D<R ]('-P;&ET("@G("<L
M("0Q*3L*(" @(&UY("1I<VED96YU;6)E<B ](# ["B @("!F;W(@*# @+BX@
M)')E;6%I;F1E<BD*(" @('L*(" @(" @(" D=V]R9'-;)&ES:61E;G5M8F5R
M*RM=("X]("<@)SL*(" @(" @(" D:7-I9&5N=6UB97(@/2 P(&EF("@D:7-I
M9&5N=6UB97(@/3T@)"-W;W)D<RD["B @("!]"B @("!P=7-H($!R97-U;'0L
M(&IO:6X@*"<@)RQ =V]R9',I.PI]"B @<F5T=7)N(&IO:6X@(EQN(BP на 0')E
M<W5L=#L*?0H*<W5B(&UA<F-H96YK;R!["B @;7D@*"1L+" D=&5X="D@/2! 
M7SL*("!M>2! <F5S=6QT(#T@*"D["FUY($!W;W)D<R ]('-P;&ET*"\@?%QN
M+V<L("1T97AT*3L@"F9O<B H;7D@)&D],#LD:3P])"-W;W)D<SLD:2LK*2![
M"B @("!M>2 D<W1R:6YG(#T@)'=O<F1S6R1I73L*(" @('=H:6QE("AL96YG
M=&@H)'-T<FEN9RD\)&PI('L*(" @(" @(" D:2LK.PH@(" @(" @(&EF("@A
M)'=O<F1S6R1I72D@>R D<W1R:6YG(#T@)F%D9%]D;W0H)'-T<FEN9RP@)&PI
M.R!]"B @(" @(" @:68@*"AL96YG=&@H)'-T<FEN9RD@*R!L96YG=&@H(B B
M("X@)'=O<F1S6R1I72DI/#TD;"D@>R D<W1R:6YG+CTB)'=O<F1S6R1I72([
M('T на 96QS92![("1I+2T[("1S=')I;F<@/2 F861D7V1O="@D<W1R:6YG+" D
M;"D[(&QA<W0[('T*(" @('T*(" @('!U<V@@0')E<W5L="P@)'-T<FEN9SL*
M?0IR971U<FX@:F]I;B B7&XB+"! <F5S=6QT.PI]"G-U8B!A9&1?9&]T('L@
M;7D@*"1S=')I;F<L("1L*2 ]($!?.R!W:&EL92 H;&5N9W1H("@D<W1R:6YG
M*2 \("1L*2![("1S=')I;F<@/2 B("1S=')I;F<B.R!](')E='5R;B D<W1R
M:6YG.R!]"@IC;7!T:&5S92 на U,# P+"!["B @)VQA=F5I)R ]/B!S=6(@>R!L
M879E:2@@-3 L('-T<B I('TL"B @)VAR9R<@/3X@<W5B('L@:')G*" U,"P@
M<W1R("D@?2P*(" G9W)E9R<@/3X@<W5B('L на 9W)E9R@@-3 L('-T<B I('TL
M"B @)V5U9V5N92<@/3X@<W5B('L на 975G96YE*" U,"P@<W1R("D@?2P*(" G
M;6%R8VAE;FMO)R ]/B!S=6(@>R!M87)C:&5N:V\H(#4P+"!S='(@*2!]+ I]
M*3L*"G!R:6YT(")<;EQN7&XB+" G+2<@>" U,"P@(EQN(CL*"G!R:6YT(")<
M;FQA=F5I(B N("<M)R!X("@U,"UL96YG=&@H)VQA=F5I)RDI+" B7&XB.PIP
M<FEN="!L879E:2 на U,"P@<W1R*3L*"G!R:6YT(")<;FAR9R(@+B G+2<@>" H
M-3 M;&5N9W1H*"=H<F<G*2DL(")<;B(["G!R:6YT(&AR9R на U,"P@<W1R*3L*
M"G!R:6YT(")<;F=R96<B("X@)RTG('@@*#4P+6QE;F=T:"@G9W)E9R<I*2P@
M(EQN(CL*<')I;G0 на 9W)E9R на U,"P@<W1R*3L*"G!R:6YT(")<;F5U9V5N92(@
M+B G+2<@>" H-3 M;&5N9W1H*"=E=6=E;F4G*2DL(")<;B(["G!R:6YT(&5U
M9V5N92 на U,"P@<W1R*3L*"G!R:6YT(")<;FUA<F-H96YK;R(@+B G+2<@>" H
M-3 M;&5N9W1H*"=M87)C:&5N:V\G*2DL(")<;B(["G!R:6YT(&UA<F-H96YK
M;R на U,"P@<W1R*3L*"G!R:6YT(")<;B(@+B G+2<@>" U,"P@(EQN(CL*"E]?
&14Y$7U\*
`
end

begin 666 results.dat
M0F5N8VAM87)K.B!T:6UI;F<@-3 P,"!I=&5R871I;VYS(&]F(&5U9V5N92P@
M9W)E9RP@:')G+"!L879E:2P@;6%R8VAE;FMO+BXN"B @("!E=6=E;F4Z(" V
M('=A;&QC;&]C:R!S96-S("@@-2XV-2!U<W(@*R @,"XP-"!S>7,@/2 @-2XV
M.2!#4%4I($ @.#<X+C<S+W,@*&X]-3 P,"D*(" @(" @9W)E9SH@(#8@=V%L
M;&-L;V-K('-E8W,@*" V+C(R('5S<B K(" P+C P('-Y<R ](" V+C(R($-0
M52D на 0" X,#,N.#8O<R H;CTU,# P*0H@(" @(" @:')G.B @,B!W86QL8VQO
M8VL@<V5C<R H(#$N-30@=7-R("L@(# N,# @<WES(#T@(#$N-30 на 0U!5*2! 
M(#,R-#8N-S4O<R H;CTU,# P*0H@(" @(&QA=F5I.B @,2!W86QL8VQO8VL@
M<V5C<R H(#$N-3,@=7-R("L@(# N,#$@<WES(#T@(#$N-30 на 0U!5*2! (#,R
M-#8N-S4O<R H;CTU,# P*0H@;6%R8VAE;FMO.B Q,2!W86QL8VQO8VL@<V5C
M<R H,3 N-S0@=7-R("L@(# N,#,@<WES(#T@,3 N-S<@0U!5*2! (#0V-"XR
M-2]S("AN/34P,# I"B @(" @(" @(" @(%)A=&4@;6%R8VAE;FMO(" @(" @
M9W)E9R @("!E=6=E;F4@(" @(" @:')G(" @("!L879E:0IM87)C:&5N:V\@
M(#0V-"]S(" @(" @(" M+2 @(" @("TT,B4@(" @(" M-#<E(" @(" @+3 на V
M)2 @(" @("TX-B4*9W)E9R @(" @(" X,#0O<R @(" @(" W,R4@(" @(" @
M("TM(" @(" @("TY)2 @(" @("TW-24@(" @(" M-S4E"F5U9V5N92 @(" @
M.#<Y+W,@(" @(" @.#DE(" @(" @(" Y)2 @(" @(" @+2T@(" @(" M-S,E
M(" @(" @+3<S)0IH<F<@(" @(" @,S(T-R]S(" @(" @-3DY)2 @(" @(#,P
M-"4@(" @(" R-CDE(" @(" @(" M+2 @(" @(" M,"4*;&%V96D@(" @(#,R
M-#<O<R @(" @(#4Y.24@(" @(" S,#0E(" @(" @,C8Y)2 @(" @(" @,"4@
M(" @(" @("TM"@H*"BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM"@IL879E:2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0H@(" @($$@<VEM<&QE+"!E87-Y
M('1O(')E;65M8F5R('-Y<W1E;2!F;W(@96YC;V1I;F<*(" @(&EN=&5G97(@
M86UO=6YT<R!C86X на 8F4@=F5R>75S969U;"X на 1F]R(&5X86UP;&4L"B @9&5A
M;&5R<R!A="!F;&5A(&UA<FME=',@<'5T('1H92!I;F9O<FUA=&EO;B!A8F]U
M= H@(" @86X@:71E;6]N(&$@8V%R9"!T:&%T('1H97D@;&5T('!O=&5N=&EA
M;"!B=7EE<G,*('-E92X на 5&AE>2!F:6YD(&ET(&%D=F%N=&%G96]U<R!T;V5N
M8V]D92!T:&4 на 86UO=6YT"B @("!T:&5Y(&]R:6=I;F%L;'D@<&%I9"!F;W(@
M=&AE(&ET96T@;VX@=&AE(&-A<F0N00H на 9V]O9"!S>7-T96UI<R!T;R!U<V4@
M82!S=6)S=&ET=71I;VX на 8V]D92P@:6X@=VAI8V@*(" @(" @(&5A8V@@9&EG
M:70@:7, на 96YC;V1E9"!B>2!A(&QE='1E<BX на 06YE87-Y('1O"B @(" @<F5M
M96UB97(@,3 M;&5T=&5R('=O<F0@;W(@<&AR87-E+"!T:&4@:V5Y+"!I<PH@
M("!C:&]S96XN($5V97)Y("<Q)R!I;B!T:&5V86QU92!I<R!R97!L86-E9"!B
M>2!T:&4*("!F:7)S="!L971T97(@;V8@=&AE(&ME>2P на 979E<GD@)S(G(&ES
M(')E<&QA8V5D(&)Y"B @=&AE<V5C;VYD(&QE='1E<B!O9B!T:&4@:V5Y+"!A
M;F0@<V\@;VXN($5V97)Y("<P)PH@(&ES(')E<&QA8V5D(&)Y('1H92!L87-T
M(&QE='1E<B!O9G1H92!K97DN($QE='1E<G,*(" @(" @=&AA="!D;R!N;W0@
M87!P96%R(&EN('1H92!K97D на 8V%N(&)E(&EN<V5R=&5D"B!A;GEW:&5R92!W
M:71H;W5T869F96-T:6YG('1H92!V86QU92!R97!R97-E;G1E9"!B>0H@(" @
M=&AE(&-O9&4N+B!4:&ES(&AE;'!S('1O(&UA:V4@=&AE(')E<W5L=&EN9V-O
M9&4*(" @(" @(" @(&UU8V@@:&%R9&5R('1O(&)R96%K("AW:71H;W5T(&MN
M;W=I;F<@=&AE"B @("!K97DI+D-R96%T92!A(&-L87-S(%-U8G-T:71U=&5T
M:&%T(&-O;G1A:6YS('1H90H@(&UE=&AO9"!G971686QU92!T:&%T(&ES(&=I
M=F5N('1H92!3=')I;F=S(&ME>2!A;F0*(" @(" @(" @(&-O9&4 на 87-I;G!U
M="!A;F0@=&AA="!R971U<FYS('1H92!D96-O9&5D"FAR9RTM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM"B @("!!('-I
M;7!L92P на 96%S>2!T;R!R96UE;6)E<B!S>7-T96T на 9F]R(&5N8V]D:6YG"B @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(&EN=&5G
M97(*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(&%M;W5N=', на 8V%N
M(&)E('9E<GD*("!U<V5F=6PN($9O<B!E>&%M<&QE+"!D96%L97)S(&%T(&9L
M96$@;6%R:V5T<R!P=70*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @('1H90H@(" @(" @(" @(" @(" @(" @(" @(" @
M:6YF;W)M871I;VX на 86)O=70 на 86X@:71E;0IO;B!A(&-A<F0@=&AA="!T:&5Y
M(&QE="!P;W1E;G1I86P на 8G5Y97)S('-E92X на 5&AE>0H@(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @("!F:6YD(&ET"B @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @861V86YT86=E;W5S('1O"B @
M("!E;F-O9&4@=&AE(&%M;W5N="!T:&5Y(&]R:6=I;F%L;'D@<&%I9"!F;W(@
M=&AE"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @:71E
M;2!O;B!T:&4*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @8V%R9"X*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @($$@9V]O9"!S>7-T96T*:7,@=&\@=7-E(&$@<W5B<W1I='5T:6]N
M(&-O9&4L(&EN('=H:6-H(&5A8V@@9&EG:70*(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @("!I<PH@(" @(" @(" @(" @
M(" @(" @(" @(" @("!E;F-O9&5D(&)Y(&$@;&5T=&5R+B!!;@H@(" @96%S
M>2!T;R!R96UE;6)E<B Q,"UL971T97(@=V]R9"!O<B!P:')A<V4L('1H90H@
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("!K97DL
M(&ES"B @(" @(" @(" @(" @(" @(" @(" @(" @8VAO<V5N+B!%=F5R>2 G
M,2<@:6X@=&AE"B!V86QU92!I<R!R97!L86-E9"!B>2!T:&4 на 9FER<W0@;&5T
M=&5R(&]F('1H92!K97DL"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @979E<GD*(" @(" @(" @(" @(" @(" @(" @(" @
M(" @("<R)R!I<R!R97!L86-E9"!B>2!T:&4*('-E8V]N9"!L971T97(@;V8@
M=&AE(&ME>2P на 86YD('-O(&]N+B!%=F5R>2 G,"<@:7,*(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @("!R97!L86-E9 H@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(&)Y('1H92!L87-T(&QE='1E<B!O9 на IT
M:&4@:V5Y+B!,971T97)S('1H870 на 9&\@;F]T(&%P<&5A<B!I;B!T:&4@:V5Y
M(&-A;@H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(&)E"B @(" @(" @(" @(" @(" @(" @(" @("!I;G-E<G1E9"!A
M;GEW:&5R92!W:71H;W5T"F%F9F5C=&EN9R!T:&4@=F%L=64@<F5P<F5S96YT
M960 на 8GD@=&AE(&-O9&4N+B!4:&ES"B @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @:&5L<',*(" @(" @(" @(" @(" @(" @
M(" @(" @(" @("!T;R!M86ME('1H92!R97-U;'1I;F<*(" @8V]D92!M=6-H
M(&AA<F1E<B!T;R!B<F5A:R H=VET:&]U="!K;F]W:6YG('1H90H@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("!K97DI+ на H@
M(" @(" @(" @(" @(" @(" @(" @(" @0W)E871E(&$@8VQA<W, на 4W5B<W1I
M='5T90H@("!T:&%T(&-O;G1A:6YS('1H92!M971H;V0 на 9V5T5F%L=64@=&AA
M="!I<R!G:79E;@H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @=&AE"B @(" @(" @(" @(" @(" @(" @(" @(" @(%-T
M<FEN9W,@:V5Y(&%N9"!C;V1E(&%S"B @(" @(" @(&EN<'5T(&%N9"!T:&%T
M(')E='5R;G,@=&AE(&1E8V]D960@=F%L=64N"@IG<F5G+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0I!("!S:6UP;&4L
M("!E87-Y("!T;R @<F5M96UB97(@<WES=&5M(&9O<B!E;F-O9&EN9PII;G1E
M9V5R("!A;6]U;G1S("!C86X на 8F4@=F5R>2!U<V5F=6PN($9O<B!E>&%M<&QE
M+ ID96%L97)S("!A="!F;&5A(&UA<FME=',@<'5T('1H92!I;F9O<FUA=&EO
M;B!A8F]U= IA;B @:71E;2 @;VX на 82!C87)D('1H870@=&AE>2!L970@<&]T
M96YT:6%L(&)U>65R<PIS964N("!4:&5Y("!F:6YD("!I=" @861V86YT86=E
M;W5S("!T;R @96YC;V1E('1H90IA;6]U;G0@('1H97D@(&]R:6=I;F%L;'D@
M('!A:60 на 9F]R('1H92!I=&5M(&]N('1H90IC87)D+B!!(&=O;V0@<WES=&5M
M(&ES('1O('5S92!A('-U8G-T:71U=&EO;B!C;V1E+ II;B @=VAI8V@@(&5A
M8V@@(&1I9VET("!I<R!E;F-O9&5D(&)Y(&$@;&5T=&5R+B!!;@IE87-Y("!T
M;R @<F5M96UB97(@(#$P+6QE='1E<B @=V]R9"!O<B!P:')A<V4L('1H90IK
M97DL(&ES(&-H;W-E;BX на 179E<GD@)S$G(&EN('1H92!V86QU92!I<R!R97!L
M86-E9 IB>2 @=&AE("!F:7)S=" @;&5T=&5R("!O9B @=&AE("!K97DL(&5V
M97)Y("<R)R!I<PIR97!L86-E9" @8GD@('1H92!S96-O;F0@;&5T=&5R(&]F
M('1H92!K97DL(&%N9"!S;PIO;BX@($5V97)Y(" G,"<@(&ES(')E<&QA8V5D
M(&)Y('1H92!L87-T(&QE='1E<B!O9 на IT:&4@:V5Y+B!,971T97)S('1H870@
M9&\@;F]T(&%P<&5A<B!I;B!T:&4@:V5Y(&-A;@IB92 @:6YS97)T960@(&%N
M>7=H97)E('=I=&AO=70 на 869F96-T:6YG('1H92!V86QU90IR97!R97-E;G1E
M9" @8GD@('1H92!C;V1E+BX на 5&AI<R!H96QP<R!T;R!M86ME('1H90IR97-U
M;'1I;F<@(&-O9&4@(&UU8V@@(&AA<F1E<B @=&\@(&)R96%K(" H=VET:&]U
M= IK;F]W:6YG("!T:&4@(&ME>2DN($-R96%T92!A(&-L87-S(%-U8G-T:71U
M=&4@=&AA= IC;VYT86EN<R @=&AE("!M971H;V0@(&=E=%9A;'5E("!T:&%T
M(&ES(&=I=F5N('1H90I3=')I;F=S(&ME>2!A;F0 на 8V]D92!A<R!I;G!U="!A
M;F0@=&AA="!R971U<FYS('1H90ID96-O9&5D('9A;'5E+ на IE=6=E;F4M+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0I!("!S
M:6UP;&4L("!E87-Y("!T;R @<F5M96UB97(@('-Y<W1E;2!F;W(@96YC;V1I
M;F<*:6YT96=E<B @86UO=6YT<R @8V%N("!B92!V97)Y('5S969U;"X на 1F]R
M(&5X86UP;&4L"F1E86QE<G,@(&%T("!F;&5A(&UA<FME=',@<'5T('1H92!I
M;F9O<FUA=&EO;B!A8F]U= IA;B @:71E;2 @;VX@(&$@8V%R9"!T:&%T('1H
M97D@;&5T('!O=&5N=&EA;"!B=7EE<G,*<V5E+B @5&AE>2 @9FEN9" @:70@
M(&%D=F%N=&%G96]U<R @=&\@(&5N8V]D92 @=&AE"F%M;W5N=" @=&AE>2 @
M;W)I9VEN86QL>2 @<&%I9" @9F]R('1H92!I=&5M(&]N('1H90IC87)D+B @
M02!G;V]D('-Y<W1E;2!I<R!T;R!U<V4 на 82!S=6)S=&ET=71I;VX на 8V]D92P*
M:6X@('=H:6-H("!E86-H("!D:6=I=" @:7,@(&5N8V]D960 на 8GD@82!L971T
M97(N($%N"F5A<WD@('1O("!R96UE;6)E<B @,3 M;&5T=&5R("!W;W)D("!O
M<B!P:')A<V4L('1H90IK97DL("!I<R!C:&]S96XN($5V97)Y("<Q)R!I;B!T
M:&4@=F%L=64@:7,@<F5P;&%C960*8GD@('1H92 @9FER<W0@(&QE='1E<B @
M;V8@('1H92 @:V5Y+" @979E<GD@)S(G(&ES"G)E<&QA8V5D("!B>2 @=&AE
M("!S96-O;F0@;&5T=&5R(&]F('1H92!K97DL(&%N9"!S;PIO;BX@($5V97)Y
M(" G,"<@(&ES("!R97!L86-E9"!B>2!T:&4@;&%S="!L971T97(@;V8*=&AE
M("!K97DN($QE='1E<G,@=&AA="!D;R!N;W0 на 87!P96%R(&EN('1H92!K97D@
M8V%N"F)E("!I;G-E<G1E9" @86YY=VAE<F4@('=I=&AO=70 на 869F96-T:6YG
M('1H92!V86QU90IR97!R97-E;G1E9" @8GD@('1H92 @8V]D92XN(%1H:7,@
M:&5L<',@=&\@;6%K92!T:&4*<F5S=6QT:6YG(" @8V]D92 @;75C:" @:&%R
M9&5R("!T;R @8G)E86L@("AW:71H;W5T"FMN;W=I;F<@('1H92 @:V5Y*2X@
M($-R96%T92!A(&-L87-S(%-U8G-T:71U=&4@=&AA= IC;VYT86EN<R @=&AE
M("!M971H;V0@(&=E=%9A;'5E("!T:&%T("!I<R!G:79E;B!T:&4*4W1R:6YG
M<R @:V5Y(&%N9"!C;V1E(&%S(&EN<'5T(&%N9"!T:&%T(')E='5R;G,@=&AE
M"F1E8V]D960@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M("!V86QU90IM87)C:&5N:V\M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+0H@(" @07-I;7!L92QE87-Y=&]R96UE;6)E<G-Y<W1E
M;69O<F5N8V]D:6YG:6YT96=E<@H@("!A;6]U;G1S8V%N8F5V97)Y=7-E9G5L
M+D9O<F5X86UP;&4L9&5A;&5R<V%T9FQE80H@(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @;6%R:V5T<W!U='1H90H@:6YF;W)M871I;VYA
M8F]U=&%N:71E;6]N86-A<F1T:&%T=&AE>6QE='!O=&5N=&EA; H@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @("!B=7EE<G-S964N5&AE>69I;F1I= H@
M("!A9'9A;G1A9V5O=7-T;V5N8V]D971H96%M;W5N='1H97EO<FEG:6YA;&QY
M<&%I9 H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(&9O<G1H
M96ET96UO;G1H90H@(&-A<F0N06=O;V1S>7-T96UI<W1O=7-E87-U8G-T:71U
M=&EO;F-O9&4L:6YW:&EC: H@(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @("!E86-H9&EG:71I<PH@(&5N8V]D961B>6%L971T97(N06YE
M87-Y=&]R96UE;6)E<C$P+6QE='1E<G=O<F1O<@H@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @<&AR87-E+'1H96ME>2QI<PH@(" @(&-H;W-E
M;BY%=F5R>2<Q)VEN=&AE=F%L=65I<W)E<&QA8V5D8GET:&5F:7)S= H@(" @
M(" @(" @(" @(" @(" @(" @(" @(" @("!L971T97)O9G1H96ME>2QE=F5R
M>0H@(" G,B=I<W)E<&QA8V5D8GET:&5S96-O;F1L971T97)O9G1H96ME>2QA
M;F1S;V]N+ на H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @($5V97)Y
M)S G:7-R97!L86-E9 H@(&)Y=&AE;&%S=&QE='1E<F]F=&AE:V5Y+DQE='1E
M<G-T:&%T9&]N;W1A<'!E87)I;@H@(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @("!T:&5K97EC86YB90H@(" @(" @(" @:6YS97)T961A
M;GEW:&5R97=I=&AO=71A9F9E8W1I;F=T:&5V86QU90H@(" @(" @(" @(" @
M(" @(" @<F5P<F5S96YT961B>71H96-O9&4N+E1H:7-H96QP<PH@("!T;VUA
M:V5T:&5R97-U;'1I;F=C;V1E;75C:&AA<F1E<G1O8G)E86LH=VET:&]U= H@
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @:VYO=VEN
M9W1H90H@(&ME>2DN0W)E871E86-L87-S4W5B<W1I='5T971H871C;VYT86EN
M<W1H96UE=&AO9 H@(" @(" @(" @(" @(" @(" @(" @(" @(" @9V5T5F%L
M=65T:&%T:7-G:79E;G1H90H@(%-T<FEN9W-K97EA;F1C;V1E87-I;G!U=&%N
M9'1H871R971U<FYS=&AE9&5C;V1E9 H@(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @('9A;'5E+ на HM+2TM+2TM+2TM+2TM+2TM
C+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0H`
`
end




Подробная информация о списке рассылки Samara-pm