The main objective of the challenge is pretty simple, this is an answer chaining contest, where you have to serially print numbers from 1. That means User 1's answer will print 1, then User 2's answer will print 2 and so on. But there are some rules to make the contest tougher.


  • You can't use the characters of the source code used in the previous answer.

  • Use of comments in your code is disallowed.

  • You cannot post 2 answers in a row, let me explain, suppose you have written answer no. 5, now you cannot write answer no. 6, you have to wait someone to post a valid answer no. 6 (That prints 6 without using characters in answer no. 5), and after that you can write a valid answer no. 7 following the rules.

  • Program cannot take input or access internet.

  • Standard loopholes apply.

  • You can have leading/trailing newlines but not whitespaces (except newline) in the output.

Scoring criterion

This is not challenge, so there is a custom objective scoring criteria. Try to make your score higher.

  • Each answer's initial score is 1. (Only chain beginning answer has score 0).

  • For each distinct byte you use, your score is increased by the number of distinct bytes. That means if your number of distinct bytes is 6, then your score increases by 1+2+3+4+5+6, and if your number of distinct bytes is 7, then your score increases by 1+2+3+4+5+6+7 and so on.

  • You have to calculate distinct byte difference with the previous answer, and add/subtract score using the 2nd rule. So if byte difference is 3 then you will get a +1+2+3 score, or if -3 (Previous answer has 3 more distinct bytes than yours), then -1-2-3.

  • For each 1 to 9th byte -1, from 10th to 19th byte -2 for each byte, from 20th to 29th byte -3 for each byte and so on.

A total example:

Answer format

# Answer Number. Language Name, x Bytes, y Distinct bytes, Score: Z

    source code

(TIO/Any other interpreter link) -> Not required, but preferred


1. Powershell, x Bytes, y Distinct Bytes, Score: Z


Winning criterion

Winner will be determined after 30 days, winner is determined by total score. But users are welcome to continue the chain after that!

Suppose you have three answers with score 33,16,78 then your total score will be 33+16+78=127.

And there is two special prizes from me after 30 days:

  • +150 bounty for the winner.
  • +50 bounty for the single answer with highest score! (Such as man of the match in Cricket)
  • 16
    \$\begingroup\$ "use of comments in your code is disallowed" is not an observable requirement and its interpretation differs by language. If this were still in the Sandbox I'd recommend you to require the answers to be irreducible, but that would now invalidate some of the answers. You shouldn't post things on main if there is any outstanding feedback in the sandbox and aren't any upvotes because it indicates there are still some problems. To be honest, I think this isn't a good answer-chaining question. \$\endgroup\$
    – pxeger
    Commented Mar 7, 2021 at 9:12
  • 1
    \$\begingroup\$ Similar \$\endgroup\$
    – pxeger
    Commented Mar 7, 2021 at 9:17
  • 7
    \$\begingroup\$ I think it would have been better to get a score inversely proportional to the number of bytes. So that you had to golf your answer rather than adding characters. In this way every answer would have got a fair amount of disallowed characters, while in the current situation there will be a long answer disallowing everything, than a short one that can't use nothing, then again a long and short one and so on \$\endgroup\$
    – anotherOne
    Commented Mar 7, 2021 at 9:23
  • 5
    \$\begingroup\$ I upvoted just for the efforts you are making. The score is still somehow proportional to the length of the code, however I didn't thought about languages that use different set of characters. So the pattern will be: a long answer with all the "regular" characters, and then a long answer with all the "esotic" characters. \$\endgroup\$
    – anotherOne
    Commented Mar 7, 2021 at 9:57
  • 2
    \$\begingroup\$ I’ve voted to close this unclear as currently everyone (including you) seems to be confused about how to score their answers \$\endgroup\$ Commented Mar 9, 2021 at 4:20

8 Answers 8


2. Python 3, 102 bytes, 66 distinct bytes, Score: 3710, My Total Score: 3710

print(int(str(2+3+4+5+6+7+8+90-25*5+2)+"abcdefghijklmnopqrstuvwxyz`-=:{}][;'_+()*&^%$#@!~`/.,?>< "*0))

Try it online!

  • 1
    \$\begingroup\$ Very nice answer, will be hard to crack \$\endgroup\$
    – Wasif
    Commented Mar 7, 2021 at 8:19
  • 1
    \$\begingroup\$ Nice answer, now I can't use console, alert etc \$\endgroup\$
    – user100690
    Commented Mar 7, 2021 at 8:33
  • \$\begingroup\$ Scoring criteria changed, your new score will be 2145+2145-10-(10*2)-(10*3)-(10*4)-(10*5)-(10*6)-(10*7)-(10*8)-(10*9)-(10*10)-(3*10)=3710 \$\endgroup\$
    – Wasif
    Commented Mar 7, 2021 at 9:37
  • \$\begingroup\$ @Wasif Can you clarify the score breakdown? I am getting a different score too, this is how i am calculating it. \$\endgroup\$ Commented Mar 7, 2021 at 10:46
  • \$\begingroup\$ Actually I managed to get 3786 \$\endgroup\$
    – lyxal
    Commented Mar 7, 2021 at 10:51

3. Vyxal, 162 bytes, 162 distinct bytes, Score: 16467, My total score: 16467


Try it Online! The power of Unicode. I'm not sure about the score, but this takes the average of [1, 2, 8] (3.66666...) and takes the floor of that number.

Feel free to correct my score if needed. I calculated it as \$(1+2+3+...+162)\$ [part 1 of scoring]

\$+ (1+2+3+...+96)\$ [part 2 of scoring: 162 my answer - 66 previous answer = 96 difference distinct bytes)

  • (sum(map(lambda x: x*10, range(1, 17))))\$ - 16*2\$ [part 3]

My scoring utility. Takes number of distinct bytes in your answer, the number of distinct bytes in the previous answer and the length of your answer

Try this one instead. It should work a bit more accurately and work for higher byte counts. Inputs are: a) your distinct bytes, b) last answers distinct bytes, c) program length

  • \$\begingroup\$ Your score is 9945, according to the changed rules, thanks for the nice amswer! \$\endgroup\$
    – Wasif
    Commented Mar 7, 2021 at 9:47
  • 1
    \$\begingroup\$ @Wasif out of curiosity, what's the formula breakdown for my score here? I thought I'd calculated it correctly, but obviously I didn't. \$\endgroup\$
    – lyxal
    Commented Mar 7, 2021 at 9:49
  • 2
    \$\begingroup\$ Haha - you inspired me to add my own answer in Vyxal for this challenge. I mean, the entire ASCII set was ruled out by #4 so it needed a Unicode language. I do have to say, TECHNICALLY each Unicode character is not really a byte though! 2 bytes (16 bits) each aren't they? \$\endgroup\$ Commented Mar 8, 2021 at 17:29

1. PowerShell, 1 byte, 1 distinct byte, Score: 0, My Total score: 0


Try it online!

  • \$\begingroup\$ Start the chain from here, good luck! (As this is the first answer, so its a score 0) \$\endgroup\$
    – Wasif
    Commented Mar 7, 2021 at 8:05

6. Mornington Crescent, 425 423 396 bytes, 30 32 distinct bytes, score -8475 -8391 -7155

To break the monotony of using all of the ASCII characters, let's rule out only some ASCII characters for the next answer. This is the shortest program in this language that outputs 6. I'm pretty sure making it any longer to include more distinct bytes would make the score even lower, as adding any more extraneous instructions would necessarily reuse some bytes.

Take Northern Line to Euston
Take Victoria Line to Seven Sisters
Take Victoria Line to Victoria
Take Circle Line to Victoria
Take District Line to Upminster
Take District Line to Parsons Green
Take District Line to Notting Hill Gate
Take Circle Line to Notting Hill Gate
Take District Line to Upminster
Take District Line to Bank
Take Circle Line to Bank
Take Northern Line to Mornington Crescent

Try it online!

Distinct bytes used: BCDEGHLMNPSTUVaceghiklmnoprstuv


4. C (gcc), 106 bytes, 91 distinct bytes, Score: 6132, My Total score: 6132

main(){printf("%d",strlen(" !#$&'*+./0123\4789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`bcghjkoquvwxyz~")-65);}

Try it online!

  • \$\begingroup\$ Use @Lyxal's utility \$\endgroup\$
    – Wasif
    Commented Mar 7, 2021 at 16:28
  • 2
    \$\begingroup\$ @Wasif you said that it produced the wrong output though. \$\endgroup\$
    – rak1507
    Commented Mar 7, 2021 at 17:04
  • \$\begingroup\$ @Wasif It says \$6132\$. \$\endgroup\$
    – Noodle9
    Commented Mar 7, 2021 at 18:06

7. Keg, 4,376,598 bytes, 2,157,610 distinct bytes, Score: 3697321176253, My total score: 3697321192720

You can find the source code here

Don't even bother trying it online. This uses everything in unicode except the bytes \n BCDEGHLMNPSTUVaceghiklmnoprstuv, so the next person to answer is going to have an extremely low score.

Here's how I generated it:

file = open("seven.keg", mode="w", encoding="utf-8")
bad = " BCDEGHLMNPSTUVaceghiklmnoprstuv"
bad += "\n¶" + chr(127240)
for i in range(4294967294):
    letter = chr(i)
    if letter in bad:

Which turns into:

🄈\";_`<massive string of unicode>`_

Which prints 7 and then pushes (" - 1), discards that, pushes a massive string and then discards it.

Don't bother putting the score into my utility. It's calculated via:

$$ \frac{2,157,610 \times 2,157,611}{2} + \frac{(2,157,577 \times 2,157,578}{2} - rule3 $$

  • it uses the triangle number formula to speed up computing. 2,157,577 = 2,157,610 - 33. The total score is calculated by:
score = 4655211869108
for i in range(437696):
    score -= 10 * i
score -= 9 * 437695
print(score + 16467)
  • \$\begingroup\$ Actually your utility gave me over 2 trillion for my answer as #8, so not THAT low. :-p \$\endgroup\$ Commented Mar 9, 2021 at 2:19
  • \$\begingroup\$ Comments are not for extended discussion; this conversation has been moved to chat. \$\endgroup\$
    – Jo King
    Commented Mar 11, 2021 at 10:29

[5. Vyxal, 12 bytes, 9 distinct bytes, score 3436]


Try it online

Well I really just wanted to get this challenge moving again, after @Noodle9 basically ruled out the entire ASCII character set! So I learnt a little Vyxal just for this... after writing a Deadfish interpreter here Vyxal actually made some sense...

I'm sure I could do more useless operations to the register, but basically its just increment twice, square it, increment twice then decrement for 5, half it for 2.5, subtract from 1 for 1.5, reverse for 5.1, round it for 5, take the absolute value, and output it.

(As far as the scoring, I'm totally confused, I just put what Lyxal's utility gave me. From the text, it sounds like my small answer should have a negative score for being smaller than #4...)

  • \$\begingroup\$ Myself is confused with the scoring too ;-( anyway thanks for advancing the chain! \$\endgroup\$
    – Wasif
    Commented Mar 8, 2021 at 17:29
  • \$\begingroup\$ Very well done! I will upvote this as soon as I can. Just a question: why do you have ⨥⨪ when you benefit more from having a shorter program with more distinct bytes? \$\endgroup\$
    – lyxal
    Commented Mar 8, 2021 at 22:12
  • \$\begingroup\$ @Lyxal I thought the basic idea for scoring was to use as many distinct bytes as possible, and ⨪ was a distinct byte. \$\endgroup\$ Commented Mar 9, 2021 at 1:48
  • \$\begingroup\$ Nevermind me. I'm a stupid idiot who can't comprehend the challenge :p. Of course that makes sense to include it as a distinct byte - I didn't realise removing it made the score lower. \$\endgroup\$
    – lyxal
    Commented Mar 9, 2021 at 1:52
  • \$\begingroup\$ @Lyxal - no you're right - your utility DOES give a higher score for 10 bytes with 8 distinct bytes... When I first read this challenge it was just scoring on distinct bytes so I was still thinking that way... \$\endgroup\$ Commented Mar 9, 2021 at 2:04

Deadfish~, 8 bytes, 3 distinct bytes, Score:2,327,635,062,034 according to Lyxal's utility?


Try it online!

Well with not many options left from Lyxal's answer for #7, I had to resort to Deadfish...

  • \$\begingroup\$ Wait how did you manage to get an output? It should take way over 60 seconds for it to spit out a result \$\endgroup\$
    – lyxal
    Commented Mar 9, 2021 at 2:41
  • \$\begingroup\$ Are your inputs in the right order? \$\endgroup\$
    – lyxal
    Commented Mar 9, 2021 at 2:42
  • \$\begingroup\$ @Lyxal - the order of the input from top to bottom is: 1. distinct bytes in your answer, 2. distinct bytes in previous answer, 3. total bytes in your answer. Is that correct? It did take a long time to calculate! \$\endgroup\$ Commented Mar 9, 2021 at 2:49
  • \$\begingroup\$ Oh okay that is right \$\endgroup\$
    – lyxal
    Commented Mar 9, 2021 at 2:50
  • \$\begingroup\$ As I said I am not 100% clear about the scoring... I don't even know if my program is right. I could have horribly misled everyone \$\endgroup\$
    – lyxal
    Commented Mar 9, 2021 at 2:54

Not the answer you're looking for? Browse other questions tagged or ask your own question.