Write the smallest program that maps strings injectively to outputs and maps itself to 2020.
To be clear, your program \$p\$ must have the following properties:
- every possible input string \$s\$ has a well-defined output \$p(s)\$,
- for every pair of strings \$s\$ and \$t\$ with \$s\neq t\$, it holds that \$p(s)\neq p(t)\$, and
Be sure to explain why your submission satisfies properties 1 and 2. For property 3, the output can be a string or any type of number.
Edit 1: Programs need to be proper quine variants. Reading the source code is not allowed.
Edit 2: Note that as a consequence of property 2, it holds that \$p(s)\neq p(p)\$ for every \$s\neq p\$.