[CHRISTMAS THEME DISCLAIMER HERE]

87

6

Note to mods, if the title doesn't do justice, change it to whatever, I thought it was funny.


You're tasked with hanging up the lights for this Christmas season, and your family has decided that for it to be a merry Christmas, you need to hang at least 2 Christmas lights on your house. So, your challenge is, given a number 1 < n, output the corresponding number of christmas lights you're going to be hanging according to the following specifications...


Here is the structure of a basic christmas light:

  _?_
 [___]
 /:' \ 
|::   |
\::.  /
 \::./
  '='

The only uncertain part is the question mark, as depending on where the light lands in the chain, the connection will greatly differ.

For the first light in the chain, you will need to output:

    .--._ 
  _(_ 
 [___]
 /:' \ 
|::   |
\::.  /
 \::./
  '='

For the last light in the chain, you will need to output:

_.--. 
    _)_
   [___]
   /:' \ 
  |::   |
  \::.  /
   \::./
    '='

And for all lights in the middle:

_.--.--._
   _Y_ 
  [___]
  /:' \ 
 |::   |
 \::.  /
  \::./
   '='

Example:

N=2:

    .--.__.--.    
  _(_        _)_  
 [___]      [___] 
 /:' \      /:' \ 
|::   |    |::   |
\::.  /    \::.  /
 \::./      \::./ 
  '='        '='  

N=6:

    .--.__.--.--.__.--.--.__.--.--.__.--.--.__.--.
  _(_       _Y_      _Y_      _Y_      _Y_       _)_
 [___]     [___]    [___]    [___]    [___]     [___]
 /:' \     /:' \    /:' \    /:' \    /:' \     /:' \
|::   |   |::   |  |::   |  |::   |  |::   |   |::   |
\::.  /   \::.  /  \::.  /  \::.  /  \::.  /   \::.  /
 \::./     \::./    \::./    \::./    \::./     \::./
  '='       '='      '='      '='      '='       '='

Credit

ASCII-Art was taken from: http://www.chris.com/ascii/index.php?art=holiday/christmas/other

It was developed by a user named "jgs", who is responsible for around 40% of content on that site.


Rules

  • Trailing spaces are fine, same with a trailing newline.
  • There is 1 more space between the first and last bulb from the rest of the chain.
  • You may only take 1 integer as input, and the output MUST be a string, no arrays.
  • Your program may have undefined functions for values less than 2.

This is , lowest byte-count wins.


Sanbox post link here.

Magic Octopus Urn

Posted 2017-12-19T23:17:10.507

Reputation: 19 422

What if strings are synonyms for arrays of characters? – Οurous – 2017-12-20T11:25:18.980

36That basic christmas light looks ridiculously similar to the grenade :) – nicael – 2017-12-20T22:15:12.090

18@nicael Alternative challenge description: Santa is cracking down on bad kids this year, and for each naughty deed comitted the child will receive a live hand grenade. As the thoughtful provider of gifts that he is, Santa has tied the grenades together so the bad kids of the world won't lose them by accident! – Magic Octopus Urn – 2017-12-21T14:39:17.727

@MagicOctopusUrn Uhm, 3 spaces on left and right and 2 spaces otherwise? I wish spacing was consistent. This is an ugly grenade belt. – polkovnikov.ph – 2017-12-25T17:47:34.787

1@polkovnikov.ph it was either that, or the dots being over the parentheses (which looks strange), or the parentheses not being parentheses. IMO this is the best looking (though not the most golfable) approach. – dzaima – 2017-12-25T18:10:12.700

Answers

34

SOGL V0.12, 73 71 70 66 bytes

.”L7:±¹‘Ο4↕ooā.⁾ Y*¾(){"}^ņF⁵),WοΓy⅜¬κ8ΕL▓‚7m~Ε⅝Γ‘7n┼F (=f⁄2=+⁽{@┼

Try it Here!

-4 bytes by looping over a string like (YYY) like the Charcoal answer

63 bytes would work if 2 didn't need to be handled :/

dzaima

Posted 2017-12-19T23:17:10.507

Reputation: 19 048

9[mind blown.] – Robert Harvey – 2017-12-22T18:56:50.000

2This is absolutely ridiculous. (Especially if it was done on a phone.) +1 – Joe – 2017-12-23T23:00:27.820

10I'm 90% sure I've seen this exact code before, from when I printed some uninitialized memory. – Fund Monica's Lawsuit – 2017-12-25T02:24:44.873

That's 113 bytes, 70 chars. – polkovnikov.ph – 2017-12-25T17:53:19.250

@polkovnikov.ph if you click the save SOGL codepage encoded file button, it gives you a 70 byte file, which you can load there too (albeit the browse button is unintuitively distant, fixing that). SOGL uses a custom codepage to do that. (the codepage is linked in the header of the answer) – dzaima – 2017-12-25T17:56:18.107

26

Python 3, 200 195 191 190 186 bytes

d,*l=" _%c_     , [___]   , /:' \   ,|::   |  ,\::.  /  , \::./   ,  '='    ".split(',')
x=int(input())-2
print(' '*3,-~x*'.--.__.--'+'.\n',d%'(',d%'Y'*x,d%')')
for s in l:print(s,s*x,s)

-1 byte from dylnan
-4 bytes from Rod

Takes input on stdin.

Try it online!

Explanation:

d,*l=" _%c_     , [___]   , /:' \   ,|::   |  ,\::.  /  , \::./   ,  '='    ".split(',')
# d is the second row, without the (, Y, or ) to connect the light to the strand
# l is the third through eighth rows in a list
x=int(input())-2
# x is the number of lights in the middle of the strand
print(' '*3,-~x*'.--.__.--'+'.\n',d%'(',d%'Y'*x,d%')')
# print x+1 wire segments and a trailing dot, starting four spaces over
# on the next line, print the connectors, _(_, then _Y_ * x, then _)_
for s in l:print(s,s*x,s)
# on the Nth line, print the Nth light row, a space,
#     x * the Nth light row, a space, and the Nth light row

Additional Festive Version!

pizzapants184

Posted 2017-12-19T23:17:10.507

Reputation: 3 174

Changing the last line to for s in l:print(s,s*x,s) saves a byte.

– dylnan – 2017-12-20T03:39:16.557

Thanks for the explanation, Python looks bizarre to me ... lol – ArtisticPhoenix – 2017-12-20T07:26:12.160

1@ArtisticPhoenix Ironically, when not being golfed, Python is one the least bizarre looking languages. – jpmc26 – 2017-12-22T22:01:47.007

18

Pyth, 113 107 bytes

+"    ."*=tQ"--.__.--."++"  _(_ "j"_Y_"*Q]*6d" _)_"jms[d;jd*Q]*2;;d)c5" /:' \ |::   |\::.  / \::./   '='  "

Try it online!

Not exactly the golfiest version...

Leaky Nun

Posted 2017-12-19T23:17:10.507

Reputation: 45 011

11Not golfy? Maybe. Correct? Yes. FGITW? Definitely. – Magic Octopus Urn – 2017-12-19T23:57:15.043

Yeah, not the golfiest, especially with an unnecessary trailing character. :P – Erik the Outgolfer – 2017-12-23T17:08:56.833

15

JavaScript (ES6), 180 bytes

n=>`    .${'--.__.--.'.repeat(n-1)}
`+`  _Y_  
 [___] 
 /:' \\ 
|::   |
\\::.  /
 \\::./ 
  '='  `.replace(/.+/g,(r,p)=>`${p?r:'  _(_  '}  ${` ${r} `.repeat(n-2)}  ${p?r:'  _)_'}`)

Test

var f=
n=>`    .${'--.__.--.'.repeat(n-1)}
`+`  _Y_  
 [___] 
 /:' \\ 
|::   |
\\::.  /
 \\::./ 
  '='  `.replace(/.+/g,(r,p)=>`${p?r:'  _(_  '}  ${` ${r} `.repeat(n-2)}  ${p?r:'  _)_'}`)
  
function update()
{
  var n=+I.value
  P.textContent=f(n)
}  

update()
<input id=I type=number value=2 min=2 oninput='update()'>
<pre id=P></pre>

edc65

Posted 2017-12-19T23:17:10.507

Reputation: 31 086

13

JavaScript (ES6), 204 201 196 194 192 bytes

N=>`     ${(r=x=>x.repeat(N-1))(`.--.__.--`)}.
   _(_    ${N--,r(`   _Y_   `)}    _)_
`+` [___] 
 /:' \\ 
|::   |
\\::.  /
 \\::./ 
  '='  `.split`
`.map(x=>`${x=` ${x} `} ${r(x)} `+x).join`
`

f=

N=>`     ${(r=x=>x.repeat(N-1))(`.--.__.--`)}.
   _(_    ${N--,r(`   _Y_   `)}    _)_
`+` [___] 
 /:' \\ 
|::   |
\\::.  /
 \\::./ 
  '='  `.split`
`.map(x=>`${x=` ${x} `} ${r(x)} `+x).join`
`

for(let i = 2; i <= 5; i++){
  console.log(f(i))
}

darrylyeo

Posted 2017-12-19T23:17:10.507

Reputation: 6 214

1You can save a few characters by replacing .--._${(r=x=>x.repeat(N-2))(\.--.--.`)}_.--.with${(r=x=>x.repeat(N-1))(`.--.__.--`)}.` – Kuilin Li – 2017-12-20T04:53:10.700

@KuilinLi I'd have to decrement N after the first call to r, but that works out fine. – darrylyeo – 2017-12-20T06:28:52.887

13

Charcoal, 78 74 bytes

M⁴→×….--.__⁹⊖θ.⸿F⪫()×Y⁻貫M⁼ι)→P“ ▷υ ρ1↗N⁷Σ⭆ C✂⪪⟲⦃¬≡↘↨H℅⌕Σêλ⍘”  _ι_M⁺⁴⁼ι(→

Try it online! Link is to verbose version of code. Edit: Saved 2 bytes by simplifying the way the wiring is printed. Saved 2 bytes because the new code automatically casts the input to integer. Explanation:

M⁴→×….--.__⁹⊖θ.⸿

Print the wiring by taking the string .--.__, moulding it to length 9, then repeating it once for each join, finishing with a final . before moving to the start of the next line for the bulbs.

F⪫()×Y⁻貫

Loop over a string of connectors: ( and ) at the ends, and Ys in the middle.

M⁼ι)→

Move right one character if this is the last bulb.

P“ ▷υ ρ1↗N⁷Σ⭆ C✂⪪⟲⦃¬≡↘↨H℅⌕Σêλ⍘”

Print the body of the bulb without moving the cursor.

  _ι_

Print the cap of the bulb including the connector.

M⁺⁴⁼ι(→

Move to the start of the next bulb (an extra character if this is the first bulb).

Neil

Posted 2017-12-19T23:17:10.507

Reputation: 95 035

That's 74 chars, not bytes. – polkovnikov.ph – 2017-12-25T17:51:02.593

@polkovnikov.ph Charcoal uses a custom codepage, allowing it to count each character as a single byte.

– dzaima – 2017-12-25T18:02:31.323

13

Excel VBA, 224 207 205 Bytes

Anonymous VBE immediate window function that takes input from range [A1] and outputs to the VBE immediate window.

Prints the bulbs line by line, from top left to bottom right

?Spc(4)[Rept(".--.__.--",A1-1)]".":?"  _(_ "[Rept("      _Y_",A1-2)]"       _)_":For i=0To 5:b=Split(" [___]   1 /:' \   1|::   |  1\::.  /  1 \::./   1  '='    ",1)(i):[B1]=b:?b" "[Rept(B1,A1-2)]" "b:Next

Sample I/O

[A1]=7 ''  Input to worksheet, may also be done manually
?Spc(4)[Rept(".--.__.--",A1-1)]".":?"  _(_ "[Rept("      _Y_",A1-2)]"       _)_":For i=0To 5:b=Split(" [___]   1 /:' \   1|::   |  1\::.  /  1 \::./   1  '='    ",1)(i):[B1]=b:?b" "[Rept(B1,A1-2)]" "b:Next
    .--.__.--.--.__.--.--.__.--.--.__.--.--.__.--.--.__.--.
  _(_       _Y_      _Y_      _Y_      _Y_      _Y_       _)_
 [___]     [___]    [___]    [___]    [___]    [___]     [___]   
 /:' \     /:' \    /:' \    /:' \    /:' \    /:' \     /:' \   
|::   |   |::   |  |::   |  |::   |  |::   |  |::   |   |::   |  
\::.  /   \::.  /  \::.  /  \::.  /  \::.  /  \::.  /   \::.  /  
 \::./     \::./    \::./    \::./    \::./    \::./     \::./   
  '='       '='      '='      '='      '='      '='       '='    

-17 Bytes thanks to @YowE3k

-2 bytes for addition of temporary variable b

Taylor Scott

Posted 2017-12-19T23:17:10.507

Reputation: 6 709

2Ooh I love answers in paperwork-software macro languages! On the other hand I lost to VBA. +1 – Οurous – 2017-12-20T21:51:52.303

1(You got me to sign up, just so I can leave this comment!) The : [Rept(B1,A1-2)] just before the start of the loop isn't used. – YowE3K – 2017-12-21T01:46:49.860

@YowE3K - You are right! Thanks for catching that - its been corrected – Taylor Scott – 2017-12-21T15:52:07.540

10

C,  279   278  272  262  259 bytes

Thanks to @NieDzejkob for saving six bytes!

#define P;printf(
i,j;f(n){char*S=" [___]   \0 /:' \\   \0|::   |  \0\\::.  /  \0 \\::./   \0  \'=\'    \0"P"    ");for(i=n--;--i P".--.__.--"))P".\n  _(_ ");for(;++i<n P"      _Y_"))P"       _)_\n%s ",S);for(;*S P"%10s\n%s ",S,S+10),S+=10)for(i=n;--i P S));}

Try it online!

Unrolled:

#define P;printf(

i, j;

f(n)
{
    char*S = " [___]   \0 /:' \\   \0|::   |  \0\\::.  /  \0 \\::./   \0  \'=\'    \0"
    P"    ");

    for (i=n--; --i P".--.__.--"))
    P".\n  _(_ ");

    for (; ++i<n P"      _Y_"))
    P"       _)_\n%s ",S);

    for (; *S P"%10s\n%s ", S, S+10), S+=10)
        for(i=n; --i P S));
}

Steadybox

Posted 2017-12-19T23:17:10.507

Reputation: 15 798

1C, wonderful! (: – SilverWolf - Reinstate Monica – 2017-12-21T17:34:24.363

272 bytes – NieDzejkob – 2017-12-24T08:55:14.863

8

PHP, 276, 307, 303, 301, 293, 283, 280, 278 Bytes

function g($n){$a=["     .--._".r("_.--.--._",$n)."_.--.",r("_(_")." ".r(_Y_,$n)." ".r("_)_")];foreach(explode(9,"[___]9/:' \9|::   |9\::.  /9\::./9'='")as$b)$a[]=r($b)." ".r($b,$n)." ".r($b);return join("\n",$a);}function r($s,$n=3){return str_repeat(str_pad($s,9," ",2),$n-2);}

Readable version for testing:

function g($n){
    $a=[
         "     .--._".r("_.--.--._",$n)."_.--.",
         r("_(_")." ".r(_Y_,$n)." ".r("_)_")
    ];

    foreach(explode(9, "[___]9/:' \9|::   |9\::.  /9\::./9'='") as$b)
         $a[]=r($b)." ".r($b,$n)." ".r($b);

    return join("\n",$a);
}
function r($s,$n=3){
    return str_repeat(str_pad($s,9," ",2),$n-2);
}

Check minified version out here

Check readable version out here

UPDATE

Wrapped it in a function,

ArtisticPhoenix

Posted 2017-12-19T23:17:10.507

Reputation: 329

Let us continue this discussion in chat.

– Christoph – 2017-12-21T07:05:35.497

2

The old JavaScript tip of using digit as delimiter works fine in PHP too, just that you will have to escape the \ before the separator digit, so will save only 1 char. You can save another 2 chars by making the space characters part of the same bigger string, containing the expression in the middle as expansion: $a[]=$r($b)." {$r($b,$n)} ".$r($b);.

– manatwork – 2017-12-21T09:42:38.690

@manatwork - thanks for the tip Updated – ArtisticPhoenix – 2017-12-21T18:22:43.983

1@manatwork - also if I use a 9 as the delimiter no escaping is needed, probably this works with other numbers just not 0 – ArtisticPhoenix – 2017-12-21T18:29:39.310

Ah, indeed. Only 8 and 9 need no escaping when preceded by \ as those 2 can not be confused with octal character code. Good to know, thanks. – manatwork – 2017-12-21T18:36:51.393

I could save a few with split() instead of explode() but in PHP7 it's removed, that's because split takes a Regx like pattern, similar to Javascripts Split, where explode takes a string. For instance join is an alias of implode but split is more like preg_split. I think split was a holdover from the ereg ( POSIX ) days. – ArtisticPhoenix – 2017-12-21T21:23:08.990

Why do you use braces around ($n-2)? It works just fine without those. Another -2 bytes ;) – 7ochem – 2017-12-22T13:22:59.450

1And another one is that you could define the $r() lambda function as a regular function r() (could be in the same place, function in function is possible). You do need to fix the string parsing: " {r("")} " won't work. Another -7 bytes ;) – 7ochem – 2017-12-22T13:40:58.153

Thanks, had to do it as a separate function because its called by a loop. Basically it re-defines the function on each itteration – ArtisticPhoenix – 2017-12-22T20:40:23.103

I eliminated a further 10 by removing the function calls on the outside of the first line. – ArtisticPhoenix – 2017-12-22T22:53:44.903

Instead of r("_Y_",$n), you can use r(_Y_,$n) and ignore the warning. Your bytecount is incorrect: You're counting the newline as 2 characters, when they are counted as 1. All newlines are assumed to be a \n, unless the person posting says otherwise. You can make it shorter: function r($s,$n=3){return str_repeat(str_pad($s,9," ",2),($n-2));};$a=[" .--._".r("_.--.--._",$n=$argv[1])."_.--.",r("_(_")." ".r(_Y_,$n)." ".r("_)_")];foreach(explode(9,"[___]9/:' \9|:: |9\::. /9\::./9'='")as$b)$a[]=r($b)." ".r($b,$n)." ".r($b);echo join("\n",$a); (272 bytes), but isn't a function now. – Ismael Miguel – 2017-12-23T10:50:52.683

Someone said it had to be a function, before. But thanks on the other ones. – ArtisticPhoenix – 2017-12-23T11:03:39.913

@7ochem - sorry I missed your comment, I use the ( ) out of habit for readability reasons. Obviously that has little value here. – ArtisticPhoenix – 2017-12-23T11:07:05.483

8

Java, 310 307 300 275 bytes

Thanks to DevelopingDeveloper for converting it to a lambda expression

i->{int j=1;String o="     .";for(;j++<i;)o+="--.__.--.";o+="\n   _(_    ";for(;--j>2;)o+="   _Y_   ";o+="    _)_";String[]a={"  [___]  ","  /:' \\  "," |::   | "," \\::.  / ","  \\::./  ","   '='   "};for(String b:a)for(j=0;j++<i;)o+=j==1?"\n"+b+" ":j==i?" "+b:b;return o;};

Expanded:

i->
{
    int j=1;
    String o="     .";
    for(;j++<i;)
        o+="--.__.--.";
    o+="\n   _(_    ";
    for(;--j>2;)
        o+="   _Y_   ";
    o+="    _)_";
    String[]a={"  [___]  ","  /:' \\  "," |::   | "," \\::.  / ","  \\::./  ","   '='   "};
    for(String b:a)
        for(j=0;j++<i;)
            o+=j==1?"\n"+b+" ":j==i?" "+b:b;
    return o;
};

Looking into shorter ways to multiply strings, and found that streams are surprisingly more verbose

Try it online!

phflack

Posted 2017-12-19T23:17:10.507

Reputation: 181

2String o=""; + o+=" ."; = String o=" ."; – manatwork – 2017-12-20T18:27:12.107

@manatwork Thanks, missed that – phflack – 2017-12-20T18:27:52.097

@Steadybox had an off by 1 error while golfing the for loops, fixed now (and actually saved a byte from it) – phflack – 2017-12-20T18:33:37.310

2

@phflack I got it down to 290 if you use a lamda expression

– DevelopingDeveloper – 2017-12-20T18:43:57.923

@DevelopingDeveloper Are lambdas allowed in this case, or would the interface also have to be counted? (and that's a neat way to save a few bytes) – phflack – 2017-12-20T18:52:43.913

@phflack Unless they say "complete programs" I always just submit the lambda expression with a Java answer. You can ask the OP, but really the only code you have is within the brackets of the lamda, everything else is just a formality. And we are already at a disadvantage using Java, so we will save as many bytes as we can! :P – DevelopingDeveloper – 2017-12-20T18:59:03.823

1

@phflack Also, the OP said it just needs to return the String, not print it to the console, so you can drop it down to 279 doing this

– DevelopingDeveloper – 2017-12-20T19:13:40.847

1@DevelopingDeveloper Cool, I also found a way to golf j=# out of the for loops – phflack – 2017-12-20T19:15:00.110

@DevelopingDeveloper: 1 byte less if you use a lmda expression. Sorry. – Eric Duminil – 2017-12-21T10:16:55.690

272 bytes – ceilingcat – 2019-11-26T09:16:54.777

5

Clean, 305 292 288 275 bytes

import StdEnv
f c=mklines['  _',c,'_  \n [___] \n /:\' \\ \n|::   |\n\\::.  /\n \\::./ \n  \'=\'  ']
@n=flatlines[a++b++c\\a<-[['    .--._']:[e++['  ']\\e<-f'(']]&b<-map(flatten o(repeatn(n-2)))[['_.--.--._']:[[' ':e]++[' ']\\e<-f'Y']]&c<-[['_.--.    ']:[['  ':e]\\e<-f')']]]

Try it online!

Οurous

Posted 2017-12-19T23:17:10.507

Reputation: 7 916

3

Python 2 (PyPy), 365 316 315 251 245 bytes

-21 thanks to FlipTack

-43 thanks to ovs

-6 thanks to Mr. Xcoder

v,p=' \n'
a,l,n=".--._",["[___]"," /:' \ ","|::   |","\::.  /"," \::./ ","  '='  "],input()-2
e,b=v*5+"_)_",a[::-1]
r=v*4,a,(b[:4]+a)*n,b,p+"  _(_   ",(v*4+"_Y_  ")*n,e+p+v
for i in l:b=4-2*(i in l[1:]);r+=i+v*-~b,(i+v*b)*n,v+i+p
print''.join(r)

Try it online!

FantaC

Posted 2017-12-19T23:17:10.507

Reputation: 1 425

1-21 bytes – FlipTack – 2017-12-22T23:06:20.797

1245 bytes. – Mr. Xcoder – 2017-12-29T22:22:05.037

I think you forgot to update the bytecount after editing in the last suggestion. – NieDzejkob – 2018-01-22T17:19:39.067

1

Kotlin, 261 bytes

{val c="  [___]\n/:' \\\n |::|\n \\::./\n  \\::./\n   '='"
(0..7).map{i->print("     .--._\n   _(_\n$c".lines()[i].padEnd(10))
(0..L-3).map{print("_.--.--._\n   _Y_\n$c".lines()[i].padEnd(9))}
if(i>1)print(' ')
print("_.--.\n    _)_\n$c".lines()[i])
println()}}

Beautified

{
    val c = "  [___]\n  /:' \\\n |::   |\n \\::.  /\n  \\::./\n   '='"

    (0..7).map {i->
        print("     .--._\n   _(_\n$c".lines()[i].padEnd(10))
        (0..L - 3).map {
            print("_.--.--._\n   _Y_\n$c".lines()[i].padEnd(9))
        }
        if (i > 1) print(' ')
        print("_.--.\n    _)_\n$c".lines()[i])
        println()
    }
}

Test

fun f(L: Int)
{val c="  [___]\n/:' \\\n |::|\n \\::./\n  \\::./\n   '='"
(0..7).map{i->print("     .--._\n   _(_\n$c".lines()[i].padEnd(10))
(0..L-3).map{print("_.--.--._\n   _Y_\n$c".lines()[i].padEnd(9))}
if(i>1)print(' ')
print("_.--.\n    _)_\n$c".lines()[i])
println()}}

fun main(args: Array<String>) {
    f(6)
}

TIO

TryItOnline

jrtapsell

Posted 2017-12-19T23:17:10.507

Reputation: 915

1

Google Sheets, 190 Bytes

Anonymous worksheet function that take input from range A1 and outputs to the calling cell

="    "&Rept(".--.__.--",A1-1)&".
  _(_    "&Rept("   _Y_   ",A1-2)&"    _)_"&RegexReplace("
 [___]   
 /:' \   
|::   |  
\::.  /  
 \::./   
  '='    
","
(.*)","
$1 "&Rept("$1",A1-2)&" $1

Taylor Scott

Posted 2017-12-19T23:17:10.507

Reputation: 6 709