á ×ÏÔ, ËÁËÉÅ ÉÔÏÇÉ ÐÏÌÕÞÉÌÉÓØ Õ ÍÅÎÑ...
Greg Belenky
greg на webzavod.ru
Пт Сен 26 00:13:11 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