Variable length Fibonacci word Challenge
For any two non-empty strings A and B, we define the following sequence :
F(0) = A
F(1) = B
F(n) = F(n-1) + F(n-2)

Where + denotates the standard string concatenation.
The sequence for strings &quot;A&quot; and &quot;B&quot; starts with the following terms: A, B, BA, BAB, BABBA, ...
Create a function or program that, when given two strings A and B, and a positive integer I returns the I-th character of F(∞).
You may choose to use 0-indexing or 1-indexing for I, just specify it in your answer.
You may assume the strings contain only uppercase (or lowercase) letters.
This is a variation of Project Euler's Problem 230, where the two strings were strings of digits of equal length, which trivialize the problem.
Input/Output
You may choose any format for the input. The output should only contain the desired character, with trailing spaces/newlines allowed.
Test Cases
ABC, DEF, 1234567890 → A
ACBB, DEFGH, 45865 → B
A, B, 3 → B
ABC, DEF, 10 → E

This is code-golf, so the lowest byte count for each language wins!
Haskell, 15 bytes

a#b=b++b#(a++b)

Try it online!
Takes strings a and b as input, returns the whole infinite Fibonacci word, as is usually allowed in sequence challenges.
How?
Not much to say. This answer relies on the identity
$$
F(a,b)=b+F(b,a+b),
$$
where \$F(a,b)\$ is the infinite Fibonacci word with starting words \$a\$ and \$b\$.