[Question]
  [
# Source Code Byte Frequency
---
Write a program that get a single byte character as an input and prints the frequency of that byte in the program's source code as an output.
**Examples:**
Assuming my program is: `ab#cd%b` then the output of the program should be (each line is a separate execution):
```
input         output
-----         ------
  a           0.1428571428571429
  b           28.57%
  #           14.2857143%
  c           1/7
  B           0
```
---
### Rules:
* The format of the proportion does not need to be consistent across all inputs, e.g. a fraction for one, decimal for another, percent for a third, plain zero for non-existent byte, etc...
* If a proportion is represented as decimal, the result must be accurate to at least 4 decimal places.
* Source code should be at least 1 byte long.
---
### Scoring:
This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'") - the shortest code (≥1) wins.
---
(It would also be fun to get the shortest code in every language, so don't hesitate to post multiple entries)
  
[Answer]
# JavaScript (ES6), 40 bytes
All used characters appear exactly twice. Therefore, this returns either `0` or 2/40 = `0.05`.
```
F=_=>(F+'+./02>cdeilnsu').includes(_)/20
```
[Try it online!](https://tio.run/##HcxBDoIwEIXhvaeYFbSpFqwLF1g2JFzAAxAyFCypU9OCG@PZa@Pu5f@St47vMWKwr@1EfjIp9XrQLetFKWRVqxYnYx3FveTSErp9MpENvFJ1mn1gBBouqgGCG5zVNQ8hOHwOAJjlvgVLi5yDf3aPMXT5nxFvsvYMORQFoKfonZHOLwyP/5z9m34 "JavaScript (Node.js) – Try It Online")
[Answer]
# [Retina 0.8.2](https://github.com/m-ender/retina/wiki/The-Language/a950ad7d925ec9316e3e2fb2cf5d49fd15d23e3d), 1 byte
```
1
```
[Try it online!](https://tio.run/##K0otycxL/K@q4Z7w3/D/fwMuQy4jAA "Retina 0.8.2 – Try It Online") Link includes... test cases? But there's not much to test really. The program counts the number of `1`s in the input, so if the input is `1`, then this is 100% of the program's code, and the program outputs `1` accordingly, otherwise the input character is not in the program's code, and therefore the output is `0`.
[Answer]
# [Python 2](https://docs.python.org/2/), ~~52~~ 50 bytes
```
s="print`'s=;exec s'+s`.count(input())/50.";exec s
```
[Try it online!](https://tio.run/##K6gsycjPM/r/v9hWqaAoM68kQb3Y1jq1IjVZoVhduzhBLzm/NK9EIzOvoLREQ1NT39RATwkq/f@/erE6AA "Python 2 – Try It Online")
---
# [Python 3.8 (pre-release)](https://docs.python.org/3.8/), 53 bytes
```
exec(s:="print(('exec(s:=%r)'%s).count(input())/53)")
```
[Try it online!](https://tio.run/##K6gsycjPM7YoKPr/P7UiNVmj2MpWqaAoM69EQ0MdJqBapKmuWqypl5xfChTPzCsoLdHQ1NQ3NdZU0vz/vwAA "Python 3.8 (pre-release) – Try It Online")
---
# [Python 3](https://docs.python.org/3/), 55 bytes
```
s="print(('s=%r;exec(s)'%s).count(input())/55)";exec(s)
```
[Try it online!](https://tio.run/##K6gsycjPM/7/v9hWqaAoM69EQ0O92Fa1yDq1IjVZo1hTXbVYUy85vxQokZlXUFqioampb2qqqQSTB2oEAA "Python 3 – Try It Online")
[Answer]
# [Japt](https://github.com/ETHproductions/japt), 2 [bytes](https://en.wikipedia.org/wiki/ISO/IEC_8859-1)
```
èè
```
[Try it](https://petershaggynoble.github.io/Japt-Interpreter/?v=1.4.6&code=6Og&input=Iugi)
## Explanation
Counts number of times `è` occurs in the input. So outputs 1 if input is `è` otherwise 0
[Answer]
# [Unary](https://esolangs.org/wiki/Unary), ~~~9.84e57~~ ... ~~~3.58e42~~ 59,599,717,533,291,089,242,285,960,261,852 (~5.96e31) bytes thanks to Jo King!
```
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...why in the world have you scrolled this far? It's Unary - it's just going to be zeroes forever...
```
Outputs `1` if the input is `0`, `0` otherwise.
---
## brainf\*\*\* code (35 bytes)
```
-[>+>+<<-----],+++[->-<]>[>-<,]>--.
```
[Try it online!](https://tio.run/##SypKzMxLK03O/v9fN9pO207bxkYXBGJ1tLW1o3XtdG1i7aKBpE6sna6u3v//hgA "brainfuck – Try It Online")
[Answer]
# [Actually](https://github.com/Mego/Seriously), 5 bytes
```
5○Qc/
```
[Try it online!](https://tio.run/##S0wuKU3Myan8/9/00fTuwGT9//@BNAA "Actually – Try It Online")
## Explanation
```
 ○    Push the byte of input
  Qc  Count how many times it's in the source code
5   / And divide by five
```
[Answer]
# [APL (Dyalog Unicode)](https://www.dyalog.com/), inspecting its own source code, 20 [bytes](https://github.com/abrudz/SBCS)
```
 f←{(+/÷≢)⍵=,⎕CR'f'}
```
[Try it online!](https://tio.run/##SyzI0U2pTMzJT///XyHtUduEag1t/cPbH3Uu0nzUu9VW51HfVOcg9TT12v//0xSANBeQ1ACTCmDSQB0A "APL (Dyalog Unicode) – Try It Online")
Note the leading space in the code. When a function is defined in APL, the interpreter converts the source code to its own whitespace formatting (strips most spaces but inserts some at certain places, including the start of each line). The system functions that retrieve the source code (e.g. `⎕CR` and `⎕NR`) give the converted representation.
`f←` part cannot be removed from the score because the source inspection depends on itself being defined as `f`.
```
⎕CR'f'  ⍝ Get the char matrix representation of function f
,       ⍝ Convert the 1-row matrix to a vector
⍵=      ⍝ Compare each char of above with the input char
(+/÷≢)  ⍝ Compute the average
```
---
# [APL (Dyalog Unicode)](https://www.dyalog.com/), quine-like, 26 [bytes](https://github.com/abrudz/SBCS)
```
(+/÷≢)⍞=13⍴'''(+/÷≢)⍞=13⍴'
```
[Try it online!](https://tio.run/##SyzI0U2pTMzJT///qKM97b@Gtv7h7Y86F2k@6p1na2j8qHeLuro6FkGQ6v@caVzaXEBCHUQYAAA "APL (Dyalog Unicode) – Try It Online")
There is no escape sequence in APL's string literal. Instead, one single quote is represented by two single quotes, so the literal `'''(+/÷≢)⍞=13⍴'` gives the string `'(+/÷≢)⍞=13⍴`.
```
'...'   ⍝ Start with the string literal
13⍴     ⍝ Cycle-take first 13 chars, adding `'` at the start to the end
⍞=      ⍝ Compare with single-char input from stdin
(+/÷≢)  ⍝ Compute the average
```
[Answer]
# JavaScript (Node.js), ~~61~~ 34 bytes
-16 bytes thanks to *MatthewJensen*
-11 bytes thanks to *Arnauld*
```
f=c=>--('f='+f).split(c).length/34
```
[Try it online!](https://tio.run/##bcixCsMgFAXQvV8R6PCUohmS1X5JFzG@xPBQqdLft5nDPeM5/c@38E21m1y2OAa74N7GKGJHL9a2VUldBW0l5r0f87KOUHIrEq2UXbEiT1o/btfAdXACzoJjcA7ch1DOICdwz@vGHw)
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), ~~26~~ 23 bytes
-3 bytes by using the shortest standard quine in 05AB1E.
```
0"D34çýI¢23/"D34çýI¢23/
```
[Try it online!](https://tio.run/##yy9OTMpM/f/fQMnF2OTw8sN7PQ8tMjLWR@X9/w8A "05AB1E – Try It Online")
## Explanation
```
0                       Push a 0 for double quote insertion later.
 "D34çýI¢23/"           Push the quine string.
             D          Duplicate the quine string.
              34çý      Insert a double quote between rach item on the stack.
                  I¢    Count how many times the input appeaes
                    23/ And divide by 23.
```
[Answer]
# [Ruby](https://www.ruby-lang.org/) `-nl`, ~~56...38~~ 36 bytes (without reading own source code)
```
p~%r,[+-2\[-\]p~%r+2?./8:],?1.0/18:0
```
[Try it online!](https://tio.run/##Fcq7CsIwAEDR/f6FSKe8o0LIEl9/kXQRVARpS9TBpZ9u1PHAqa/Tu7Vp7qrMQvmSVen/Ej5pE2Ivk9PWuBDtbzHTUZFkBApPoSehMQQiDsuOPQeOnLlwZcWaDQu2LD/j9LyNw6Op4f4F "Ruby – Try It Online")
Each of the 18 distinct characters in the code appears twice. The input is tested against a comma-delimited regexp. The outer `[]` is a character class containing literal characters plus two character ranges: `+-2` is equivalent to the literal characters `+,-./012` and `\[-\]` is equivalent to the literal characters `[\]`. The code prints `0.05555555555555555` (decimal expansion of `1.0/18`) if the regexp matches the input character; `0` is printed otherwise.
---
# [Ruby](https://www.ruby-lang.org/) `-nl`, 27 bytes (reads own source code)
```
p (IO.read($0).count$_)/27r
```
[Try it online!](https://tio.run/##DckrEoAgAEDB/k5hIEAQHYvZTyF5BMf/WMBBCF5eNO6sj/OT0pVJM2i/TasUpdKLizaIURVV7f/EMKDxbEysSASKBUfEEn6NNLR09Owcr7vC6eydcvsB "Ruby – Try It Online")
Reads its own source and counts occurrences of the input. Output is a rational number.
---
# [Ruby](https://www.ruby-lang.org/) `-nl` + [coreutils](https://www.gnu.org/software/coreutils/), 24 bytes (reads own source code)
```
p`cat #$0`.count($_)/24r
```
[Try it online!](https://tio.run/##DckxDoMgAEDR/Z/CBkxgqFpjO9fWe4gl0XQBQmHw8mLf@mL@7KUEY5dUCdmZxvrskpKzbvsh/geDZSFRIZB0NHgyDsWMpqVnIDLy4s3EysaNOw8uPKkPH9LXu1@5uhM "Ruby – Try It Online")
Same as above but uses `cat` (from coreutils) to read the source.
[Answer]
# [Io](http://iolanguage.org/), 126 bytes
```
method(h,"mmmeeettthhhooodd((((,,,,aaaaassssMuubl  pppn34L))))iif==102/6"asMutable append(34)asList map(o,if(o==h,1,0))sum/62)
```
[Try it online!](https://tio.run/##bctNCsMgEEDhqwxZKQj5JYuCN0hu0I1BRUGdoY7nt3bfb/t4EbuHl4Z3z44DWhHUlHN2zjFzCAERrRWDGsxPHe7WngRARGU/LjnE6LVel20@JzMymyc5MESuWLEf0tQrVoZsSKCKXqDWQa1qkbK2PJ@b7F5Mf08J9ImFU@lf "Io – Try It Online")
[Answer]
# [MATL](https://github.com/lmendo/MATL), 14 bytes
```
39'39m7/h'hm7/
```
[Try it online!](https://tio.run/##y00syfn/39hS3dgy11w/Qz0DSP7/r26sDgA "MATL – Try It Online")
Each byte is present exactly twice in the source code. Therefore each byte has a frequency of either 1/7 or 0.
```
39       % Push code-point for '
'39m7/h' % Push literal char array
h        % Horizontally concatenate. Automatically converts to char array.
m        % Ismember: is input in this char array?
7/       % Divide by seven
```
[Answer]
# [PHP](https://php.net/), ~~63~~ 60 bytes
```
fn($a)=>strstr('ffnn($a)==>>str\\\',,??11//220::',$a)?1/20:0
```
[Try it online!](https://tio.run/##K8go@G9jX5BRwKWSZvs/LU9DJVHT1q64pAiINNTT0vIgIrZ2ILGYmBh1HR17e0NDfX0jIwMrK3UdoKS9oT6QbfDfmosrNTkjX0ElDahRXVNBT0FJQcNY38xAMyZPyRohl4dHzgCPHNBynJJK6kq45ZJhcgYwuf//AQ "PHP – Try It Online")
Much better solution than the first version, each char is present 3 times so if it is found, results in 3/63.
EDIT: saved 3 bytes by re-using `n` as var name (I had the luck that the total count still saved the repetition of all numbers for the calculus)
EDIT2: fixed the problem that `n` wasn't counted for not being in the string, manages to keep it 60 by removing `"` and introducing `\` (thanks to Dom Hastings)
EDIT3: fixed the problem with `0` wasn't counted because it was at the end (thanks to Dominic van Essen)
[Answer]
# [R](https://www.r-project.org/), ~~77~~ 75 bytes
*Edit: -2 bytes thanks to Giuseppe*
```
f <-function(c)sum(c==unlist(strsplit(capture.output(dump("f","")),"")))/75
```
[Try it online!](https://tio.run/##ZY1NC8IwDEDv/oowD7bgJ6JDcd49CeJdZmxdYbYzTRB//XQFLy6HHB7vJdRaMs@L85cYhNAUrYXdxIpHdsEr1FEeCotCfO0iq8gUm9qxwrJhITMNwo2wusmjUZnNxlmmdVp6lq/@bneChiEsB/9cJb7ucUk8HwzhVTJW8P227UmQpAUUe5hP54tlGlAYiAyyhldlPJB4uLkO1G9wHkan0Riuwl2y@SXO9yOuKMi9gvPh@O3YkC3RtB8 "R – Try It Online")
Uses R `dump(,"")` function to output own source code\*, capturing output (normally to the console) using `capture.output()`. Then finds the number of matches to the function argument `c`, divided by the source code length (75 bytes).
\*Note that the TIO interface gives slightly differently-formatted output from the `dump()` function to running directly in R, so counts of whitespace characters are inaccurate in TIO (but correct in R).
---
# [R](https://www.r-project.org/) (without reading own source code), 106 bytes
```
'->p;sum(gregexpr(scan(,""),sQuote(p),f=T)[[1]]>0)/53'->p;sum(gregexpr(scan(,""),sQuote(p),f=T)[[1]]>0)/53
```
[Try it online!](https://tio.run/##K/r/X13XrsC6uDRXI70oNT21oqBIozg5MU9DR0lJU6c4sDS/JFWjQFMnzTZEMzraMDbWzkBT39SYLE3/07i4lBXSFPKTk0uLihVKyjOTUxUy8xSK80uLgCxbOwWjw9sNDcwUbBUM9AwMLSzMzC2N/gMA "R – Try It Online")
~~Same~~ Similar approach to above, but including quoted string instead of reading the source code itself.
[Answer]
## x86 machine code (MS-DOS .COM format), ~~53~~ ~~49~~ 44 bytes
Edit: Saved 4 bytes by eliminating a redundant CALL/RET and 5 bytes by outputting via `INT 29H`.
Input is taken from the command line: no input will search for `NUL` (hex 00H). Result is in the form "00/00" (i.e. "03/44" for an input of ")").
The counting part is really easy since this is a COM program: I scan for the target byte starting at DS:100H until I hit the end of the program code. To print the result and total counts, I use `AAM` to convert the numbers into unpacked BCD (which will always be less than 99) and then print the digits after flipping them so that they're displayed in the correct order.
Hex dump:
```
A0 82 00 B9 2C 00 33 D2 BF 00 01 F2 AE E3 03 42 EB F9 8B C2 E8 07 00 B0 2F CD 29 B8 2C 00 D4 0A 05 30 30 86 E0 CD 29 86 E0 CD 29 C3
```
TASM source for generated code:
```
IDEAL
MODEL   TINY
CODESEG
ORG 100H
PSIZE   EQU PEND-MAIN
PLEN    EQU PSIZE+1     ; Loop needs to be one larger so we can break on CX=0
MAIN:
    MOV     AL,[0082H]  ; Get search value from the command line
    MOV     CX,PLEN
    XOR     DX,DX
    MOV     DI,100H     ; Start search from the beginning of the program
CLOOP:
    REPNZ   SCASB       ; Search for value
    JCXZ    CDONE       ; Exit when at end of string
    INC     DX
    JMP     CLOOP
CDONE:
    MOV     AX,DX
    CALL    DISPNUM
    MOV     AL,'/'
    INT     29H
    MOV     AX,PSIZE
    ; Fallthrough to print last number and exit
DISPNUM:
    AAM                 ; Convert value to unpacked BCD (AH:AL)
    ADD     AX,3030H
    XCHG    AH,AL
    INT     29H
    XCHG    AH,AL
    INT     29H
    RET
PEND:
END MAIN
ENDS
```
[Answer]
# [C (gcc)](https://gcc.gnu.org/), ~~225~~ ~~221~~ ~~217~~ ~~203~~ 197 bytes
-28 bytes ceilingcat
```
char*t,r;main(i,s){for(i=getchar(asprintf(&t,s="char*t,r;main(i,s){for(i=getchar(asprintf(&t,s=%c%s%1$c,34,s));*t;r+=*t++==i);printf(%1$c%%d/197%1$c,r);}",34,s));*t;r+=*t++==i);printf("%d/197",r);}
```
[Try it online!](https://tio.run/##lctNCsJADEDhuwxOmT@RoiAScpgh2pqFVZLsxLOPbXUtuH7fo@1I1BpdqyQrArfKU@Ci8TncJTCOF1taqPoQnmwInRVF96f35NX3Gyr7w0wjJAPJmCxnRI7wpYvw/rzrT8cVS4SX@724D3erbU3f "C (gcc) – Try It Online")
[Answer]
# Python 3, 46 bytes
```
print(open(__file__).read().count(input())/46)
```
[Try it online!](https://tio.run/##K6gsycjPM/7/v6AoM69EI78gNU8jPj4tMyc1Pl5Tryg1MUVDUy85vxQol5lXUFqioampb2Km@f9/KgA "Python 3 – Try It Online")
Straightforward enough, reads its own source code, counts how many times the input character appears, and returns that divided by 46 (the length of the code). You can also do it in 42 bytes with
```
lambda c:open(__file__).read().count(c)/42
```
but it's a little weird as this isn't a complete program (and since `__file__` will give the whole program, if you try to add a `f=` header, the frequencies get messed up).
[Answer]
# [Pyth](https://github.com/isaacg1/pyth), 14 bytes
```
c/+N"c/+NQ7"Q7
```
[Try it online!](https://tio.run/##K6gsyfj/P1lf208JRASaKwWa//@v7qcOAA "Pyth – Try It Online")
## Explanation
```
c/+N"c/+NQ7"Q7
    "c/+NQ7"    # String literal
  +N            # Prepend '"'
 /          Q   # Count occurrences of the input in that string
c            7  # Divide by 7
```
[Answer]
# Google Sheets, 51
Input is in B1.
```
=LEN(REGEXREPLACE(FORMULATEXT(A1),"[^"&B1&"]",))/51
```
For once, we can't use the auto-close trick because the calculation would be wrong.
[Answer]
# Bash, 30 bytes
```
echo `tr -dc "$1"<$0|wc -c`/30
```
[Try it online!](https://tio.run/##S0oszvj/PzU5I18hoaRIQTclWUFJxVDJRsWgpjxZQTc5Qd/Y4P///woA "Bash – Try It Online")
[Answer]
# [><>](https://fishlanguage.com/), 24 bytes
```
'3d*0${:}=+40l4)?.+6*,n;
```
Assumes input on the stack.
1. Reads the code as a string literal, except for the leading `'`
2. `3d*` pushes the character code of `'`, and a counter `0` is also added.
3. Main loop `${:}=+`, increment the counter if the topmost value is equal.
4. `40l4)?.` Exit main loop if all values are read, if not jump back
5. `+6*,n;` print the result of floating point division
[Answer]
# [Lenguage](https://esolangs.org/wiki/Lenguage), 49,673,539,524 bytes
This code contains `49673539524` null bytes, and can actually fit into the universe (and even on a reasonably sized hard drive [or even a flash drive!]), which is saying a lot for Lenguage! Outputs digits as characters; `␁` (with `␁` replaced with an actual Start of Heading character, ASCII `1`) for `1` and infinite null bytes (ASCII `0`) for `0`; `␀␀␀␀␀...` (with `␀` replaced with an actual null character) repeated forever. Converted to codepoints, it's pretty much `00000...` forever, or just `0`. [Try brainf\*\*\* online!](https://tio.run/##SypKzMxLK03O/v9fJ9pOO1pXTzs2Vlvv/38A "brainf*** – Try It Online")\*
```
,[>+[-.+]]+.  # full program
,             # set cell 0 to code point of input
 [       ]    # while cell 0 is nonzero...
  >+          # set cell 1 to 1
    [   ]     # while cell 1 is nonzero...
     -        # set cell 1 to 0
      .       # output character with code point in cell 1
       +      # set cell 1 to 1
          +   # set cell 0 to 1
           .  # output character with code point in cell 1
```
Well this ain't winning. The only reason I submitted this in the first place was because the method used is extremely simple. The code is translated using the method shown in [my other Lenguage answer](https://codegolf.stackexchange.com/a/218529/94066) into the brainf\*\*\* program `,[>+[-.+]]+.`.
\*The reason the TIO link outputs 1 for empty input is because empty input can simulate input of a null byte in brainf\*\*\*, as the current cell is set to `0` if there is no input to take.
Side note: I had ended up golfing over \$7.7×10^{40}\$ bytes from the Lenguage program (34 from the brainf\*\*\* program) since my original version. My first attempt was `-[----->+<]>-->,[<<++[------<+>]<+++.>>-[.]]<.`, my second attempt was `-[----->+<]>-->,[<---.++[.]]<.`, I realized I don't need to output the decimal point (these programs prepended decimal points), and my third attempt was `-[----->+<]>-->,[<-[.]]<.`, until I realized I could golf this down a **ton** by outputting as characters.
[Answer]
# [Japt](https://github.com/ETHproductions/japt), 18 [bytes](https://en.wikipedia.org/wiki/ISO/IEC_8859-1)
```
øQ¬c"øQ¬cq¹/9"q¹/9
```
[Try it](https://petershaggynoble.github.io/Japt-Interpreter/?v=1.4.6&code=%2bFGsYyL4UaxjcbkvOSJxuS85&input=Wyf4JywnUScsJ6wnLCdhJywnYicsJ2MnLCciJywncScsJ7knLCcvOSddCi1tUg)
[Answer]
# [Wolfram Language (Mathematica)](https://www.wolfram.com/wolframscript/), 46 bytes
```
StringCount[ToString[#0, InputForm], #1]/46 & 
```
[Try it online!](https://tio.run/##JYzLCsIwEAB/ZWnAU6Aq1osIQqDQW1Fvyx6Wmj4Oycqy/f4Y8DjMMIltjYltm7jMcC8v0y0vQfZs@JY/oTt6GPJ3t140kQd3ovZyhQOUsXpD56GBxsOMvUoKKytPFjXIJ6Ijolq2D3hyXiLW1bnr6FZ@ "Wolfram Language (Mathematica) – Try It Online") Pure function. Takes a single-character string as input and returns a rational number as output. Note the trailing space, which is necessary for the `InputForm` string to match the function.
[Answer]
# [Lua](https://www.lua.org/), 98 bytes
```
s="s,i,p=s..'s=;load(s)(...)',-1,0while p do i,p=i+1,s:find(...,p+1,1)end print(i/98)"load(s)(...)
```
[Try it online!](https://tio.run/##TY3LCoAgEAB/RbqotG1564EfE2zRgpi0RZ9veus4MMyEZ81ZfCPAkLwgavFLOFcyYg0iWg2dg@E9OGwqKTpV9bh1IPPOkaoDqaCzWySVLo634X4abfOv5DL5AA "Lua – Try It Online")
Ported [Python answer](https://codegolf.stackexchange.com/a/209325/59169) to Lua.
The problem with Lua string functions is that you can't accept user input for anything but `string.find` with truthy fourth argument. Anyone trying to golf this should test all magic characters `^$()%.[]*+-?` as possible inputs.
Alternatively,
# [Lua](https://www.lua.org/), 84 bytes (reads own source)
```
s,i,p=io.open(arg[0]):read(),-1,0while p do i,p=i+1,s:find(...,p+1,1)end print(i/84)
```
[Try it online!](https://tio.run/##HcxBCoAgEEDRq7h0aDKFFiF0kmghaDUgOmjR8U1afnj8@LjWKhLySlllDkm6cm56B1uC8xJwNKjfi2IQLHwWvxwMVntQ8lIphdzTQEhecKF0S5qWGVrffg "Lua – Try It Online")
This also assumes that `arg[0]` can be used as path to program, which most likely is so.
[Answer]
# [C (clang)](http://clang.llvm.org/), ~~159~~ ~~108~~ 90 bytes
```
x,s;main(c,v)char**v;{for(c=open(__FILE__,0);read(c,&x,1);s+=x==*v[1]);printf("%d/90",s);}
```
[Try it online!](https://tio.run/##S9ZNzknMS///v0Kn2Do3MTNPI1mnTDM5I7FIS6vMujotv0gj2Ta/IDVPIz7ezdPHNT5ex0DTuig1MQWoUK1Cx1DTuljbtsLWVqss2jBW07qgKDOvJE1DSTVF39JASadY07r2////xQA "C (clang) – Try It Online")
-51, thanks to ceilingcat (and also without the four-character-filename limitation)
-18, thanks to ceilingcat!
[Answer]
# [JavaScript (V8)](https://v8.dev/), 48 bytes
```
function f(c){return--(f+'').split(c).length/48}
```
[Try it online!](https://tio.run/##bcgxDoAgDADA3Ve4ATHg4uB3CKGIwWKguBjfXnU13nirPWx1Je6kj5kZGjqKGXuQTp3FUyuotYRBCGXqniI9b5LHQMs4zRe7jDUnb1IOEqTYhFLd5@Dn4s@V9/gG "JavaScript (V8) – Try It Online")
[Answer]
# [Python 3.8 (pre-release)](https://docs.python.org/3.8/), 54 bytes
```
f=open(__file__).read();print(f.count(input())/len(f))
```
[Try it online!](https://tio.run/##K6gsycjPM7YoKPr/P802vyA1TyM@Pi0zJzU@XlOvKDUxRUPTuqAoM69EI00vOb8USGfmFZSWaGhq6ucA1aZpagL1AQA)
`__file__` contains the path to the file the program is in. So f opens the file where it is and grabs the contents of it.
`print(f.count(input())/len(f))`
This counts the occurrences of the character provided and divides it by the total number of characters.
[Answer]
# [Thunno](https://github.com/Thunno/Thunno), \$ 18 \log\_{256}(96) \approx \$ 14.82 bytes
```
34C"34C+sc9/"+sc9/
```
[Attempt This Online!](https://ato.pxeger.com/run?1=m72sJKM0Ly9_wYKlpSVpuhabjE2clYBYuzjZUl8JTEIkoPILFjpDGAA)
Based off @Mukundan314's Pyth answer.
## [Thunno](https://github.com/Thunno/Thunno), \$ 6 \log\_{256}(96) \approx \$ 4.94 bytes
```
zdsc6/
```
[Attempt This Online!](https://ato.pxeger.com/run?1=m72sJKM0Ly9_wYKlpSVpuhbLqlKKk830IRyo2IKFKRAGAA)
Probably cheating but I'll put it here anyway.
#### Explanations
```
34C                 # Push chr(34), the double quote
   "34C+sc9/"+      # Prepend it to the string "34C+sc9/"
              sc    # Swap and count the number of times the input is in the string
                9/  # Divide by 9 (Half the length of the program)
```
```
zd      # Push the source code
  sc    # Swap and count the number of times the input is in the string
    6/  # Divide by 6 (The length of the program)
```
]