Giant chess is quite common in Geraldion. We will not delve into the rules of the game, we'll just say that the game takes place on an *h* × *w* field, and it is painted in two colors, but not like in chess. Almost all cells of the field are white and only some of them are black. Currently Gerald is finishing a game of giant chess against his friend Pollard. Gerald has almost won, and the only thing he needs to win is to bring the pawn from the upper left corner of the board, where it is now standing, to the lower right corner. Gerald is so confident of victory that he became interested, in how many ways can he win?

The pawn, which Gerald has got left can go in two ways: one cell down or one cell to the right. In addition, it can not go to the black cells, otherwise the Gerald still loses. There are no other pawns or pieces left on the field, so that, according to the rules of giant chess Gerald moves his pawn until the game is over, and Pollard is just watching this process.
The first line of the input contains three integers: *h*, *w*, *n* — the sides of the board and the number of black cells (1 ≤ *h*, *w* ≤ 10<sup class="upper-index">5</sup>, 1 ≤ *n* ≤ 2000). 

Next *n* lines contain the description of black cells. The *i*-th of these lines contains numbers *r*<sub class="lower-index">*i*</sub>, *c*<sub class="lower-index">*i*</sub> (1 ≤ *r*<sub class="lower-index">*i*</sub> ≤ *h*, 1 ≤ *c*<sub class="lower-index">*i*</sub> ≤ *w*) — the number of the row and column of the *i*-th cell.

It is guaranteed that the upper left and lower right cell are white and all cells in the description are distinct.

䂻蜽𦹲𦹲�𦹲�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𐰩ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅�
䂻蜽𦹲𦹲�𑄅�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𬇀ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𡿲殄殄𩂃𣦃ٿﰱﻠﱭ𐦊𣦃غ嗢嗢𬈍𦹲叜叜𨁥𨁥جᄔᄔ𞢱 = int
䂻蜽𦹲𦹲�𬈍�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𬨅ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𨁥殄殄𐰟𨏵ٿﰱﻠﱭ𐦊𐰟غ嗢嗢𫚊𫋵叜叜𨁥𨁥جᄔᄔﮘ = map
䂻蜽𦹲𦹲�𨁥�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𣦃ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𔘱殄殄𬨅𨝐ٿﰱﻠﱭ𐦊𬨅غ嗢嗢𦹲𬗴叜叜𨁥𨁥جᄔᄔﭣ = input
䂻蜽𦹲𦹲�𐦊�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𫋵ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅𐡠殄殄𬈍𐡠ٿﰱﻠﱭ𐦊𫝓غ嗢嗢𩋉𔐽叜叜𨁥𨁥جᄔᄔ藛藛 = range
䂻蜽𦹲𦹲�𩋉�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𒁠ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𦹲殄殄𐳁𔘱ٿﰱﻠﱭ𐦊𐤇غ嗢嗢𒁠𩂃叜叜𨁥𨁥جᄔᄔ𐢗 = max
䂻蜽𦹲𦹲�𐰩�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𣦃ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𬨅殄殄𐤇𬨅ٿﰱﻠﱭ𐦊𐦊غ嗢嗢𬗴𩋉叜叜𨁥𨁥جᄔᄔ𣬥 = pow
䂻蜽𦹲𦹲�𐦊�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𫋵ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𣦃殄殄𐬩𐡠ٿﰱﻠﱭ𐦊𫝓غ嗢嗢𩋉𔐽叜叜𨁥𨁥جᄔᄔ𑄅 = tuple
䂻蜽𦹲𦹲�𣦃�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𣦃ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅𔘱殄殄𬇀𨁥ٿﰱﻠﱭ𐦊𫋵غ嗢嗢𦹲𦹲叜叜𨁥𨁥جᄔᄔ𞢟𫋵 = print
䂻蜽𦹲𦹲�𐰩�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𐪅ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅𬨅殄殄𐤇𐢗ٿﰱﻠﱭ𐦊𐦊غ嗢嗢𬗴𬗴叜叜𨁥𨁥جᄔᄔ㸂㸂 = [1]
䂻蜽𦹲𦹲�𐦊�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𫋵ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅��殄殄𐡠�ٿﰱﻠ𐦊�嗢𔐽�叜𨁥𨁥جᄔᄔﳍ = 䂻䂻蜽蜽𦹲𐰩��𣼨�ﻘᢛ꼔䰲𭈼�뫕ﳹ�𣋙𡓟�
叜𞤥𭬹ᄔᄔ𦹲(1e9)+7
䂻蜽𦹲𦹲�𑄅�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𬇀ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅�殄𩂃𣦃ﰱﻠﱭ��غ嗢�𦹲叜𨁥𨁥جᄔᄔ𞢱𞢟, 䂻䂻蜽蜽𑄅��𣦃�𐤇ᢛ꼔䰲䰲��뫕ﳹ𣋙𣋙�
叜叜𦹲𦹲ᄔ㡢㡢䂻蜽蜽𡿲�𒁠�𩂃�ᢛ꼔ᢛ䰲�𬈍뫕ﳹﶖ��𩋉�ࠎ���ߓ���𑄅𬨅ﹶ�繥��𬇀𬇀函𐰟��殄殄𫋵�ٿﰱﻠﱭ𐰩𐬩غ嗢嗢𐬩𞢱叜叜��جᄔ�𑄅䂻蜽蜽�𗸒��𩻔�ﻘ
殄�𫋵ٿﰱﻠ𦹲�嗢𞢟𣼨叜𡿲�ᄔᄔﮘ(䂻蜽蜽�𒁠���𣦃ᢛ꼔ᢛ䰲𩋉�뫕ﳹﶖ���𔘱�𬨅�𐤇𭬹�𐦊��繥繥𬗴�𬇀�函函𥕖𨁥𬗴殄殄𫋵𫋵ٿﰱﻠﱭ�𦹲غ嗢��叜𦱷�جᄔ𐭓䂻䂻蜽�
繥��𦹲�函函��𐬩殄殄��ٿﻠ𩂃𣦃嗢嗢𩂃𫋵叜叜𢚼𬈍جᄔᄔﭣ().split())
for 䂻蜽𩋉𣼨�𐬩�𞢟ᢛ꼔䰲䰲��뫕뫕ﳹ𭬹��𬈍ࠎ���ߓ����𒁠ﹶ𨝐繥���𬨅ﵐ函𐤇𐳁𔘱殄�𭬹ٿﰱﱭ𬗴�غ嗢�𨁥叜叜𣫺𐢗جᄔᄔޞ i 䂻䂻蜽�𦹲��𐰬�ﻘᢛ꼔䰲𫊠�
�𫋵嗢�𐰩叜叜��جᄔᄔ藛1, 䂻䂻蜽𐪅�𩂃���ﻘᢛ꼔䰲䰲�𩋉뫕ﳹ𨝐���ࠎ��𬨅�𐤇𐤇�𐡠�繥𐦊𫝓�𬗴ﵐ函�𨁥𨁥殄殄𘐓𣬥ٿﰱﻠﱭ𫋵𐤇غ嗢𐰩�叜叜��ᄔᄔ�(*䂻䂻蜽�𐬚
�𫋵函𦹲��殄殄𣼨�ٿﻠ�𡿲غ嗢�𣦃叜叜��جᄔᄔ�𬈍, *䂻蜽�𞢱��𨝐�ﻘᢛ꼔ᢛ䰲𐤇�뫕ﶖ��𫝓�𬗴𩋉�ߓ���𐰬𐪗ﹶ𑄅繥繥𫝓𐢗𐤇�ﵐ函𭬹𭬹𐦊殄殄𬗴𬗴ٿﰱﻠﱭ𬟷𢟗غ嗢嗢𧱀𧱀叜叜�
 䂻蜽𦹲𐰩�𨝐�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𭬹��𐪅ࠎ���ߓ����𩋉ﹶ𔐽繥���𐳁ﵐ函𬨅𔘱�殄𨁥𨁥ٿﻠﱭ�𫋵嗢�𬇀叜叜𨁥𣼨جᄔᄔﯹ += [䂻䂻蜽𣦃𣼨��𞢱�ﻘᢛ꼔䰲𫊠�뫕ﳹ�
嗢��叜叜𐰩�جᄔᄔﯹ[-]䂻䂻蜽蜽�𣦃�𐪅��ᢛ꼔꼔䰲𫝓�뫕뫕ﶖ�𩋉��ࠎ���ߓ��𐢗𐤇�ﹶ�繥�𐦊𐦊�ﵐ函�𬇀𬇀殄殄𨁥𣬥ٿﰱﻠﱭ𫋵𫋵غ嗢嗢�𐰩叜��جᄔޞ % 䂻蜽𞡵��𐱀
�𫋵�殄𦹲𐰩ﰱﻠ��غ嗢嗢�𡿲叜叜𩂃𣦃جᄔᄔﳍ]
 䂻蜽𦹲𐰩�𬗴�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𦹲��𐰩ࠎ���ߓ����𩋉ﹶ𔐽繥���𐳁ﵐ函�𬈍𐢗殄�𫝓ٿﰱﱭ𣦃�غ嗢��叜叜𨁥𬈍جᄔᄔ㸂㸂 += [䂻䂻蜽𬗴𐳁��𬇀�ﻘᢛ꼔䰲𫊠�뫕ﳹ�
嗢��叜叜𐰩�ᄔᄔ㸂㸂[-]䂻䂻蜽蜽�𐪅�𔐽��ᢛ꼔꼔䰲𫝓�뫕뫕ﶖ�𨝐��ࠎ���ߓ��𐤇𩂃�ﹶ�繥�𣦃𐡠�ﵐ函�𬇀𨁥殄殄𢮁𢮁ٿﰱﻠﱭ𐰬𐳁غ嗢嗢�𣦃叜𑄅�ᄔ𢚼(䂻蜽𞡵���
函�𣦃�殄𬈍𬈍ﰱﻠ��غ嗢嗢�𩂃叜�𐪅جᄔᄔ, 䂻䂻蜽���𞤥��ﻘᢛ꼔ᢛ䰲𔘱�뫕뫕ﶖ����ࠎ��𐦊ߓ𫋵����ﹶ𬇀繥𦹲𐰩𐬩𞢱ﵐ函函𞢱𞢟𒁠殄�𒁠ٿﰱﻠ𢚼�غ嗢��叜叜��جᄔᄔ
�𫋵ﹶﹶ�繥���𣼨函𣼨𐬩�殄殄��ﰱﻠﱭ�𣦃غ嗢�𬈍叜叜�𫝓جᄔﳍ % 䂻蜽𔘱��𬨅��ﻘᢛ꼔ᢛ䰲��뫕뫕ﶖ���𨁥ࠎ𬇀𥕖𥕖ߓ𬗴𐰟𡿲𫋵𫋵�繥𐰩𦹲�𐰩ﵐ函函𣼨𦱷𦱷殄殄𡪐𫹆ٿﰱﻠﱭ�
def 䂻蜽𭬹𣼨�𐬩�𞢟ᢛ꼔䰲䰲��뫕뫕ﳹ𫋵��𬈍ࠎ���ߓ����𒁠ﹶ𨝐繥���𬨅ﵐ函�𬈍�殄𭬹𭬹ﰱﻠﱭ��غ嗢�𨁥叜叜𔘱𑄅جᄔᄔ司司(䂻䂻蜽�𐦊��𬗴�ﻘᢛ꼔䰲𫊠�뫕ﳹ
غ嗢��叜叜𩋉�ᄔᄔ��, 䂻䂻蜽𩂃�𣦃���ﻘᢛ꼔䰲䰲�𬗴뫕ﳹ𩋉���ࠎ��𐳁�𬨅𬨅�𐢗�繥𣼨𭬹��ﵐ函函𬗴𒁠𩂃殄殄𨁥𨁥ٿﰱﻠﱭ𐡠𬇀غ嗢嗢𣬥𫝓叜叜𩋉𩋉جᄔᄔ𨝐𨝐):
 return 䂻蜽𞢱𞢟�𬗴�𡿲ᢛ꼔䰲䰲��뫕뫕ﳹ𬈍��𫝓ࠎ���ߓ����𐰬ﹶ𔘱繥���𐤇ﵐ函𐢗��殄殄𫝓�ٿﰱﻠ𬇀�غ嗢嗢𘐓𣬥叜叜𬨅𫋵جᄔﯹ䂻䂻蜽�𐬩�𬗴��ﻘᢛ꼔ᢛ䰲          뫕뫕
ﱭ�𫝓嗢�𐦊叜叜��جᄔ�𡿲]*䂻蜽蜽�𫝓���𐡠ᢛ꼔ᢛ䰲𞤥�뫕ﳹﶖ���𐳁�𬨅�𐢗𐤇�𐡠��繥繥𫝓���ﵐ函𬇀𨁥𨁥殄殄𔘱𑄅ٿﰱﻠﱭ𐤇�غ嗢嗢��叜�𬗴جᄔ㸂[䂻蜽蜽��𐲥
ﵐ函�𦹲�殄𨝐𣼨ﰱﻠ��غ嗢嗢��叜叜��جᄔᄔ𐡠�]*䂻蜽��𩋉��𩋉ﻘ꼔꼔䰲䰲�𔘱뫕ﶖ���𭬹�𫋵𬗴ߓ����𨁥ﹶ𣼨繥繥𞢟𫋵𫋵𡿲ﵐ函�𣦃�殄𐬩𞢱ﰱﻠﱭ��غ嗢�𧱀叜�𐼸
𫋵�𫋵ﹶ�繥𬗴���ﵐ函𨁥𡿲�殄��ٿﰱﻠﱭ��غ嗢�𬈍叜叜�𞤥ᄔᄔ��䂻䂻蜽�𬨅�𬨅��ﻘᢛ꼔ᢛ䰲��뫕ﳹﶖ��𨁥𨁥ࠎ𣬥𣬥𬨅ߓ𧳶𫋵�𨝐��繥繥𬨅��𐬩函𨘑𨘑�殄殄�𐬚ﰱ
뫕ﳹﶖ��𐰩�ࠎ�𣼨�ߓ���𡿲�𩂃繥�𐪅𐪅�ﵐ函��𬈍殄𫝓𫝓ٿﰱﻠﱭ𔐽𡿲غ嗢嗢𐳁𔘱叜叜𬨅𬨅جᄔᄔﳍ
䂻蜽𦹲𦹲�𦹲�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𐰩ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅�殄𭈼𫝓ٿﻠﱭ�𣦃嗢�𐳁叜𨁥𨁥جᄔᄔ𫝓𫝓=[䂻䂻蜽𨝐��𐳁�𬇀ᢛ꼔䰲䰲��뫕ﳹ𣋙𣋙
��叜叜𦹲�جᄔ�(䂻䂻蜽蜽�𡿲����ﻘᢛ꼔ᢛ䰲𐡠�뫕ﳹﶖ�𫝓��𔐽��ߓ��𐳁𔘱�ﹶ�繥�𩂃�𣦃ﵐ函�𣦃𐡠殄𬈍𦹲ٿﰱﻠﱭ𩋉𢮁غ嗢嗢𨝐𨝐叜��جᄔﮘ(䂻蜽𢚼��𦱷�𩻔ᢛ
殄�𣦃ٿﰱﻠ𬈍�嗢𞢟𩋉叜𡿲�ᄔᄔ𣦃, 䂻蜽蜽����𨝐�ﻘ꼔꼔ᢛ䰲�𨝐뫕ﳹﶖ����ࠎ���ߓ𬇀𭬹���ﹶ�繥繥�𬇀𬇀𨁥ﵐ函函𐬩𞢱𣼨殄殄𞢱𞢟ٿﰱﻠﱭ𒁠𩂃غ嗢�𬟷叜叜�𗸒جᄔﭣ)s
𫋵��ߓ�𦹲���ﹶ�繥𞢟��𡿲ﵐ函𩂃��殄𣦃�ٿﰱﻠﱭ𬈍�嗢嗢𞤥�叜叜�𩋉ᄔޞin 䂻蜽𨝐��𭬹�𐦊ᢛ꼔䰲䰲��뫕뫕ﳹﶖ𨁥𬗴𐰟𡿲ࠎ��𫋵ߓ𦹲����ﹶ𐬩繥�𦱷��ﵐ函函�𫬎
꼔ᢛ䰲��뫕뫕ﳹ�𞢱�𬗴𡿲�𒁠��𣦃��ﹶ�繥𢚼𬈍��ﵐ函�𩋉�殄𩂃𨝐ٿﰱﻠﱭ𑄅𬨅غ嗢嗢𐤇𬈍叜叜𬈍𭬹جᄔᄔ𫝓𬗴)]
䂻蜽𦹲𦹲�𩋉�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𒁠ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅𦹲殄�𔘱ٿﰱﻠ𐦊�غ嗢��叜叜𨁥𨁥جᄔᄔ𐢗𐡠 += [(䂻蜽𩋉��𦹲�𨝐ᢛ꼔䰲䰲��뫕ﳹ
嗢��叜叜𐰩�ᄔᄔ��, 䂻䂻蜽𒁠�𩂃���ﻘᢛ꼔䰲䰲�𬈍뫕ﳹ𩋉���ࠎ��𐰬�𑄅𬨅�𬨅�繥𐡠𐢗��ﵐ函函𬗴𬗴𬗴殄殄𬇀𨁥ٿﰱﻠﱭ𣬥𑄅غ嗢嗢𫋵𐤇叜叜𦹲𐰩جᄔᄔ㡢㡢)]
䂻蜽𦹲𦹲�𐦊�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𫋵ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅𣦃殄殄𐬩𐡠ٿﰱﻠﱭ𐦊𫝓غ嗢嗢𩋉𔐽叜叜𨁥𨁥جᄔᄔ𑄅𬨅.sort()
䂻蜽𦹲𦹲�𣦃�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𣦃ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函𬨅𬨅𔘱殄殄𬇀𨁥ٿﰱﻠﱭ𐦊𫋵غ嗢嗢𦹲𦹲叜叜𨁥𨁥جᄔᄔﶩ=[]
for 䂻蜽𬗴𣼨�𐬩�𞢟ᢛ꼔䰲䰲��뫕뫕ﳹ𞤥��𬈍ࠎ���ߓ����𔐽ﹶ𨝐繥���𬨅ﵐ函𐤇𐤇𐢗殄�𭬹ٿﰱﱭ𬗴�غ嗢�𨁥叜叜𣬥𬨅جᄔᄔޞ i 䂻䂻蜽�𐬩��𧨜�ﻘᢛ꼔䰲𐱀�
�𫋵嗢�𐰩叜叜��جᄔ藛(䂻䂻蜽𣦃�𐪅���ﻘᢛ꼔䰲䰲�𫝓뫕ﳹ𔐽���ࠎ��𑄅�𬨅𐢗�𐡠�繥𭬹𐦊��ﵐ函函𐢗𬇀𬇀殄殄𐳁𮌡ٿﰱﻠﱭ𐢗𐤇غ嗢嗢𐰩𭬹叜叜𐬩𞢱جᄔᄔ𨘑𐪍+1):
 䂻蜽𦹲𐰩�𬗴�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𦹲��𐰩ࠎ���ߓ����𩋉ﹶ𔐽繥���𐳁ﵐ函𬨅��殄殄𫝓�ٿﰱﻠ𣦃�嗢𐳁�叜叜𨁥𬈍جᄔᄔⰑ=䂻䂻蜽蜽𐦊𨝐��𐳁�ﻘᢛ꼔䰲𥹢�뫕ﳹ�𣋙�
叜叜𦹲𦹲ᄔ司司䂻蜽蜽𡿲�𒁠�𩂃�ᢛ꼔ᢛ䰲�𬈍뫕ﳹﶖ��𩋉�ࠎ���ߓ���𑄅𬨅ﹶ�繥��𣦃𐪅函𣦃��殄殄𦹲�ٿﰱﻠﱭ𢮁𢮁غ嗢嗢𨝐𐰬叜叜��جᄔ�𑄅䂻蜽蜽�𦱷��𩻔�ﻘ
殄�𣦃ٿﰱﻠ𬈍�嗢𞢟𩋉叜𡿲𒁠جᄔޞ[0]+䂻蜽蜽�𐰬���𩋉ᢛ꼔ᢛ䰲𐳁�뫕ﳹﶖ���𨏵�𭬹�𐰟𫋵�𬗴��繥繥𨁥��𐬩ﵐ函函𐬩𞢱𞢟殄殄��ٿﰱﻠﱭ�𢚼嗢嗢��叜𩻔�ᄔᄔ�𢼼
ﹶ𫋵繥����ﵐ函�𞢱𞢟殄𡿲�ﰱﱭ𣦃�غ嗢嗢𐪅𐡠叜叜��جᄔᄔޞ[1]2, 䂻蜽�𬨅��𐤇�ﻘ꼔꼔䰲䰲��뫕ﳹﶖ����ࠎ𥕖𨁥𬗴ߓ𡿲𫋵𫋵𨁥�ﹶ�繥�𐰩𣼨�函函��𡪐殄殄�𫬎ﰱﻠ
ﳹﶖ��𦹲�ࠎ�𭬹�ߓ���𬗴�𡿲繥�𣦃𣦃�ﵐ函��𢚼殄𐰩𐬩ٿﰱﻠﱭ𩋉𔐽غ嗢嗢𨝐𐰬叜叜𑄅𬨅جᄔᄔޞ][0]-1)
 for 䂻蜽𣼨𣼨�𞢱�𐰬ᢛ꼔䰲䰲��뫕뫕ﳹ𐡠��𬈍ࠎ���ߓ����𩂃ﹶ𨝐繥���𬨅ﵐ函𐳁𔘱𣼨殄�𐦊ٿﰱﱭ𒁠�غ嗢𨁥𬗴叜叜𐢗𐡠جᄔᄔﯣ n䂻䂻蜽�𨝐�𐰬��ﻘᢛ꼔ᢛ䰲          뫕뫕
ﱭ�𫋵嗢�𐰩叜叜��جᄔ藛(䂻䂻蜽𣦃�𐪅���ﻘᢛ꼔䰲䰲�𞤥뫕ﳹ𞤥���ࠎ��𬨅�𐢗𐤇�𬨅�繥𐦊𐦊�𬗴ﵐ函函𬇀𬇀𨁥殄殄𘐓𘐓ٿﰱﻠﱭ𫋵𫋵غ嗢嗢𦹲𐰩叜叜𣼨𣼨جᄔᄔޞ):
  if 䂻蜽𣼨𣼨�𞢱�𬇀ᢛ꼔䰲䰲��뫕뫕ﳹ𐡠��𬈍ࠎ���ߓ����𞢟ﹶ𨝐繥���𬨅ﵐ函�𐡠�殄𭬹𐦊ﰱﻠﱭ��غ嗢𨁥𐰬叜叜𑄅𬨅جᄔᄔ�𩋉[䂻蜽𐦊��𬗴�𗸒ᢛ꼔䰲䰲��
غغ嗢��叜叜𨝐�جᄔᄔﯣ][0 < 䂻䂻蜽蜽�𐦊�𐪅��ᢛ꼔꼔䰲𩋉�뫕뫕ﶖ�𐰬��ࠎ���ߓ��𨁥𨁥�ﹶ�繥�𬗴𬗴�函函��𣼨殄殄𞢟𫋵ٿﰱﻠﱭ𦹲𐰩غ嗢𣼨�叜叜��ᄔᄔ��[䂻䂻蜽�𐼸
ﵐﵐ函�𦹲�殄𣼨𣼨ﰱﻠ��غ嗢嗢�𣦃叜叜𐪅𣦃جᄔޞ[0]an 䂻䂻蜽���𐳁��ﻘᢛ꼔ᢛ䰲𐤇�뫕뫕ﶖ����ࠎ��𨁥ߓ𨁥��𬨅𧳶ﹶ𫋵繥繥𣼨𦹲��ﵐ函函���殄𨘑𨘑ٿﻠﱭ�𐲥嗢�        叜叜
𫋵��ߓ�𦹲���ﹶ�繥𞢟��𡿲ﵐ函𩂃��殄𫋵�ٿﰱﻠﱭ𬈍𬈍嗢𞤥𩋉叜𔐽�جᄔﯣ[] <= 䂻蜽𬈍��𐦊�𞤥ᢛ꼔䰲䰲𨁥𐳁뫕뫕ﳹﶖ𫋵𐢗��ࠎ��𭬹ߓ𣼨����ﹶ𨘑繥�𪴋��ﵐ
ᢛ꼔ᢛ䰲��뫕뫕ﳹ�𞢟�𨁥𡿲�𩂃��𐪅��ﹶ�繥𬈍𬈍��ﵐ函�𩋉�殄殄𨝐𨝐ٿﰱﻠﱭ𬨅𬨅غ嗢嗢𭈼𫝓叜叜𭬹𭬹جᄔᄔޞ][1]:
   䂻蜽𑄅𬨅�𣼨�𞢱ᢛ꼔䰲䰲��뫕뫕ﳹ𬇀��𨁥ࠎ���ߓ����𔐽ﹶ𦹲繥���𑄅ﵐ函𐢗𐤇�殄𐪅𭬹ٿﻠﱭ�𬗴嗢�𨁥叜叜𢮁𢮁جᄔᄔⰑ -= (䂻䂻蜽�𐤇��𣼨�ﻘᢛ꼔䰲𞡵�뫕ﳹ
غ嗢��叜叜𬈍�جᄔﶩ䂻䂻蜽蜽�𩂃�𣦃��ᢛ꼔꼔䰲𬈍�뫕뫕ﶖ�𩋉��ࠎ���ߓ��𬨅𬨅�ﹶ�繥�𬇀𭬹�ﵐ函函��𫚊殄殄�𨁥ٿﰱﻠﱭ𞢱𣼨غ嗢嗢𞢟𒁠叜𡿲�ᄔﯣ]*䂻蜽𦱷��𩻔�𩻔
𫋵殄�𦹲ٿﰱﱭ��غ嗢𣼨�叜𒁠�ᄔᄔ司司(䂻蜽蜽����𫝓�ﻘ꼔꼔ᢛ䰲�𐰬뫕ﳹﶖ����ࠎ���ߓ𭬹𐦊���ﹶ�繥繥��𨁥𬇀ﵐ函函𬗴𐰟𡿲殄殄��ٿﰱﻠﱭ�𐰩嗢嗢��叜𡪐�ᄔᄔ�𢼼
𫋵繥����ﵐ函�𐬩𞢱殄𬇀�ﰱﱭ𣦃�غ嗢嗢𫋵𫋵叜�𬈍جᄔޞ][]-䂻蜽�𔘱��𬨅�ﻘ꼔꼔䰲䰲��뫕ﳹﶖ����ࠎ𨁥𐰬�ߓ𑄅𬨅𬨅𫋵𐢗ﹶ�繥�𭬹𭬹�函函��𨁥殄殄�𫹆ﰱﻠ��
�𫋵ࠎࠎ��𐰩𩋉���𞢱�繥繥��𩂃𩂃函函���殄殄�𬈍ٿﰱﻠﱭ��غ嗢嗢𒁠�叜叜��جᄔ][0+䂻蜽蜽��𔐽�𬗴�ᢛ꼔꼔ᢛ䰲䰲𣫺𐢗뫕뫕ﳹﶖ𦹲��𫝓�𩋉𔐽ߓ����𨁥ﹶ�繥𫊠�
�𫋵ﻘ꼔꼔䰲�𣼨뫕ﳹ𬗴�𡿲�ࠎ�𣦃��𩂃���ﹶ�繥繥𐰩���ﵐ函𔐽�𨝐殄殄𐳁�ٿﻠﱭ𐢗�غ嗢嗢��叜�𫝓جᄔ][1-䂻䂻蜽蜽𬨅𬨅𫋵𫋵��ﻘᢛ꼔ᢛ䰲��뫕ﳹﶖ��𡓟𡓟𓍸��
ᄔ�𫝓䂻蜽蜽𣼨�𐬩�𞢟�ᢛ꼔ᢛ䰲�𐪅뫕ﳹﶖ��𬈍�ࠎ���ߓ���𞢱𞢟ﹶ�繥��𬨅𬨅函函𐬩𐡠�殄𭬹𐦊ٿﻠﱭ�𔐽嗢嗢𨁥𐰬叜叜𑄅𬨅جᄔᄔﯣ[], 䂻蜽𬗴�𗸒��𬟷ﻘ꼔ᢛ䰲�
ﻠﱭ�𩋉嗢�𨝐叜叜��جᄔ�𡿲[䂻蜽蜽�𭬹���𐡠ᢛ꼔ᢛ䰲𞤥�뫕ﳹﶖ���𐳁�𬨅�𐢗𐤇�𨁥��繥繥𫋵�𬗴𬗴ﵐ函�𨁥𨁥殄殄𧳶𞢟ٿﰱﻠﱭ𦹲𦹲嗢嗢�𣼨叜��جᄔޞ[1]䂻䂻蜽�
�𫋵ﵐ函𐰩��殄殄𐬩�ٿﻠ�𒁠غ嗢�𐪅叜�𞤥جᄔ𬈍�[䂻蜽�𔐽��𨝐�ﻘᢛ꼔ᢛ䰲𐢗�뫕ﶖ��𐦊�𬗴𬗴�ߓ���𨁥𨁥ﹶ𣬥繥繥𧳶𫋵𫋵�ﵐ函函𐰩𐦊𬨅殄�𞢱ٿﰱﱭ𣩐�غ嗢��叜叜�
ࠎ𫋵��ߓ�𐰩���ﹶ�繥𬇀��𡿲ﵐ函𣦃��殄𫋵�ٿﰱﻠﱭ𬈍𩂃غ嗢嗢𩋉𩋉叜叜𡿲𨝐جᄔᄔﳍ
   䂻蜽𦹲𬗴�𣼨�𞢱ᢛ꼔䰲䰲��뫕뫕ﳹ𐰩��𣼨ࠎ���ߓ����𔐽ﹶ𣦃繥���𑄅ﵐ函𐢗𐤇�殄𞤥𭬹ﰱﻠﱭ��غ嗢�𨁥叜叜𐢗𐤇جᄔᄔⰑ += 䂻䂻蜽�𐳁��𬇀�ﻘᢛ꼔䰲𫊠�뫕ﳹ
嗢��叜叜𐰩�جᄔᄔﳍ
   䂻蜽𬈍𬈍�𣼨�𞢱ᢛ꼔䰲䰲��뫕뫕ﳹ𬨅��𐤇ࠎ���ߓ����𔐽ﹶ𐤇繥���𑄅ﵐ函𐢗𐤇�殄𬇀𭬹ﰱﻠﱭ��غ嗢�𨁥叜叜𐰩𐬩جᄔᄔⰑ %= 䂻䂻蜽�𩂃��𐪍�ﻘᢛ꼔䰲𩻔�뫕ﳹ
嗢��叜叜𐰩�جᄔᄔﳍ
 䂻蜽𦹲𐰩�𭬹�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𩂃��𫋵ࠎ���ߓ����𩋉ﹶ𔐽繥���𐳁ﵐ函𬨅𐡠�殄𐡠𧨜ٿﻠﱭ�𫝓嗢�𬇀叜叜𨁥𐰬جᄔᄔﶩ += [䂻䂻蜽𐰩𭬹��𣼨�ﻘᢛ꼔䰲𫹆�뫕ﳹ�
嗢��叜叜𐰩�جᄔᄔⰑ]
䂻蜽𦹲𦹲�𐰩�𣼨ᢛ꼔䰲䰲��뫕뫕ﳹ𐪅��𣦃ࠎ���ߓ����𞤥ﹶ𩋉繥���𐰬ﵐ函�𬨅�殄𐤇𬨅ﰱﻠﱭ��غ嗢�𩋉叜𨁥𨁥جᄔᄔ𣬥𑄅(䂻䂻蜽蜽𩋉��𐰩�𭬹ᢛ꼔䰲䰲��뫕ﳹ𓍸𞡵�
叜叜𦹲𦹲ᄔᄔﶩ䂻蜽蜽𬇀�𡿲�𩂃�ᢛ꼔ᢛ䰲�𫋵뫕ﳹﶖ��𞤥�ࠎ���ߓ���𔘱𑄅ﹶ�繥��𐡠𞢟函𐦊𫝓𫝓殄殄𩋉𔐽ٿﰱﻠﱭ𐰬𐪗غ嗢嗢𬨅𫝓叜叜𩋉𩋉جᄔᄔ𭬹𐦊])
