Digital sum, DR, Digit root is the iterative process of summing digits of a number until you end up with a single digit root number: e.g. digit root of 12345 is 6 since 1 + 2 + 3 + 4 + 5 = 15 = 1+5. Also look at [Digit root challenge](https://codegolf.stackexchange.com/questions/97713/print-the-digital-root). ### Input: Given integers `m` and `n` which are the modular and multiplier for sequence. ### Output: Return all cyclic sequences of length greater than one for [Digit roots](https://en.wikipedia.org/wiki/Digital_root) of `n` * `i` in base `m` + 1. - \$1\$ ≤ \$i\$ ≤ \$m\$ - \$1\$ ≤ \$DR(n*i) \$ ≤ \$m\$ - \$DR(i) = i \$ - \$DR(-m) = 0 \$ - \$|DR(-x)| \equiv DR(x) \equiv -DR(x)\$ (mod \$ m) \$ - \$DR(a+b) = DR(DR(a)+DR(b))\$ - \$DR(a-b) \cong (DR(a)-DR(b))\$ (mod \$ m) \$ ### Example Input: 9 4 ### Example Output: 1 4 7 2 5 8 ## More details: m=9, n=4 DR(4*1) -> 4 DR(4*4) -> 7 DR(4*7) -> 1 = first i A cycle happens when going through numbers 1 trough `m` taking digit root of `n` * `i` and then digit root of `n` * result of previous call and so on until returns to the first `i`. Note that if there is no cycle taking digit root of `n` * `i` would simply result to `i`. So we store this sequence in something like a hash set for all the `i`'s and then return all the sequences. ## Challenge All the normal [tag:code-golf] rules are applied excepts the answer with smaller sum of digit roots of each individual byte wins. Example program of how to calculate the Σ digit sums of your code: from sys import stdin score=lambda s:sum((ord(c)-1)%9+1for c in s if ord(c)>0) bytes=lambda s:"".join(str([ord(c)for c in s]).replace(',','').replace(']','').replace('[','')) dr_bytes=lambda s:"".join(str([(ord(c)-1)%9+1for c in s]).replace(',',' +').replace(']',' =').replace('[','')) code="\n".join(stdin.readlines()) print(bytes(code)) print(dr_bytes(code), end=' ') print(score(code))