рд╕реНрдЯреИрдирдлреЛрд░реНрдб рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ Word64 -> рдкреВрд░реНрдгрд╛рдВрдХ рдкрддреНрд░рд╛рдЪрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдирд╛ рдФрд░ рдХрдИ рдорд┐рд▓рд┐рдпрди рдмрд╛рд░ рдПрдХ рддрддреНрд╡ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдФрд░ рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╕рдорд╛рдзрд╛рди рд╕реНрдкрд╖реНрдЯ рд╣реИ: рд╣реИрд╢ рдЯреЗрдмрд▓ред hoogle рдиреЗ Data.HashTable рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЖрдк рд╕рдм рдХреБрдЫ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
+ RTS -sstderr рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЭрдЯрдХрд╛ рд▓рдЧрд╛: рд▓рдЧрднрдЧ рдЖрдзрд╛ рд╕рдордп рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рд╡реНрдпрддреАрдд рд╣реБрдЖред
13,902,917,208 рдмрд╛рдЗрдЯреНрд╕ рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд
рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди 3,275,041,156 рдмрд╛рдЗрдЯреНрд╕ рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 26.69 s (40.10s рдмреАрддрд╛ рд╣реБрдЖ)
рдЬреАрд╕реА рд╕рдордп 27.84s (32.47 рд╕реЗрдХрдВрдб рдмреАрддрд╛)
% рдЬреАрд╕реА рд╕рдордп 51.1% (44.7% рдмреАрддрд╛ рд╣реБрдЖ)рд╣реАрдк рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдФрд░ рд╕рд╛рдореВрд╣рд┐рдХ рдорди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреАрд▓ рдиреЗ рд╕рдордЭрд╛рдпрд╛ рдХрд┐ рдЧрдгрдирд╛ рдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдвреЗрд░ рдореЗрдВ рд╣реИрд╢рдЯреЗрдмрд▓ рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдЯрд░рд▓реЗрдХреНрдЯ рдХрд░рдирд╛ рдЬреАрд╕реА рдХреЛ рдЕрдкрдЯреЗрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдВрддрд░рд┐рдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рддреЗ рдФрд░ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рд░рддрд╛ рд╣реИред рдордзреНрдпрд╡рд░реНрддреА рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реАрдбрд┐рдВрдЧ рдХреЛрдб рдХрд╛ рдЕрдиреБрдХреВрд▓рди рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ, рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, Data.HashTable рдХреЛ рд╣реИрд╢рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдПрдХ рдЯреНрд░рд┐рдкрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдмреЗрд╕рд┐рдХ, рдХреЛрдпрд▓ рдФрд░ рд▓рд┐рдирд┐рдпрд░ред рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдереЗ: рдмреБрдирд┐рдпрд╛рджреА рдФрд░ рдХреЛрдпрд▓ рдиреЗ рд╕рдордЧреНрд░ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдордп рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА, рдЬреАрд╕реА рдиреЗ 70% рд╕рдордп рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдореВрд▓ рдХреЛрдб рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдЬреАрд╕реА рдиреЗ рдмрд╛рдХреА рд╕рдордп рд▓рд┐рдпрд╛ред рдореЗрдореЛрд░реА рдХреЛ рдХрд╛рдлреА рдХрдо рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдмреЗрд╕рд┐рдХ:
рдвреЗрд░ рдореЗрдВ 12,781,006,960 рдмрд╛рдЗрдЯ рдЖрд╡рдВрдЯрд┐рдд
рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди 408,935,780 рдмрд╛рдЗрдЯреНрд╕ рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 15.00s (15.16 рд╕реЗрдХрдВрдб рдмреАрддрдиреЗ рдкрд░)
рдЬреАрд╕реА рдХрд╛ рд╕рдордп 43.29 (43.79 рд╕реЗ рдЕрдзрд┐рдХ)
% GC рд╕рдордп 74.3% (74.3% рдмреАрдд рдЪреБрдХрд╛)рдХреЛрдпрд▓:
11,611,257,712 рдмрд╛рдЗрдЯреНрд╕ рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд
419,308,168 рдмрд╛рдЗрдЯреНрд╕ рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 17.31s (17.65s рдмреАрдд рдЪреБрдХрд╛ рд╣реИ)
рдЬреАрд╕реА рд╕рдордп 38.08s (38.42 рдмреАрддрд╛ рд╣реБрдЖ)
% рдЬреАрд╕реА рд╕рдордп ремed. GC% (рем 68.рел% рдмреАрддрд╛ рд╣реБрдЖ)рд░реИрдЦрд┐рдХ рддрд╛рд▓рд┐рдХрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдХреА рдЙрдореНрдореАрдж рд╣реЛрдЧреА, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЛ рддреБрд░рдВрдд рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ:
12,547,294,380 рдмрд╛рдЗрдЯреНрд╕ рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд
рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди 17,997,812,764 рдмрд╛рдЗрдЯреНрд╕ рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 26.65 (27.16 рдХреЛ рд╕рдорд╛рдкреНрдд)
рдЬреАрд╕реА рд╕рдордп 123.72s (124.30s рдмреАрддрд╛ рд╣реБрдЖ)
% GC рд╕рдордп 82.3% (82.1% рдмреАрдд рдЪреБрдХрд╛)рд░реАрдбрд┐рдВрдЧ рдХреЛрдб рдХреА рдХреБрдЫ рдФрд░ рдЕрдиреБрдХреВрд▓рди, рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╢реБрд░реВ рдореЗрдВ рд╕рд╣реА рдЖрдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рдФрд░ CuckooHashTable рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдиреЗрддреГрддреНрд╡ рд▓рд┐рдпрд╛:
рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд 3,835,164,148 рдмрд╛рдЗрдЯреНрд╕
179,941,588 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛
MUT рд╕рдордп 7.84s (7.97 рдмреАрдд рдЪреБрдХреЗ)
рдЬреАрд╕реА рд╕рдордп 20.05s (20.18 рд╕реЗрдХрдВрдб рдмреАрддрд╛)
% GC рд╕рдордп 71.9% (71.7% рдмреАрдд рдЧрдпрд╛)рдХреБрд▓ рд░рдирдЯрд╛рдЗрдо рдкрд╣рд▓реЗ рд╣реА рдЖрдзрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреАрд╕реА рдкрд░ 70% рд╣реИ? рдХрдВрдЬрд░реНрд╡реЗрдЯрд░реА рдореЗрдВ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
Data.Judy рдЬреВрдбреА рдЯреЗрдмрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ GC рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрдгрд╛рдпрдХ рд░реВрдк рд╕реЗ рдЦреЗрд▓ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ:
рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд 5,366,256,252 рдмрд╛рдЗрдЯреНрд╕
рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди 3,725,456 рдмрд╛рдЗрдЯреНрд╕ рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 8.99s (9.12s рдмреАрдд рдЧрдпрд╛)
рдЬреАрд╕реА рд╕рдордп 1.44s (1.45s рдмреАрддрд╛ рд╣реБрдЖ)
% GC рд╕рдордп 13.4% (13.3% рдмреАрдд рдЪреБрдХрд╛)рд╣реАрдк рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ: рдПрдХ рдлреНрд▓реИрдЯ рдХреНрд╖реИрддрд┐рдЬ рд░реЗрдЦрд╛, рд╕рднреА рдбреЗрдЯрд╛ рдЬреАрд╕реА рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
рддреАрди рдиреБрдХрд╕рд╛рди:
- рдЖрдкрдХреЛ -fvia-C рдлреЗрдВрдХрдХрд░ рдкреИрдХреЗрдЬ рдХреЛ рдкреИрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдЬрд╛рдиреЗ рд▓рд┐рдВрдХ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИрдВ;
- рд╡рд░реНрдб рд╕реЗ рд╡рд░реНрдб рдХреА рд╕рдЦреНрддреА рд╕реЗ рдореИрдкрд┐рдВрдЧ рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд░реНрдб 64 рдХреАрдЬ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрд░реЗ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреА рд╣реЛрдЧреАред рд╕реНрд░реЛрдд рдореЗрдВ рдмрд╛рдЗрдЯрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрдЪрдп рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рдо;
- рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕реА рдореЗрдВ, рдореИрдВ рдпрд╣ рд╕рдм рд╕реАрдзреЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ! рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣рд╛рд╕реНрдХреЗрд▓ рдпрд╛ рдХрд╣рд╛рдБ?
рдХреНрдпрд╛ рдмрдЪрд╛ рд╣реИ? рдмреЗрд╢рдХ Data.Mapред рдХреЛрдИ IO, рдХреЛрдИ C, рд╕рдЪреНрдЪрд╛ рд╣реИрд╕реНрдХреЗрд▓ рдХреЛрдб, рдЬреЛ рд╕реБрдВрджрд░ рджрд┐рдЦрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо SUDDEN рд╣реИрдВ:
5,569,024,484 рдмрд╛рдЗрдЯреНрд╕ рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд
4,241,345,748 рдмрд╛рдЗрдЯреНрд╕ рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 18.55s (18.77 рд╕реЗрдХрдВрдб рдмреАрддрд╛)
рдЬреАрд╕реА рд╕рдордп 12.66s (13.07 рд╡рд░реНрд╖ рдмреАрддрд╛)
% GC рд╕рдордп 40.6% (41.1% рдмреАрдд рдЪреБрдХрд╛)CuckooHashTable рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд┐рд░реНрдл 10% рдзреАрдорд╛, рдФрд░ Data.HashTable рдХреЗ рд╕рд╛рде рдХреЛрдИ рддреБрд▓рдирд╛ рдирд╣реАрдВред "рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд╣рд┐рд▓рд╛рдУ" рдХреЗ рд▓рд┐рдП рдПрдХ рддреИрдпрд╛рд░ рдЪрд┐рддреНрд░рдг: рдпреЗ рд╕рднреА рдиреГрддреНрдп рдХреНрдпреЛрдВ, рдпрджрд┐ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реАрдзрд╛ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдиреБрдХрд╕рд╛рди рд▓рдЧрднрдЧ рдЕрджреГрд╢реНрдп рд╣реИрдВ?
рдФрд░ Data.HashMap.Strict рдХреЗ рд╕рд╛рде unordered- рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЕрдВрддрд┐рдо рддрд╛рд░, Data.Map рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди: рдмрд╕ рдЖрдпрд╛рдд рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓реЗрдВ, рдмрд╛рдХреА рд╕рдВрдЧрдд рд╣реИред
5,688,939,936 рдмрд╛рдЗрдЯреНрд╕ рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд
рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди 3,659,088,964 рдмрд╛рдЗрдЯреНрд╕ рдХреЙрдкреА рдХрд┐рдП рдЧрдП
227,864,212 рдмрд╛рдЗрдЯреНрд╕ рдЕрдзрд┐рдХрддрдо рдирд┐рд╡рд╛рд╕ (23 рдирдореВрдирд╛)
MUT рдХрд╛ рд╕рдордп 10.16s (10.75 рдХреЛ рдмреАрддрд╛ рд╣реБрдЖ)
рдЬреАрд╕реА рд╕рдордп 8.93s (9.61s рдмреАрддрд╛ рд╣реБрдЖ)
% GC рд╕рдордп 46.8% (47.2% рд╕рдорд╛рдкреНрдд)рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдХреЙрдкреА рдХреА рдЧрдИ, рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдкреБрди: рдЖрд╡рдВрдЯрди рдкрд░ред рдЖрдЗрдП рдереЛрдбрд╝реА рдФрд░ рдореЗрдореЛрд░реА рдХреЛ рддреБрд░рдВрдд рдЦрд┐рд╕рдХрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, + RTS -A250Mред
рдвреЗрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд 5,663,421,460 рдмрд╛рдЗрдЯ
887,689,168 рдмрд╛рдЗрдЯреНрд╕ рдЬреАрд╕реА рдХреЗ рджреМрд░рд╛рди рдХреЙрдкреА рдХрд┐рдП рдЧрдП
MUT рд╕рдордп 11.40s (11.70s рдмреАрддрд╛ рд╣реБрдЖ)
рдЬреАрд╕реА рд╕рдордп 3.61s (3.83 рдмреАрдд рдЪреБрдХреЗ)
% GC рд╕рдордп 24.1% (24.7% рдмреАрдд рдЪреБрдХрд╛)рдЯрд╛-рджрд╛! рдЬреВрдбреА рдХрдо рдкрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдХрд▓реНрдк рдкреАрдЫреЗ рд░рд╣ рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐: рд╢реБрд▓реНрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, Data.Map рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдмрдиреНрд╕: рдЖрдкрдХреЛ рд╣реИрд╢ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдХреБрдВрдЬреА рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╣реИрд╢рдЯреЗрдмрд▓реНрд╕ рдореЗрдВ, рдЖрдкрдХреЛ рдореЛрдирд╛рдбреНрд╕ рдореЗрдВ рд╕рдм рдХреБрдЫ рдбрд╛рд▓рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдХреЛрдб рджреЛ рдЧреБрдирд╛ рдЫреЛрдЯрд╛ рд╣реИред
рдЦреИрд░, рдкрд╛рд░рдВрдкрд░рд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖: рд╕рдордпрдкреВрд░реНрд╡ рдЕрдиреБрдХреВрд▓рди рд╕рднреА рдмреБрд░рд╛рдИ рдХреА рдЬрдбрд╝ рд╣реИред рд▓рд▓рд╛рдЯ рд╕рдорд╛рдзрд╛рди рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рддреЗрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред