We have the following recursive function:
The 15-th term; ```f(14)``` is the first term in having more that 100 digits.
In fact, 
```
f(14) = 2596253046576879973769082409566059879570061514363339324718953988724415850732046186170181072783243503881471037546575506836249417271830960970629933033088
It has 151 digits.
```
Make the function ```something_acci()```, that receives ```num_dig``` (number of digits of the value) as unique argument.
```something_acci()``` will output a tuple/array with the ordinal number in the sequence for the least value in having equal or more than the given number of digits.
Let's see some cases:
```python
something_acci(20) == (12, 25)
# f(11) = 1422313222839141753028416
something_acci(100) == (15, 151)
```
The number of digits given will be always more than 5. ```num_dig > 5```.
Happy coding!!!
And the name for this kata? You have three words of the same meaning in Asian Languages.
from functools import lru_cache

@lru_cache()
def f(n):
    return (1, 1, 2, 2, 3, 3)[n] if n < 6 else (f(n-1) * f(n-2) * f(n-3)) - (f(n-4) * f(n-5) * f(n-6))
    
def something_acci(num_digits):
    n, l = 8, 4
    while l < num_digits:
        n += 1
        l = len(str(f(n)))
    return n + 1, l
from functools import lru_cache

@lru_cache()
def f(n):
    return (1, 1, 2, 2, 3, 3)[n] if n < 6 else (f(n-1) * f(n-2) * f(n-3)) - (f(n-4) * f(n-5) * f(n-6))
    
def something_acci(num_digits):
    n, l = 8, 4
    while l < num_digits:
        n += 1
        l = len(str(f(n)))
    return n + 1, l