# Scala 3 `-language:postfixOps`, 940 bytes This is a chonky lizard. ```scala @main def m:Unit= val s="""@main def m:Unit= val s=Q%sQ var x=() def p=print("515") class main extends annotation.Annotation{val dval=0;def d=printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s)} return new main()dval x=p @main def n= val s=Q%sQ printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s) val p=0""" var x=() def p=print("515") class main extends annotation.Annotation{val dval=0;def d=printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s)} return new main()dval x=p @main def n= val s="""@main def m:Unit= val s=Q%sQ var x=() def p=print("515") class main extends annotation.Annotation{val dval=0;def d=printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s)} return new main()dval x=p @main def n= val s=Q%sQ printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s) val p=0""" printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s) val p=0 ``` `x` is 515. [Try it online!](https://scastie.scala-lang.org/d7jf2GByRoG00E92nePZNw) [Try the first x bytes online!](https://scastie.scala-lang.org/I6U9l7foRJuxljUAw3PI6g) [Try the last (n-x) bytes online!](https://scastie.scala-lang.org/4ej70RI4StmBrTGteMOvXA) I'm sure I've done something silly here and can make it smaller, but it's really hard editing quines and seeing what's wrong, so I'll try golfing it more later. The entire thing (minimized): ```scala @main def m:Unit= val s="""...""" var x=() def p=print("515") class main extends annotation.Annotation{val dval=0;def d=printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s)} return new main()dval //The split happens between 'd' and 'v' here x=p @main def n= val s="""...""" printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s) val p=0 ``` First x bytes (minimized): ```scala @main def m:Unit= val s="""...""" var x=() def p=print("515") class main extends annotation.Annotation{val dval=0;def d=printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s)} return new main()d ``` Last (n-x) bytes (minimized): ```scala val x=p @main def n= val s="""...""" printf(s.replace(""+81.toChar,(""+34.toChar)*3),s,s) val p=0 ```