Covector mapping principle: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
Riesz link
en>Jodosma
rm repetition of "by"
 
Line 1: Line 1:
{{Merge to|Range query|date=May 2013}}
== чтобы Oakley Radar Купить ==
In [[data structure]]s a ''range query'' consists of preprocessing some input data into a data structure to efficiently answer any number of queries on any subset of the input. Particularly, there is a group of problems that have been extensively studied where the input is an [[Array data structure|array]] of unsorted numbers  and a query consists in computing some function on a specific range of the array. In this article we describe some of these problems together with their solutions.


==Statement Of The Problem==
Я не уверен, что я бы сделал, если бы я не обнаружил такого решения, как это. Пожалуйста, прочтите эту важную сведению: Многие из вас знают Gina Kleinworth из Kleinworth и Ко сожалению Джина потеряла маму за неделю к раку. Алоэ Вера гель или распутать корона линия перекрытия во время его поставить толщину. <br><br>Я не удивлен, что Ким, как отвращение к ее телу, как и остальные из нас, но стремление быть размер 0 является новый поворот в ее безумия. Это как они взяли Сибуя и сделал это в сто раз больше и красочным. У меня не было [http://www.stroycenter-spb.ru/styles/footer.asp?p=152-Oakley-Radar-Купить Oakley Radar Купить] абсолютно ничего общего. Палаццо Барберини является [http://www.informatika37.ru/fckeditor/editor/css/about.asp?id=46-Air-Max-2013-Купить Air Max 2013 Купить] одним из самых грандиозных дворцов в Риме. [http://www.kzsk-kovrov.ru/UserFiles/File/Contacts.asp?id=95-Nike-Air-Max-Thea Nike Air Max Thea] <br><br>Как я уже упоминал в прошлом, я любитель искусства всех видов и сред. Это «национальный скандал" и "предательство", они say.The падение цен на уголь вынуждены шотландский уголь в ликвидации в апреле, а другой карьер компания, ATH Ресурсы, чтобы ветер в May.from Sunday Herald, 8 декабря 2013The Европы Комиссия расследует жалобы о невозможности восстановления двух Карьер угольных шахт в Восточном Эйршир, и ущерб, который они причинили в environment.Old шахт в Powharnel и Grievehill были брошены угольных компаний, когда они обанкротились в этом году, оставив уродливые Bings, . <br><br>Автомобиль моего соседа был значительный ущерб от града, мой был безопасные благодаря этим приложением. Теперь вместо того, чтобы удержать от принятия эти ссылки на ваш сайт сделать, чтобы, как это раздражает, чтобы сделать это, теперь, [http://www.stroycenter-spb.ru/styles/footer.asp?p=18-Ray-Ban-Aviator-Как-Отличить-Подделку Ray Ban Aviator Как Отличить Подделку] когда вы видите, вы можете сделать это быстрее, надеюсь, вы будете более склонны самом деле сделать ссылки. <br><br>Пэт Флинн смарт Пассивный доход был человеком, который познакомил меня с Infobarrel. Я оставляю вас с ссылками на ее сайтах, так что вы можете пойти до конца ее героев. ThisReform из Национальная служба здравоохранения хронологии является незавершенное!. <br><br>Как владелец салона в Австралии я был немного осторожен о настроить дело с компанией в другой стране. Если [http://www.stroycenter-spb.ru/styles/footer.asp?p=191-Ray-Ban-Clubmaster-Купить Ray Ban Clubmaster Купить] вы старше, чем заданное возрастов для обычного тестирования, вы все равно можете иметь возможность запрашивать комплект, чтобы испытать себя. Но наша фиксация числа 13 трасс глубокой. <br><br>Подвергая эти решения на коррумпированных работе Организации Объединенных Наций сковывает наши собственные интересы и ставит под угрозу нашу национальную безопасность. Установите свой собственный агентство: Если вы решили открыть свой собственный несетевых агентство, вам нужно будет ознакомиться с нормативно-правовым вопросам вы столкнетесь при выборе бизнес-места, в том числе законы зонирования и коммерческой аренды.<ul>
 
  <li>[http://www.todays-psychologists.com/node/234676#comment-783223 http://www.todays-psychologists.com/node/234676#comment-783223]</li>
 
  <li>[http://www.kmaik.lt/index.php?option=com_kunena&func=view&catid=3&id=80707&Itemid=180&lang=en#80707 http://www.kmaik.lt/index.php?option=com_kunena&func=view&catid=3&id=80707&Itemid=180&lang=en#80707]</li>
 
  <li>[http://moban.yihaoweb.com/news/html/?56101.html http://moban.yihaoweb.com/news/html/?56101.html]</li>
 
  <li>[http://www.xtdwjh.com/service/feedback_look.php?id=84329 http://www.xtdwjh.com/service/feedback_look.php?id=84329]</li>
 
</ul>


We may state the problem of range queries in the following way:
== Хотите пауков Oakley Holbrook ==
a range query <math>q_f(A,i,j)</math> on an array <math>A=[a_1,a_2,..,a_n]</math> of ''n'' elements of some set <math>S</math>, denoted <math>A[1,n]</math>, takes two indices <math>1\leq i\leq j\leq n</math>, a function <math>f</math>  defined over arrays of elements of <math>S</math> and outputs <math>f(A[i,j])= f(a_i,\ldots,a_j)</math>. This should be done space and time efficient.


consider for instance <math>f = sum</math> and <math>A[1,n]</math> and array of numbers, the range query <math>sum(A,i,j)</math> computes <math>sum(A[i,j]) = (a_i+\ldots + a_j)</math>, for any <math>1 \leq i  \leq j  \leq n</math>. These queries may be answered in constant time and using <math>O(n)</math> extra space by calculating  the sums of the first <math>i</math> elements of <math>A</math> and storing them into an auxiliar array <math>B</math>, such that <math>B[i]</math> contains the sum of the first <math>i</math> elements of <math>A</math> for every  <math>0\leq i\leq n</math>.Therefore any query might be answered by doing <math>sum(A[i,j]) = B[j] - B[i-1]</math>.
Ниже предлагаются шаги в начиная блог. Если вы Венди Раймер и не хотите, чтобы ваш образ будет отображаться на 123people, пожалуйста, удалить изображение из первоисточника. Софи очень ответственный, зрелый и стабильный подросток. Инструкция также предусматривает наличие или вред, причиненный в избытке Женский Травяные Виагра Женский травяные Виагра симптоматики с декабря и часов после приема .. <br><br>Если бы шесть землю шары за неделю до против UMBC [http://www.stroycenter-spb.ru/styles/footer.asp?p=162-Oakley-Holbrook Oakley Holbrook] (3/24). Вы не отключены или обесценения в любом случае, но когда вы находитесь, вы будете сожалеть шансы вы должны были общаться и быть активным .. В почтовый ящик любым почтовым клиентом, большую часть пространства в настоящее время занимают электронные письма. Должен ли я [http://www.transspezprom.ru/fckeditor/editor/css/config.asp?cat=25-Ralph-Lauren-Москва-Магазины Ralph Lauren Москва Магазины] отключить этот от стены? Хотите пауков, да? Как насчет я оставляю вас вне сегодня вечером, чтобы найти реальные те, на заднем крыльце! . <br><br>Представьте ту же информацию в обоих обычно, только одна версия отправляется определенного издателя и убедитесь, что ваши ссылки отформатирована .. Продолжайте переключаться между грудей, пока ваш ребенок удовлетворены или останавливается глотания. Используя формулу. Мне нужна помощь. <br><br>Промежуточный Web Developer Вы будете иметь в течение 18 месяцев опыт разработки веб-сайтов, и .. Я знаю, что вы имеете в виду о аналогового покрытия. Его вид тупик для них и порядке SEBI только показали зеркало. Мне 17 лет, и были на Seasonique в течение 2 лет. <br><br>Это известно как предварительной обработки и снижает риск тайных постельных клопов .. Из-за этих повторных пробуждениями дышать, ребенок может не получить достаточно качественный сон и, вероятно, будет сонливость или переутомился в течение дня .. Ваш воспитатель ожидает такие звонки. Когда Geocities закрыты, я потерял свой веб-сайт. <br><br>Не торопитесь сгребать бункер и, идя к вашему мяч. Фильм вышел на победу лучший [http://www.ubcenglish.ru/backup/footer.php?p=129-Nike-Roshe-Run-Women-Купить Nike Roshe Run Women Купить] документальный фильм в 2003 году на Бостонском ирландского кинофестиваля наряду со многими более международных номинациях.. "Ответ на этот вопрос абсолютно да. Однако, учитывая политику Quora срочным ответов как шутка ответы и прецедента, созданного через Termin Анураг ответ, как один, я только получаю сообщение, что все эти ответы должны быть названы один, потому что они не считают это подлинный ответ, если люди любят называть или видеть кого-то как [http://www.transspezprom.ru/fckeditor/editor/css/config.asp?cat=65-Polo-Одежда-Харьков Polo Одежда Харьков] бога (благодаря тому, что человек изображением в кино или поступки в реальной жизни) ... <br><br>Я получаю [http://www.informatika37.ru/fckeditor/editor/css/about.asp?id=50-Кроссовки-Air-Max-90-Premium-Nike Кроссовки Air Max 90 Premium Nike] прыщи от спорта на моей груди и обратно иногда летом и использовать для мытья тела для прыщей и получить моего мужа, чтобы положить масло чайного дерева на них, который помогает. Некоторые твердые совет: Вырежьте или лишь изредка употреблять алкоголь.<ul>
 
 
This strategy may be extended for every [[Group theory|group]] operator <math>f</math> where the notion of <math>f^{-1}</math> is well defined and easily computable.<ref name="morin">{{cite journal|first=Danny|last=Krizanc|coauthors=Pat Morin and Michiel H. M. Smid|title=Range Mode and Range Median Queries on Lists and Trees|journal=ISAAC|year=2003|pages=517–526|url=http://cg.scs.carleton.ca/~morin/publications/}}</ref> Finally notice this solution might be extended for  arrays of dimension two with a similar preprocessing.<ref name=menhe>{{cite journal|last=Meng|first=He|coauthors=J. Ian Munro and Patrick K. Nicholson|title=Dynamic Range Selection in Linear Space|journal=ISAAC|year=2011|pages=160–169}}</ref>
  <li>[http://bbs.90game.cn/forum.php?mod=viewthread&tid=6905987&fromuid=747760 http://bbs.90game.cn/forum.php?mod=viewthread&tid=6905987&fromuid=747760]</li>
 
 
==Examples==
  <li>[http://www.lisaolsonconsulting.com/index.php/forum?func=view&catid=10&id=46841#46841 http://www.lisaolsonconsulting.com/index.php/forum?func=view&catid=10&id=46841#46841]</li>
 
 
===Semigroup Operator===
  <li>[http://www.67qu.tk/forum.php?mod=viewthread&tid=1723125&fromuid=393202 http://www.67qu.tk/forum.php?mod=viewthread&tid=1723125&fromuid=393202]</li>
[[File:LowesCommon.png|thumb|right|300x200px|alt=A Constructing the corresponding cartesian tree to solve a range minimum query.|range minimum query reduced to a lowest common ancestor]]
 
 
  <li>[http://www.mv2048.com/forum.php?mod=viewthread&tid=15323&fromuid=911 http://www.mv2048.com/forum.php?mod=viewthread&tid=15323&fromuid=911]</li>
When the function of interest in a range query is a [[semigroup]] operator the notion of <math>f^{-1}</math> is not always defined, therefore we can not use an analogous strategy to the previous section. Yao  showed<ref name="yao">{{cite journal|last=Yao, A. C|title=Space-Time Tradeoff for Answering Range Queries|journal=e 14th Annual ACM Symposium on the Theory of Computing|year=1982|pages=128–136}}</ref> that there exists an efficient solution for range queries that involve semigroup operators. He proved that for any constant <math>c</math>, a preprocessing of time and space <math>\theta(c\cdot n)</math> allows to answer range queries on lists where <math>f</math> is a semigroup operator in <math>\theta(\alpha_c(n))</math> time, where <math>\alpha_k</math> is a certain functional inverse of the [[Ackermann function]].  
 
 
</ul>
There are some semigroup operators that admit slightly better solutions. For instance when <math>f\in \{\max,\min\}</math>. Assume <math> f = \min</math> then <math>\min(A[1..n])</math> returns the index of the [[minimum]] element of <math>A[1..n]</math>. Then <math>\min(A, i,j)</math> denotes the corresponding minimum range query. There are several data structures that allow to answer a range minimum query in <math>O(1)</math> time using a preprocessing of time and space <math>O(n)</math>. Probably the simplest solution to sketch here is based on the equivalence between this problem and the [[Lowest common ancestor|Lowest Common Ancestor Problem]]. We briefly describe this solution.
 
The [[cartesian tree]]  <math>T_A</math> of an array <math>A[1,n]</math> has as root <math>a_i = min\{a_1,a_2,\ldots,a_n\}</math> and it has as left and right subtrees the cartesian tree of <math>A[1,i-1]</math> and the cartesian tree of <math>A[i+1,n]</math> respectively. It is easy to see that a range minimum query <math>min(A,i,j)</math> is the [[lowest common ancestor]] in <math>T_A</math> of <math>a_i</math> and <math>a_j</math>. Since the lowest common ancestor is solvable in constant time using a preprocessing of time and space <math>O(n)</math>  thus so does the range minimum query problem. The solution when ''f = max'' is analogous. Cartesian trees can be constructed in linear time.
 
=== Mode===
 
The ''[[Mode (statistics)|mode]]'' of an array ''A'' is the element that appears the most in ''A''. For instance the mode of <math>A=[4,5,6,7,4,]</math> is ''4''. In case of ties any of the most frequent elements might be picked as mode. A range mode query consists in preprocessing <math>A[1,n]</math> such that we can find the mode in any range of <math>A[1,n]</math>. Several data structures have been devised to solve this problem, we summarize some of the results in the following table.<ref name=morin />
 
{| class="wikitable"
|-
! Range Mode Queries || ||
|-
| Space || Query Time || Restrictions
|-
| <math>O(n^{2-2\epsilon})</math> ||<math> O(n^\epsilon \log n)</math> || <math>0\leq \epsilon\leq 1/2</math>
|-
| <math>O(n^2\log\log n/ \log n)</math> || <math>O(1)</math> ||
|-
|}
 
Recently Jørgensen et al. proved a lower bound on the cell probe model of <math>\Omega(\frac{\log n}{\log (S w/n)})</math> for any data structure that uses <math>S </math> cells.<ref name=jorgensen>{{cite journal|last=Greve|first=M|coauthors=J{\o}rgensen, A. and Larsen, K. and Truelsen, J.|title=Cell probe lower bounds and approximations for range mode|journal=Automata, Languages and Programming|year=2010|pages=605–616}}</ref>
 
===Median===
 
This particular case is of special interest since finding the [[median]] has several applications, for further reference see.<ref name=heriel>{{cite journal|first=Sariel last=Har-Peled|coauthors=S. Muthukrishnan|title=Range Medians|journal=ESA|year=2008|pages=503–514}}</ref> On the other hand, the median problem, a special case of the [[selection problem]], is solvable in O(''n''), by the [[median of medians]] algorithm.<ref name=tarjanmedian>{{cite doi|10.1016/S0022-0000(73)80033-9}}</ref> However its generalization through range median queries is recent.<ref name=ethpaper /> A range median query <math>median(A,i,j)</math> where ''A,i'' and ''j'' have the usual meanings returns the median element of <math>A[i,j]</math>. Equivalently, <math>median(A,i,j)</math> should return the element of <math>A[i,j]</math> of rank <math>\frac{j-i}{2}</math>. Note that range median queries can not be solved by following any of the previous methods discussed above including Yao's approach for semigroup operators.<ref name="morin kranakis" />
 
There have been studied two variants of this problem, the ''offline'' version, where all the ''k'' queries of interest are given in a batch and we are interested in reduce the total cost and a version where all the preprocessing is done ''up front'' and we are interested in optimize the cost of any subsequent single query. Concerning the first variant of the problem recently was proven that can be solved in time <math>O(n\log k + k \log n)</math> and space <math>O(n\log k)</math>. We describe such a solution.<ref name="ethpaper">{{cite journal|last=Beat|first=Gfeller|coauthors=Peter Sanders|title=Towards Optimal Range Medians|journal=ICALP (1)|year=2009|pages=475–486}}</ref>
 
The following pseudo code shows how to find the element of rank <math>r</math> in <math>A[i,j]</math> an unsorted array of distinct elements, to find the range medians we set <math>r=\frac{j-i}{2}</math>.
 
<syntaxhighlight lang="cpp">
 
rangeMedian(A,i,j,r){
 
  if A.length() == 1 return A[1]
 
  if A.low is undefined then
    m = median(A)
    A.low  = [e in A | e <= m]
    A.high = [e in A | e > m ]
 
calculate t  the number of elements of A[i,j] that belong to A.low
 
if r <= t return rangeMedian(A.low, i,j,r)
  else return rangeMedian(A.high, i,j, r-t)
}
</syntaxhighlight>  
 
Procedure ''rangeMedian'' partitions A, using A's median, into two arrays ''A.low'' and ''A.high'', where the former contains
the elements of ''A'' that are less than or equal to the median ''m'' and the latter the rest of the elements of ''A''.  If we know that the number of elements of <math>A[i,j]</math> that
end up in ''A.low'' is ''t'' and this number is bigger than ''r'' then we should keep looking for the element of rank ''r'' in ''A.low'' else we should look for the element of rank <math>(r-t)</math> in A.high. To find <math>t</math>, it is enough to find the maximum index <math>m\leq i-1</math> such that <math>a_m</math> is in ''A.low'' and the maximum index <math>l\leq j</math> such that <math>a_l</math>
is in A.high. Then <math>t=l-m</math>. The total cost for any query, without considering the partitioning part, is <math>\log n</math> since at most <math>\log n</math> recursion calls are done
and only a constant number of operations are performed in each of them (to get the value of <math>t</math> [[fractional cascading]] should be used).
If a linear algorithm to find the medians is used, the total cost of preprocessing for <math>k</math> range median queries is <math> n\log k</math>. Clearly this algorithm can be easily modified to solve the up front version of the problem.<ref name=ethpaper />
 
==Related Problems==
All the problems described above have been studied for higher dimensions as well as their dynamic versions. On the other hand, range queries might be extended to other data structures like [[Tree (data structure)|trees]],<ref name="morin kranakis">{{cite journal|first=P|last=Bose|coauthors=E. Kranakis, P. Morin, and Y. Tang.|title=Approximate range mode and range median queries|journal=In Proceedings of the 22nd Symposium on Theoretical Aspects of Computer Science (STACS 2005), volume 3404 of Lecture Notes in ComputerScience|year=2005|pages=377–388|url=http://cg.scs.carleton.ca/~morin/publications/}}</ref> such as the [[level ancestor problem]]. A similar family of problems are [[Range searching|orthogonal range]] queries also known as counting queries.
 
==References==
{{Reflist}}
 
==External links==
*[http://opendatastructures.org/versions/edition-0.1c/ods-java/node64.html Open Data Structure - Chapter 13 - Data Structures for Integers]
*[http://www.cs.au.dk/~gerth/papers/isaac09median.pdf Data Structures for Range Median Queries - Gerth Stolting Brodal and Allan Gronlund Jorgensen]
 
<!--- Categories --->
{{CS-Trees}}
 
[[Category:Arrays]]
[[Category:Articles created via the Article Wizard]]

Latest revision as of 10:03, 1 May 2014

чтобы Oakley Radar Купить

Я не уверен, что я бы сделал, если бы я не обнаружил такого решения, как это. Пожалуйста, прочтите эту важную сведению: Многие из вас знают Gina Kleinworth из Kleinworth и Ко сожалению Джина потеряла маму за неделю к раку. Алоэ Вера гель или распутать корона линия перекрытия во время его поставить толщину.

Я не удивлен, что Ким, как отвращение к ее телу, как и остальные из нас, но стремление быть размер 0 является новый поворот в ее безумия. Это как они взяли Сибуя и сделал это в сто раз больше и красочным. У меня не было Oakley Radar Купить абсолютно ничего общего. Палаццо Барберини является Air Max 2013 Купить одним из самых грандиозных дворцов в Риме. Nike Air Max Thea

Как я уже упоминал в прошлом, я любитель искусства всех видов и сред. Это «национальный скандал" и "предательство", они say.The падение цен на уголь вынуждены шотландский уголь в ликвидации в апреле, а другой карьер компания, ATH Ресурсы, чтобы ветер в May.from Sunday Herald, 8 декабря 2013The Европы Комиссия расследует жалобы о невозможности восстановления двух Карьер угольных шахт в Восточном Эйршир, и ущерб, который они причинили в environment.Old шахт в Powharnel и Grievehill были брошены угольных компаний, когда они обанкротились в этом году, оставив уродливые Bings, .

Автомобиль моего соседа был значительный ущерб от града, мой был безопасные благодаря этим приложением. Теперь вместо того, чтобы удержать от принятия эти ссылки на ваш сайт сделать, чтобы, как это раздражает, чтобы сделать это, теперь, Ray Ban Aviator Как Отличить Подделку когда вы видите, вы можете сделать это быстрее, надеюсь, вы будете более склонны самом деле сделать ссылки.

Пэт Флинн смарт Пассивный доход был человеком, который познакомил меня с Infobarrel. Я оставляю вас с ссылками на ее сайтах, так что вы можете пойти до конца ее героев. ThisReform из Национальная служба здравоохранения хронологии является незавершенное!.

Как владелец салона в Австралии я был немного осторожен о настроить дело с компанией в другой стране. Если Ray Ban Clubmaster Купить вы старше, чем заданное возрастов для обычного тестирования, вы все равно можете иметь возможность запрашивать комплект, чтобы испытать себя. Но наша фиксация числа 13 трасс глубокой.

Подвергая эти решения на коррумпированных работе Организации Объединенных Наций сковывает наши собственные интересы и ставит под угрозу нашу национальную безопасность. Установите свой собственный агентство: Если вы решили открыть свой собственный несетевых агентство, вам нужно будет ознакомиться с нормативно-правовым вопросам вы столкнетесь при выборе бизнес-места, в том числе законы зонирования и коммерческой аренды.

Хотите пауков Oakley Holbrook

Ниже предлагаются шаги в начиная блог. Если вы Венди Раймер и не хотите, чтобы ваш образ будет отображаться на 123people, пожалуйста, удалить изображение из первоисточника. Софи очень ответственный, зрелый и стабильный подросток. Инструкция также предусматривает наличие или вред, причиненный в избытке Женский Травяные Виагра Женский травяные Виагра симптоматики с декабря и часов после приема ..

Если бы шесть землю шары за неделю до против UMBC Oakley Holbrook (3/24). Вы не отключены или обесценения в любом случае, но когда вы находитесь, вы будете сожалеть шансы вы должны были общаться и быть активным .. В почтовый ящик любым почтовым клиентом, большую часть пространства в настоящее время занимают электронные письма. Должен ли я Ralph Lauren Москва Магазины отключить этот от стены? Хотите пауков, да? Как насчет я оставляю вас вне сегодня вечером, чтобы найти реальные те, на заднем крыльце! .

Представьте ту же информацию в обоих обычно, только одна версия отправляется определенного издателя и убедитесь, что ваши ссылки отформатирована .. Продолжайте переключаться между грудей, пока ваш ребенок удовлетворены или останавливается глотания. Используя формулу. Мне нужна помощь.

Промежуточный Web Developer Вы будете иметь в течение 18 месяцев опыт разработки веб-сайтов, и .. Я знаю, что вы имеете в виду о аналогового покрытия. Его вид тупик для них и порядке SEBI только показали зеркало. Мне 17 лет, и были на Seasonique в течение 2 лет.

Это известно как предварительной обработки и снижает риск тайных постельных клопов .. Из-за этих повторных пробуждениями дышать, ребенок может не получить достаточно качественный сон и, вероятно, будет сонливость или переутомился в течение дня .. Ваш воспитатель ожидает такие звонки. Когда Geocities закрыты, я потерял свой веб-сайт.

Не торопитесь сгребать бункер и, идя к вашему мяч. Фильм вышел на победу лучший Nike Roshe Run Women Купить документальный фильм в 2003 году на Бостонском ирландского кинофестиваля наряду со многими более международных номинациях.. "Ответ на этот вопрос абсолютно да. Однако, учитывая политику Quora срочным ответов как шутка ответы и прецедента, созданного через Termin Анураг ответ, как один, я только получаю сообщение, что все эти ответы должны быть названы один, потому что они не считают это подлинный ответ, если люди любят называть или видеть кого-то как Polo Одежда Харьков бога (благодаря тому, что человек изображением в кино или поступки в реальной жизни) ...

Я получаю Кроссовки Air Max 90 Premium Nike прыщи от спорта на моей груди и обратно иногда летом и использовать для мытья тела для прыщей и получить моего мужа, чтобы положить масло чайного дерева на них, который помогает. Некоторые твердые совет: Вырежьте или лишь изредка употреблять алкоголь.