# [sclin](https://github.com/molarmanful/sclin), 45 bytes ``` $W2+"."fltr P/"len1="Q rev >A0:1:2log"I"Q = & ``` [Try it here!](https://replit.com/@molarmanful/try-sclin) Returns an infinite list. Feels very golfable... For testing purposes (use `-i` flag if running locally): ``` ; 100tk >A $W2+"."fltr P/"len1="Q rev >A0:1:2log"I"Q = & ``` ## Explanation Prettified code: ``` $W2+ \; fltr P/ ( len 1= ) Q rev >A 0:1: 2log \I Q = & ``` - ``` $W2+ \; fltr ``` filter range [2, ∞)... - ``` P/ ``` prime factor - results in frequency map `{prime => frequency}` - ``` ( len 1= ) Q rev``` duplicate, check if frequency map has only one prime, swap to save for later - ``` >A 0:1: ``` get frequency - i.e. get value from 0th key-value pair - ``` 2log \I Q = ``` check if power of 2 - i.e. check if log base 2 of the frequency is an integer - ``` & ``` AND