# 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
```