rng_58's blog

By rng_58, history, 4 years ago, In English

AtCoder Grand Contest 006 will be held on Saturday (time). The writer is sugim48.

Note that this time the contest duration is 130 minutes (20 minutes longer than usual).

Contest Link

Contest Announcement

The point values are 200 — 400 — 800 — 1300 — 1500 — 1700.

Let's discuss problems after the contest.

Read more »

 
 
 
 
  • Vote: I like it
  • +137
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

CODE FESTIVAL 2016 Qualification Round C will be held on Sunday Monday (time). The writer is sigma425.

Contest Link

Contest Announcement

This is one of the three qualification rounds of CODE FESTIVAL. Top 5 foreign students of this round will qualify. If you are eligible for the onsite contest, please don't forget to fill the form at https://krs.bz/rhd-itm/m/code_fes_2016. Please check the detail of the tournament at http://codeforces.com/blog/entry/46647.

The contest duration is 2 hours, and there will be 5 problems. The first 4 problems are mainly used for choosing domestic students and much easier than other tournament competitions. However, we added one more problem and we hope this is interesting enough for choosing top 5 qualifiers. (Anyway, most probably the qualifiers will be determined by the speed of solving all problems). Note that there is no time penalty for incorrect submissions. The time penalty is MAX, not SUM.

The point values are 100 — 200 — 400 — 800 — 1200. If you are unfamiliar with AtCoder System, 2X-point problem in AtCoder is as hard as TopCoder's d1 X-point problem.

Let's discuss problems after the contest.

UPD: Fixed the date.

UPD: The top 5 were jcvb, w4yneb0t, AlexDmitriev, xyz111, and xyz2606. Congratulations!

UPD: Since wwwwodddd turned out to be a cheater, this account was excluded from the contest and banned from AtCoder. The qualifiers and the ratings were recomputed.

Read more »

 
 
 
 
  • Vote: I like it
  • +101
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

CODE FESTIVAL 2016 Qualification Round B will be held on Monday (time). The writer is DEGwer.

Contest Link

Contest Announcement

This is one of the three qualification rounds of CODE FESTIVAL. Top 5 foreign students of this round will qualify. If you are eligible for the onsite contest, please don't forget to fill the form at https://krs.bz/rhd-itm/m/code_fes_2016. Please check the detail of the tournament at http://codeforces.com/blog/entry/46647.

The contest duration is 2 hours, and there will be 5 problems. The first 4 problems are mainly used for choosing domestic students and much easier than other tournament competitions. However, we added one more problem and we hope this is interesting enough for choosing top 5 qualifiers. (Anyway, most probably the qualifiers will be determined by the speed of solving all problems). Note that there is no time penalty for incorrect submissions. The time penalty is MAX, not SUM.

The point values are 100 — 200 — 500 — 700 — 1100. If you are unfamiliar with AtCoder System, 2X-point problem in AtCoder is as hard as TopCoder's d1 X-point problem.

Let's discuss problems after the contest.

UPD: Among the top 5 foreign participants, Arterm has already qualified from round A, and matthew99, Reyna, Tachibana-Kanade are too young. Congratulations to Merkurev, polequoll, fqw, sevenkplus, and Zlobober! Note that this information is unofficial, and it is possible that some of them don't want to participate in finals (or ineligible).

Read more »

 
 
 
 
  • Vote: I like it
  • +72
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

Let's discuss problems.

How to solve 8? I have no idea at all and finally decided to believe that we don't need nested addition/subtraction blocks, but it got WA. It seems there are harder cases.

How to solve 12? Essentially it reduces to the following: you are given a circle C and a point P. Find the movement of a point on C whose angular velocity is proportional to the distance from P. Is numerical integration accurate enough?

Read more »

 
 
 
 
  • Vote: I like it
  • +53
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

AtCoder Grand Contest 005 will be held on Saturday (time). The writer is yosupo.

Contest Link

Contest Announcement

Let's discuss problems after the contest.

Read more »

 
 
 
 
  • Vote: I like it
  • +75
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

CODE FESTIVAL 2016 Qualification Round A will be held on Saturday (time). The writer is sugim48.

Contest Link

Contest Announcement

This is one of the three qualification rounds of CODE FESTIVAL. Top 10 foreign students of this round will qualify. If you are eligible for the onsite contest, please don't forget to fill the form at https://krs.bz/rhd-itm/m/code_fes_2016. Please check the detail of the tournament at http://codeforces.com/blog/entry/46647.

The contest duration is 2 hours, and there will be 5 problems. The first 4 problems are mainly used for choosing domestic students and much easier than other tournament competitions. However, we added one more problem and we hope this is interesting enough for choosing top 10 qualifiers. (Anyway, most probably the qualifiers will be determined by the speed of solving all problems). Note that there is no time penalty for incorrect submissions. The time penalty is MAX, not SUM.

The point values are 100 — 200 — 400 — 800 — 1200. If you are unfamiliar with AtCoder System, 2X-point problem in AtCoder is as hard as TopCoder's d1 X-point problem.

Let's discuss problems after the contest.

UPD: Congratulations to tourist, endagorion, LHiC, Arterm, Kostroma, mmaxio, Um_nik, ainu7, malcolm, FatalEagle! (I don't know who is eligible and this is not the official information, please let me know if some of them won't come.)

Read more »

 
 
 
 
  • Vote: I like it
  • +86
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

Note: The contest was moved to Sunday in order to avoid collision with TCO Russia.

AtCoder Grand Contest 004 will be held on Sunday (time). The writer is sugim48.

Contest Link

Contest Announcement

Let's discuss problems after the contest.

Read more »

 
 
 
 
  • Vote: I like it
  • +143
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

AtCoder Grand Contest 003 will be held on Sunday (time). The writer is DEGwer.

Contest Link

Contest Announcement

Let's discuss problems after the contest.

Also, we've just announced Code Festival 2016!

Read more »

 
 
 
 
  • Vote: I like it
  • +103
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

We announce a new international onsite competition: Code Festival 2016. The contests will be held on AtCoder.

The top 20 foreign (non-Japanese) university students are invited to the Finals in Japan. (Even if you are not a student, you can participate in qualification rounds and parallel rounds of onsite contests. All of these contests are rated.)

The flight tickets and hotels for finalists are paid by organizers.

There will be three qualification rounds. Top 10 foreign students from round A and top 5 each from round B and C will qualify for the onsite contest.

Also, there will be many interesting events during the onsite competition.

More detailed information can be found at the official website.

Read more »

 
 
 
 
  • Vote: I like it
  • +245
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

All testcases of atcoder problems will be posted here: https://www.dropbox.com/sh/arnpe0ef5wds8cv/AAAk_SECQ2Nc6SVGii3rHX6Fa?dl=0

If you are interested in the rating system, please check rating.pdf at https://www.dropbox.com/sh/zpgcogxmmu84rr8/AADcw6o7M9tJFDgtpqEQQ46Ua?dl=0

Read more »

 
 
 
 
  • Vote: I like it
  • +119
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

AtCoder Grand Contest 002 will be held on Sunday (time). The writer is sugim48.

Contest Link

Contest Announcement

Let's discuss problems after the contest.

UPD: Thank you for participation. Editorial (English at the bottom)

Read more »

 
 
 
 
  • Vote: I like it
  • +136
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

AtCoder Grand Contest 001 will start soon (time).

Note that you need to click the blue button here to register.

Let's discuss problems after the contest.

The contest duration is changed to 110 minutes.

The contest has finished. How was the contest?

Congratulations to cgy4ever for winning!

Editorial: https://agc001.contest.atcoder.jp/data/agc/001/editorial.pdf (English is at the bottom)

UPD: The rating is updated.

Read more »

 
 
 
 
  • Vote: I like it
  • +118
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English

Hello!

We made a new programming contest website called AtCoder. I'm the admin of AtCoder.

The first international contest called AtCoder Grand Contest 001 will be held on this Saturday (Time), and we are planning to hold a lot of contests regularly. This time the problems were written by snuke. We invite you to participate in our contests!

See AtCoder's Website for detailed information.

Read more »

 
 
 
 
  • Vote: I like it
  • +644
  • Vote: I do not like it

By rng_58, history, 4 years ago, In English
CF Handle Country
1. xyz111China
2. kevinsogoPhilippines
3. touristBelarus
4. TooDifficuItChina
5. ksun48Canada
6. eatmoreRussia
7. yosupoJapan
8. ffaoBrazil
9. simonlindholmSweden
10. marcin_smuPoland
11. s-quarkChina
12. gs12117South Korea
13. mnbvmarPoland
14. xllend3China
15. Savlik5Czech Republic
16. semiexpJapan
17. rng_58Japan
18. jcvbChina
19. andrewztaRussia
20. MerkurevRussia
21. NoreFrance
22. scott_wuUnited States
23. ArtermBelarus
24. wuzhengkaiChina
25. XharkSouth Korea
26. pashkaRussia

Read more »

 
 
 
 
  • Vote: I like it
  • +133
  • Vote: I do not like it

By rng_58, history, 5 years ago, In English

I was an admin of TopCoder for about 4 years. Recently I came back as a competitor and I participated in four SRMs. Here are my performances:

SRM 681 Hard: CoinFlips

It was an easy DP, but I started to implement something stupid and wasted time. When I finished coding around 5 minutes before the end of the contest, the server was slow and I couldn't compile my solution. Though the match was unrated, I should have solved it earlier.

SRM 682 Hard: TheKFactor

My solution failed because of precision errors (in Linear Programming). I should have used long doubles instead of doubles (and passed in the practice room).

SRM 683 Hard: RandomWalkOnGrid

Failed systest because of two (!) stupid mistakes: incorrect array size and integer overflow.

SRM 684 Hard: Permutant

Missed cases with a.size() == 1. Failed systest again.

It's really important to keep participating in TopCoder matches. Now I can't solve anything!

Read more »

 
 
 
 
  • Vote: I like it
  • +441
  • Vote: I do not like it

By rng_58, history, 5 years ago, In English
CF Handle Country
1. bmerrySouth Africa
2. PetrRussia
3. TooDifficuItChina
4. rng_58Japan
5. AlexDmitrievRussia
6. Um_nikRussia
7. I_love_Hoang_YenVietnam
8. eatmoreRussia
9. Al.CashUkraine
10. snukeJapan
11. ACRushChina
12. kcm1700South Korea
13. scott_wuUnited States
14. uwiJapan
15. MerkurevRussia
16. doreamonTaiwan
17. simonlindholmSweden
18. kelvinTaiwan
19. KANRussia
20. azukunRussia
21. ZloboberRussia
22. yosupoJapan
23. krismazPoland
24. yeputonsRussia
25. ShikTaiwan

Read more »

 
 
 
 
  • Vote: I like it
  • +223
  • Vote: I do not like it

By rng_58, history, 5 years ago, In English
 
 
 
 
  • Vote: I like it
  • +349
  • Vote: I do not like it

By rng_58, history, 5 years ago, In English

One day you came up with a brilliant solution during a contest, implemented it very carefully, and submitted it confidently. The verdict was ...... WA.

Probably most of you have experienced this sad situation. You can start debugging if you know the reason of WA, but what do you do otherwise? I frequently have trouble with this situation, so I'd like to ask your opinion. What should we do when we get WA?

Here are several possibilities:

1. Reread your code.

This is the simplest way of debugging. You may find some stupid typos.

2. Try various manual testcases.

Examples may not be very strong. Try some small tricky cases against your code.

3. Recheck the correctness of your algorithm.

Have you proved your solution? Is the proof correct?

4. Reread the statement.

You may have misunderstood the statement. Read it again to make sure that you understood the task correctly.

5. Stress-testing.

Write a straightforward solution, create lots of testcases by yourself, and compare both solutions. This is a very strong way to debug your solution, but time consuming.

6. Change the coder.

When you compete as a team, ask someone else to solve the problem instead.

7. Doubt the judge.

Judges are humans. They are not 100% correct.

8. Give up.

You may have other tasks to solve. Simply give up the current task and try something else.

Read more »

 
 
 
 
  • Vote: I like it
  • +371
  • Vote: I do not like it

By rng_58, history, 5 years ago, In English

GCJ will start in less than 24 hours.

Live Stream: https://www.youtube.com/watch?v=rh_EYIu7Ztc

Unfortunately I don't have time to edit this table, but rowdark will participate, and izrak won't.

Participants:

GCJ Handle Country CF Handle CF Rating TC Handle TC Rating R2 Rank R3 Rank Previous Finals
Gennady.KorotkevichBelarustourist3503tourist3766132014 (1st)
vepifanovRussiavepifanov2963Kankuro323233102011 (8th),
2012 (4th),
2013 (17th),
2014 (8th)
qwerty787788Russiaqwerty7877882947qwerty78778828992420
rng..58Japanrng_582941rng_583468312010 (7th),
2011 (1st),
2012 (19th)
yeputonsRussiayeputons2783yeputons309210319
MerkurevRussiaMerkurev2758Merkurev25463921
bmerrySouth Africabmerry2722bmerry329560112008 (3rd),
2009 (10th),
2010 (21st),
2012 (6th)
peter50216Taiwan0O0o00OO0Oo0o0Oo2637peter502162974224
TankEngineerChinaTankEngineer2634OierRobbin26362326
AngryBaconChinaAngryBacon2619AngryBacon6216
tkociumakaPolandtomasz.kociumaka2613tom612pl271782
dzhulgakovUkrainedzhulgakov2607dzhulgakov3168142142008 (44th),
2009 (5th) 2012 (9th),
2013 (13th),
2014 (9th)
simonlindholmSwedensimonlindholm2570208
semiexp.Japansemiexp2507semiexp3005627
pashkaRussiapashka2488pashka286211152008 (84th),
2009 (17th),
2010 (8th),
2011 (7th)
ishraqAustraliaizrak2482izrak20868518
betaverosTaiwanbetaveros2463betaveros218138417
RomkaBelarusRomka2452_Romka_2474446282014 (10th)
iwiJapaniwiwi2427iwiwi3100762008 (59th),
2010 (9th),
2014 (15th)
tczajkaPolandtomek2393tomek32041872003 (4th),
2004 (4th),
2006 (6th)
JAPLJJapanwrong2367wrong246567222013 (23rd)
wuzhengkaiChinawuzhengkai2343wuzhengkai2575135232014 (23rd)
faguGermanyfagu2306fagu225912612
kevinsogoPhilippineskevinsogo2236kevinsogo1369
XharkSouth KoreaXhark2132Xhark1677354
linguoUKlinguo3652008 (74th),
2010 (22nd),
2011 (22nd)

Read more »

 
 
 
 
  • Vote: I like it
  • +297
  • Vote: I do not like it

By rng_58, history, 5 years ago, In English

Recently IMO 2015 has ended. Problem 6 was the hardest one and solved by only 11 contestants, but for competitive programmers this task wasn't that hard. If you are interested in it, I think it's worth trying even if you haven't solved any IMO problems.

The problem statement is here.

I wrote some hints in white characters.

Hint 1: How is it related to competitive programming?

Hint 2: Doesn't it look like bitmask DP?

Hint 3: Run the following program.

mask = 0;

for(i=1;;i++){

mask» = 1;

mask| = (1«(ai - 1)); // here the newly set bit must be 0 before this operation

}

Hint 4: The number of '1' bits in mask is non-decreasing while the program is running.

So, the number of '1' bits will be constant at some moment: call it b.

Then, the sum of (aj - b) is the difference of sum of positions of set bits in mask when i = m and i = n.

Read more »

Tags imo
 
 
 
 
  • Vote: I like it
  • +187
  • Vote: I do not like it

By rng_58, 5 years ago, In English

I'm currently at the airport now, and I have some free time before boarding. Here's my prediction of this year's WF:

  1. SPb ITMO
  2. Moscow SU
  3. U Zagreb
  4. Tsinghua
  5. MIT
  6. U Tokyo
  7. U Warsaw
  8. Lviv NU
  9. Shanghai Jiao Tong
  10. Jagiellonian
  11. SPb SU
  12. University of California at Berkeley

After the contest, let's see if my predictions are good :)

Read more »

 
 
 
 
  • Vote: I like it
  • +287
  • Vote: I do not like it

By rng_58, 6 years ago, In English

Among top 25 participants of round 3, 23 are in the finalists group. Here are their handles:

Name Country TC Handle CF Handle
Gleb EvstropovRussiaGlebsHPGlebsHP
Ryuta KawaiJapanantaanta
Jakub PachockiPolandmeretmeret
Gennady KorotkevichBelarustouristtourist
Alexey ShmelevRussiaashmelevashmelev
Michael KeverRussiamikhailOKcerealguy
Евгений КапунRussiaeatmoreeatmore
Petr MitrichevRussiaPetrPetr
Makoto SoejimaJapanrng_58rng_58
Borys MinaievRussiaqwerty787788qwerty787788
Marek SokołowskiPolandmnbvmarmnbvmar
Fernando FonsecaBrazilffaoffao
Won-seok YooSouth Koreaainu7ainu7
Gaoyuan ChenChinacgy4evercgy4ever
Artem RakhovRussiaRAD.RAD
Robbin NiChinaOlerRobbinTankEngineer
Ikumi HideJapantozangezantozangezan
Mikhail MayorovRussia2rfmmaxio
Nicholas JimsheleishviliGeorgianika?
Dmytro SobolievUkrainesdyasdya
Yanpei LiuChina?AngryBacon
Chan Min KimSouth Koreakcm1700kcm1700
Alexander MilaninRussiaMilaninMilanin

Read more »

 
 
 
 
  • Vote: I like it
  • +166
  • Vote: I do not like it

By rng_58, 8 years ago, In English

Div2 A Colorful Stones (Simplified Edition) (Author: rng_58)

In this problem you just need to implement what is written in the statement. Make a variable that holds the position of Liss, and simulate the instructions one by one.

Div2 B Roadside Trees (Simplified Edition) (Author: snuke)

The optimal path of Liss is as follows: First she starts from the root of tree 1. Walk up the tree to the top and eat a nut. Walk down to the height min(h1, h2). Jump to the tree 2. Walk up the tree to the top and eat a nut. Walk down to the height min(h2, h3), ... and so on.

Div1 A / Div2 C Escape from Stones (Author: DEGwer)

In this problem, there are many simple algorithms which works in O(n). One of them (which I intended) is following:

You should prepare 2 vectors. If s[i] = 'l', you should push i to the first vector, and if s[i] = 'r', you should push i to the second vector. Finally, you should print the integers in the second vector by default order, after that, you should print the integers in the first vector in the reverse order.

This algorithm works because if Liss divides an interval into two intervals A and B and she enters A, she will never enter B.

Div1 B / Div2 D Good Sequences (Author: DEGwer)

The main idea is DP. Let's define dp[x] as the maximal value of the length of the good sequence whose last element is x, and define d[i] as the (maximal value of dp[x] where x is divisible by i).

You should calculate dp[x] in the increasing order of x. The value of dp[x] is (maximal value of d[i] where i is a divisor of x) + 1. After you calculate dp[x], for each divisor i of x, you should update d[i] too.

This algorithm works in O(nlogn) because the sum of the number of the divisor from 1 to n is O(nlogn).

Note that there is a corner case. When the set is {1}, you should output 1.

Div1 C / Div2 E Choosing Balls (Author: hogloid)

There are many O(Q * N * logN) solutions using segment trees or other data structures, but probably they will get time limit exceeded.

We can solve each query independently. First, let's consider the following DP algorithm.

dp[c] := the maximal value of a sequence whose last ball's color is c

For each ball i, we want to update the array. Let the i-th ball's color be col[i], the i-th ball's value be val[i], and the maximal value of dp array other than dp[col[i]] be otherMAX. We can update the value of dp[col[i]] to dp[col[i]] + val[i] × a or otherMAX + val[i] × b. Here, we only need to know dp[col[i]] and otherMAX. If we remember the biggest two values of dp array in that time and their indexes in the array, otherMAX can be calculated using the biggest two values, which always include maximal values of dp array other than any particular color.

Since the values of dp array don't decrease, we can update the biggest two values in O(1). Finally, the answer for the query is the maximal value of dp array.

The complexity of the described algorithm is O(QN).

Div1 D Colorful Stones (Author: rng_58)

First, let's consider a simpler version of the problem: You are given a start state and a goal state. Check whether the goal state is reachable from the start state.

Define A, B, C, and D as in the picture below, and let I be the string of your instructions. A and B are substrings of s, and C and D are substrings of t.

It is possible to reach the goal state from the start state if there exists an instruction I such that:

  • 1 A is a subsequence of I.
  • 2 B is not a subsequence of I.
  • 3 C is a subsequence of I.
  • 4 D is not a subsequence of I.

So we want to check if such string I exists. (string s1 is called a subsequence of s2 if it is possible to get s2 by removing some characters of s1)

There are some obvious "NO" cases. When D is a subsequence of A, it is impossible to satisfy both conditions 1 and 4. Similarly, B must not be a subsequence of C. Are these sufficient conditions? Let's try to prove this hypothesis.

To simplify the description we will introduce some new variables. Let A', B', C', and D' be strings that can be obtained by removing the first characters of A, B, C, and D. Let c1 and c2 be the first characters of A and C.

Suppose that currently the conditions are satisfied (i.e. D is not a subsequence of A and B is not a subsequence of C).

  • If c1 = c2, you should perform the instruction c1 = c2. The new quatruplet will be (A', B', C', D') and this also satisies the conditions.
  • If c1 ≠ c2 and B' is not a subsequnce of C, you should perform the instruction c1. The new quatruplet will be (A', B', C, D) and this also satisies the conditions.
  • If c1 ≠ c2 and D' is not a subsequnce of A, you should perform the instruction c2. The new quatruplet will be (A, B, C', D') and this also satisies the conditions.

What happens if all of the above three conditions don't hold? In this case A and C have the same length and A = c1c2c1c2..., B = c2c1c2c1. In particular the last two characters of A and B are swapped: there are different characters x and y and A = ...xy, B = ...yx. Now you found a new necessary condition! Generally, if A and B are of the form A = ...xy and B = ...yx, the goal state is unreachable. If the last instruction is x, Vasya must be in the goal before the last instruction, but then Vasya will go further after the last instruction. If the last instruction is y, we will also get a contradiction.

Finally we have a solution. The goal state is reachable from the start state if and only if D is not a subsequence of A, B is not a subsequnce of C, and A and C are not of the form A = ...xy, C = ...yx. The remaining part is relatively easy, so I'll leave it as an exercise for readers.

Div1 E Roadside Trees (Author: snuke)

For this problem there are slides: Please check here.

UPD: Thank you for pointing out mistakes. They are fixed.

Read more »

 
 
 
 
  • Vote: I like it
  • +54
  • Vote: I do not like it

By rng_58, 8 years ago, In English

Hello!

I'm Squirrel Liss. I became the hero of today's contest. The writers of the contest are snuke, hogloid, DEGwer, and rng_58. I'd like to thank Gerald for helping preparation, Delinur for translation, and MikeMirzayanov for the Codeforces system. The point values will be standard: 500-1000-1500-2000-2500 for both divisions.

I will encounter many difficulties about stones, nuts, and sequences... Please help me!


Since 07:30 PM MSK is late here, the contest will be moved to 05:00 PM MSK. Please check the schedule in your time zone in timeanddate.com: http://timeanddate.com/worldclock/fixedtime.html?iso=20130120T22&p1=248&ah=2

UPD: Announced the detail of the contest.

The top five contestants in div1 were:

And in div2:

Congratulations!

Also congratulations al13n and Komaki for solving div1 E problem.

The authors were

UPD: Tutorial was added here.

Read more »

 
 
 
 
  • Vote: I like it
  • +446
  • Vote: I do not like it

By rng_58, 8 years ago, In English

My solution depends on the following hypothesis. Can anyone prove this?

Sorry, the image doesn't work for some reason. \sum_{i=1}^{a} \sum_{j=1}^{b} \sum_{k=1}^{c} d(ijk) = \sum_{gcd(i,j)=gcd(j,k)=gcd(k,i)=1} [\frac{a}{i}][\frac{b}{j}][\frac{c}{k}] Now it works.

Sorry, please type "http://rng.gozaru.jp/cf.png" directly to the address bar.

Finally proved: "http://rng.gozaru.jp/b.pdf"

Read more »

 
 
 
 
  • Vote: I like it
  • +91
  • Vote: I do not like it