I have to make a program where the user inputs a number and display all the possible combinations of the letters representing the digits in the number.

I am not asking anyone to do this for me, but I simply don't know where to start with generating the different combinations. I am supposed to avoid using numbers with 0s and 1s

For example

2 - ABC
3 - DEF
4 - GHI
5 - JKL
6 - MNO
7 - PRS
8 - TUV
9 - WXY

835-555-3566

The only letter here that was changed here was the one representing 8

TDJ-JJJ-DJMNO
UDJ-JJJ-DJMNO
VDJ-JJJ-DJMNO


Does anyone have any ideas on how I can go about solving this problem?