# Output the PPCG Prime

## Jelly, ~~55~~ ~~54~~ ~~52~~ ~~47~~ 46 bytes

```
“=÷¡v⁺ʋiṂYR¤"bİɲ}Ñ1Ṇ⁴ẠV⁹yȥGẇ’“¿mŻ“p’Dx39jBo88V
```

There are more convoluted approaches in the revision history, but this simple one beats them all.

Try it online!

### How it works

```
“=÷¡v⁺ʋiṂYR¤"bİɲ}Ñ1Ṇ⁴ẠV⁹yȥGẇ’
```

This is a numeric literal, encoded in bijective base 250, where the digits are taken from Jelly's code page. The chain's (left) argument and the return value are set to the encoded integer,

**n := 0x21871c77d7d7af6fafafeff0c37f72ff7fbfbdbfdfef5edfeff8e3**.

```
“¿mŻ“p’
```

A similar literal to the above one, but the second `“`

separates two encoded integers. The return value is replaced with the encoded array, **[777711, 113]**.

```
Dx39
```

`D`

converts the return value to decimal (**[[7, 7, 7, 7, 1, 1], [1, 1, 3]]**), then `x39`

repeats each individual integer/digit in the result **39** times. This yields a pair of arrays, which contains the digits before and after the 7-character high text, respectively. Let's call this array **A**.

```
jB
```

First, `B`

converts the (left) argument **n** to binary. This yields the digits that form the 7-character high text, where each **88** has been replaced by **0**.

Then, `j`

joins the array **A**, using the binary array as separator.

```
o88
```

This performs logical OR with **88**, replacing each **0** with **88**.

```
V
```

We have the correct digits now, but in an array of **7**'s, **1**'s, **88**'s, and **3**'s. `V`

implicitly turns this array into a string and then evals it, yielding a single integer.

## Bubblegum, 51 bytes

```
00000000: 331f c4c0 90ba c002 0a90 5986 d818 50d5 3.........Y...P.
00000010: 282c 3406 6e65 5036 1e4b 9195 8109 649d (,4.neP6.K....d.
00000020: 5858 1896 4279 68b2 f895 61fa 94ca c098 XX..Byh...a.....
00000030: 3800 00 8..
```

Try it online!

## SOGL V0.12, ~~52~~ 51 bytes

`≡=vā⁷H↕↕jΥ_Ν↑∆∫▲pΖo ‘θδžΟwd╬2n?q[‘²Κ7n⌡"α¼■╤ģ⅞¹‘¹H∑`

^{ties bubblegum!}

note that this answer contains a tab

Try it Here!

Tries to save bytes by reusing the same string for both of the `P`

s.

Explanation:

```
...‘...‘²Κ7n⌡"..‘¹H∑ compressed strings replaced with ellipses to shorten the width
...‘ pushes "1111111188888188888888111118811111881111188111118881118818111811111111188888188888888111118811111881111188118118888818818881811118111" - CG
...‘ pushes "1111111888888888888881118118111811811181181118118111811811188881111881" - P
² join with itself - double the P
Κ reverse add - prepend the PP to CG
7n split to line lengths of 7
⌡ for each
"..‘ push "311ŗ117777" with ŗ replaced with the ToS - current item looping over
¹ wrap the results tn an array
H rotate it counter-clockwise
∑ join to a single string
```

The numbers there are saved as from the original starting at the bottom left, going up, then 1 right & down, then up, ect.

A 52 byte plain compression version:

```
#⅓→9E■Ν►1&⅝θ⅞%øøμ←N═]y)u⅝↓$A○░(ZF16Φ⅓Mč▓d⅛Hι‼∑υnη▲Z‘
```

Try it Here!