Hi, I am fairly new to the Competitive Programming journey, solving problems for little over a month.

**A gist background** : I enrolled in a boot-camp for DS and Algorithms, learnt the tricks and methodology, but was overwhelmed for a large portion of the course. I have an overview of it and some basic understanding, but that's about it. After completing the course, I switched over to Codeforces, Codechef and some other online CP sites.

I have been solving problems for a month now, sorted according to ratings, i.e. 400-700 and lately some of the problems with 800. After a while, I gave 3 contests, Educational Codeforces Round 84 (Rated for Div. 2) , March Long and Cook-off of Codechef as I wanted to have a real-time experience of how competitive programming goes about. I fared bad, obviously. Solved a question each in the Codechef contests, and couldn't even solve the first problem in Educational Codeforces Round 84 (Rated for Div. 2). Rating and failure doesn't bog me down, and it won't. But the problem I seem to have is of proper guidance and trajectory on which I can take action.

To make it more clear, here are the issues I am facing:

- What topics should I study to be able to solve A, B and C problems as of now?
- How many Type A problems to solve before switching to the problems with higher rating/increased difficulty?
- What techniques(DP, Greedy, Backtracking etc.) should I learn and try to use currently?
- Do I study basic Algebra like Euclidean/ Extended Euclidean algorithm , easier topics of Number Theory, and how important are they?
- When should I start with topics like Graph Theory, Disjoint Set Union and beyond?

I know these are a lot of questions, but these are some genuine problems I have been facing. Please cut me some slack as it is my first post, thanks!