Getting Started With The Sport of Programming - Getting Started With The Sport of Programming
Getting Started With The Sport of Programming - Getting Started With The Sport of Programming
We d n e s d a y, 2 3 J u l y 2 0 1 4 About Me
Triveni Mahatha
Getting Started with the Sport of Programming
View my complete profile
This document is to guide those people who want to get started or have just started with
competitive programming.
Blog archive
Originally, this document was prepared during the summers of 2014 to help the freshers of
▼ 2014 (1)
▼
Indian Institute of Technology, Kanpur. So, we thought it might be useful to others as well.
▼ July (1)
▼
Getting Started with the Sport of
Prerequisite : Basics of any programming language. We will follow C/C++.
Programming
Note : Please note that this blog is not meant to explain concepts in
details. The Aim of this blog is to guide you about which topics you
should read and practice in a systematic way. However, in many places
short explanations have been included for their relevance. Relevant
problems are given after each topic. Proper sources are given from where
these concepts can be studied. Where sources are not mentioned, that
means these are very very popular and you can get to know about them
just by a single google search. Move forward and enjoy it !
All the following things are from our experience and not
something written on stone.
You write codes and submit them online . The judge runs your code and checks
the output of your program for several inputs and gives the result based on your
program’s outputs.You must follow exact I/O formats. For example, do not print
statements like : “please enter a number”, etc :P
Sometimes when you are stuck . Check the running time of other accepted codes to take an
insight like what Order of solution other people are writing / what amount of memory they
are using.
int cur,sum=0;
for(int i=0;i<n;++i)
{
scanf(“%d”,&curr);
sum = sum+curr;
}
Total number of computations = n*(1+1+1+1)
n times checking i
n times i++
n times scanf
n times + operating
So total of 4*N.
We remove the constant and call it O(N)
This is the simplest I can explain.You will get further understanding with practice and
learning.
If your program takes O(n^2) steps and problems has T test cases . Then total order is T*N^2.
INT OVERFLOW :
Sum three numbers.
Constraints :
0 < a,b,c < 10^9
int main()
{
int a , b,c;
scanf(“%d %d %d”,&a,&b,&c);
int ans = a + b + c;
printf(“%d”,ans);
return 0;
}
This program won't give correct output for all cases as 3*10^9 cannot be stored in INTS you
need long long int or unsigned int (4*10^9).
what if 0
Comparing Doubles :
int main()
{
float a ;
scanf(“%f”,&a);
if(a == 10 ) printf(“YES”);
return 0;
}
float / double don’t have infinite precision . BEWARE ( 6/15 digit precision for them
respectively)
Try the following problem.
http://www.spoj.com/problems/GAMES/
Now imagine writing codes using these inbuilt functions and data structures . It would be
much more simpler now.
Also read these answers on how to start competitive programming and get good at it.
http://www.quora.com/ACM-ICPC-1/For-an-ACM-beginner-how-should-I-start
http://www.quora.com/Can-I-crack-the-ACM-ICPC-in-1-5-years-if-I-have-to-start-
from-scratch
http://www.quora.com/Competitive-Programming/What-was-Anudeep-
Nekkantis-Competitive-Programming-strategy-to-become-35th-in-Global-ranking-
in-just-6-7-months
TopCoder has very nice tutorials on some topics, read them here .
You can also read this book topic wise to understand an algorithm in a deeper way
http://ldc.usb.ve/~xiomara/ci2525/ALG_3rd.pdf.
To get good at writing fast codes and improving your implementation, you can follow
this:
My personal advice is to start practicing on TopCoder . Start with Div2 250 master it then
start with Div2 500 master it then move to Div1 250 .Also read the editorials of problem you
solve and the codes of fastest submissions to learn how to implement codes in simple and
elegant way.Meanwhile keep learning algorithms and keep practicing them on SPOJ or
CodeChef or Codeforces . And do read the tutorials, after a time you will realize that the
tricks and methods to solve are repeating themselves . We learn from practice only . If you
read same thing 5 times in different tutorials then it will not be stored in your short term
memory only right .
Below are few topics to start with and problems related to those topic.
They are very basic stuffs and you can learn all you need to know by just googling them out.
“When i will get some time I will try to update and give more details about the topics a
newbie should cover.”
Try to do all the problems stated below if you are a beginner.
PRIMES
Prime Check ( O(log n) also possible read about miller-rabbin )
Factorization
Number of factors
Sum of factors
Generating Primes using sieve of eratosthenes
Bounds on number of primes till N
Euler’s totient function
Practice Problems :
http://www.spoj.com/problems/NDIV/
http://codeforces.com/problemset/problem/431/B
http://www.spoj.com/problems/GAMES/
http://www.spoj.com/problems/GCJ101BB/
http://www.spoj.com/problems/GCJ1C09A/
http://www.spoj.com/problems/MAIN72/
http://www.spoj.com/problems/WINDVANE/
http://www.spoj.com/problems/NDIV/
http://www.spoj.com/problems/PTIME/
http://www.spoj.com/problems/NDIVPHI/
http://www.spoj.com/problems/NOSQ/
http://www.spoj.com/problems/AFS/
http://www.codechef.com/MAY13/problems/WITMATH/
http://www.spoj.com/problems/CUBEFR/
Practice problems:
http://www.spoj.com/problems/DCEPC11B
http://www.codechef.com/MAY13/problems/FTRIP/
http://www.spoj.com/problems/FIBOSUM/
http://www.spoj.com/problems/POWPOW/
http://www.spoj.com/problems/POWPOW2 [[ CRT ]]
Binary Search
Try this : http://codeforces.com/problemset/problem/431/D
Understand the concept of binary search. Both left_binary_search and
right_binary_search. Try to implement it on your own. Look at others
implementation.
sample implementation :
int l = 0, r = 10000, key_val = SOME_VALUE, m;
while (r - l > 1)
{
m = (l+r) >> 1;
int val = some_non_decreasing_function(m);
if(val < key_val) l = m;
else r = m;
}
if (some_non_decreasing_function(l) == key_val ) return l;
else return r;
Practice Problems:
http://www.spoj.com/problems/AGGRCOW/
http://codeforces.com/problemset/problem/431/D [[Learn’t
something new ?]]
http://www.spoj.com/problems/PIE/
http://www.spoj.com/problems/TETRA/
http://www.spoj.com/problems/KOPC12A/
solve : http://www.codechef.com/MAY14/problems/COMPILER
Now use stacks to taste its beauty and solve the following problem too.
http://codeforces.com/problemset/problem/344/D
Queue
http://www.spoj.com/problems/DONALDO/
Priority Queue
http://codeforces.com/gym/100247/problem/I [[First try without
using Priority queue]]
Set
http://www.spoj.com/problems/FACEFRND/ [[First try without
using set ]]
What if I tell you that apart from scanning the input
this problem can be done in 2 lines ? Interesting ?
Think!
Map
http://www.codechef.com/MARCH13/problems/TOTR/
http://codeforces.com/gym/100247/problem/C
http://www.spoj.com/problems/NGM2/
GRAPHS
Try the following problems :
Prime Path
Prayatna PR
Any Ideas ?
GREEDY ALGORITHMS
Greedy Algorithms are one of the most intuitive algorithms. Whenever we see a
problem we first try to apply some greedy strategy to get the answer(we humans
are greedy, aren’t we :P ? ).
Read this tutorial for further insight or you can directly attempt the problems most
of the greedy approaches are quite simple and easy to understand/formulate.But
many times the proving part might be difficult. But you should always try to prove
your greedy approach because most the times it happens that you later realise
that you solution does not give the optimal answer.
http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlg
They are generally used in optimization problems and there exists an optimal
substructure to the problem and solutions are generally O(n log n) (sorting) or
O(n) (single pass).
Problems List:
http://www.spoj.com/problems/BAISED/
http://www.spoj.com/problems/BALIFE/
http://www.spoj.com/problems/GCJ101BB/
http://www.codechef.com/problems/FGFS
http://www.codechef.com/problems/KNPSK
http://www.codechef.com/problems/LEMUSIC
http://www.spoj.com/problems/ARRANGE/
http://www.spoj.com/problems/FASHION/
Q)A thief breaks into a shop and finds there are N items weight of ith item is Wi
and cost of ith item is Ci and thief has a bag of which can carry at most W units of
weight. Obviously thief wants to have maximum profit . What strategy he should
choose if :
Case 2:If he cannot break the items in fractional parts. Will now greedy work ? Try
to make some test cases for which greedy will fail.
Most of time when greedy fails its the problem can be solved by Dynamic
Programming(DP).
DYNAMIC PROGRAMMING [[ DP ]]
In my view this is one the most important topic in competitive programming.
The problems are simple and easy to code but hard to master. Practice as many
DP problems as much possible.
You must go through this topcoder tutorial and you must try to solve all the
problems listed below in this doc.
( These are basic problems and some with few variations that we feel one should
know. You must practice other DP problems too)
Problems list:
http://www.spoj.com/problems/COINS/
Read about Maximum Sum Subarray [I dint find exact question on any
online judge as its very very basic]
http://www.codechef.com/problems/DELISH
http://www.codechef.com/problems/KSUBSUM/
Q)Finding NCR [Using above discussed recursion in math section and
DP]
https://projecteuler.net/problem=18
Q)Given a matrix filled with numbers.You are initially at upper left corner
, you have to reach to the lower right corner.In each step you can either
go right or down.When ever you go to a cell you points increase by
value of that cell.What is the maximim possible points you can gain?
http://www.codechef.com/JUNE13/problems/LEMOUSE
http://www.spoj.com/problems/MAXWOODS/
http://www.spoj.com/problems/EDIST/
http://www.spoj.com/problems/ADFRUITS/
http://www.spoj.com/problems/IOIPALIN/
http://www.codechef.com/problems/PPTEST/
http://www.codechef.com/problems/MAXPR
http://www.codechef.com/problems/LEBALONS
http://www.codechef.com/problems/DBOY/
http://www.codechef.com/problems/HAREJUMP
Abhilash Kumar
abhilak@iitk.ac.in
https://www.facebook.com/abhilash.276
Triveni Mahatha
triveni@iitk.ac.in
https://www.facebook.com/triveni.mahatha
273 comments:
Reply
well this is going to be very useful guide for beginners like me..please keep updating this
post with more necessary practice problems. It would be so helpful to solve exact right
niche problems instead of wasting time on non-useful ones. happy coding :)
Reply
Reply
Reply
Reply
Reply
Thanks a ton for this awesome guide! Its difficult to follow the coding groups in college
sometimes due to time/projects/other factors, but this guide is a great way to progress in a
systematic manner.
What kind of questions should i start with on spoj? Sort by accuracy and solve the ones with
highest number of submissions + high accuracy?
Reply
Hi!,
Given link for topic wise book for algo is not working. Is it the clrs ?
Reply
Reply
Reply
Reply
Reply
SAP HR
SAP Accounting
SAP CRM
SAP Support
Reply
Reply
Reply
Chandrashekhar Kumar 9 April 2015 at 13:52
Great info !
Reply
Thanks for sharing the information. It is very useful for my future. keep sharing
baixar facebook
baixar whatsapp
unblocked games
Reply
Reply
Very useful! thank you so much for sharing this! keep sharing more! (Y)
Reply
Thank you sharing your experience. It is very much useful.BTW i was looking for someone
who can guide me how to be a good coder.Keep sharing more ideas and thoughts in
future...
Reply
Bavetline
Agen Bola
Agen SBOBET
Agen Judi
Bonus
Prediksi Bola Jitu
Pendaftaran
Reply
social online
ﻛﺷف ﺗﺳرﺑﺎت
ﺗﺣﻣﯾل ﻛﺗﺎب ﺷﻣس اﻟﻣﻌﺎرف اﻟﻛﺑرى
ﺗﺣﻣﯾل ﻟﻌﺑﺔ ﻛراش
ﻧﻣوذج ﺳﯾرة ذاﺗﯾﺔ
Reply
Unknown 1 November 2015 at 10:51
i am very happy to read this article.. thanks for giving us nice info. fantastic walk-through.
i appreciate this post.
sports investment
Reply
very helpful for beginners who don't know how to start their journey
and well done bro!!
Reply
Reply
Thanks for the information and links you shared this is so should be a useful and quite
informative!
Body building
Reply
Valuable site, where did u come up with the information in this posting? I am pleased I
discovered it though, ill be checking back soon to find out what new content pieces u have.
bubble football london
Reply
I have to say this has been probably the most helpful posts for me. Please keep it up. I cant
wait to read whats next.
Body By Vi Results
Reply
There are certainly a lot of details like that to take into consideration.
zorb football uk
Reply
Thanks for always being the source that explains things instead of just putting an
unjustified answer out there. I loved this post.
the fantasy lineup
Reply
Sir, I am student of 3rd year btech of electronics and communication engineering from
indian school of mines. I want to know that what is real use of competitive programming. I
also want to do competitive programming but i have not so much time. Will i become good
progrmmer in six months ? Or i leave this and do another thing like php developer or
backend developing ?
Reply
Unknown 15 January 2016 at 11:49
Reply
The TopCoder tutorials link above doesn't work for me, but this does
TopCoder tutorials
Reply
This point has dependably been one of my most loved subjects to peruse about. I have
observed your post to be exceptionally energizing and brimming with great data. I will
check your different articles in the blink of an eye. integrated voice response
Reply
Reply
This blog awesome and i learn a lot about programming from here.The best thing about this
blog is that you doing from beginning to experts level.
Love from
Reply
Reply
Replies
Reply
I like your post & I will always be coming frequently to read more of your post. Thank you
very much for your post once more.
edmonton basketball
Reply
Resources like the one you mentioned here will be very useful to me! I will post a link to
this page on my blog.
zorb football hire
Reply
Reply
Resources like the one you mentioned here will be very useful to me! I will post a link to
this page on my blog.
fu hai feng
Reply
Reply
Reply
Programming is very interesting and creative thing if you do it with love. Your blog code
helps a lot to beginners to learn programming from basic to advance level. I really love this
blog because I learn a lot from here and this process is still continuing.
Love from Pro Programmer
Reply
I think this post will be a fine read for my blog readers too, could you please allow me to
post a link to my blog. I am sure my guests will find that very useful.
bubble football
Reply
Replies
Reply
Reply
Jim Marven 28 April 2016 at 10:01
Reply
wellgooo è l'opzione migliore per l'intrattenimento e la spesa del tempo in questi Attività
sport , all'aperto, divertimento , Lago di Gard , attivita , rafting , bici, trekking, escursioni
e vela .
Reply
thanks a lot
Reply
Programming is very interesting and creative thing if you do it with love. Your blog code
helps a lot to beginners to learn programming from basic to advance level. I really love this
blog because I learn a lot from here and this process is still continuing.
Love from Pro Programmer
Reply
Reply
I definitely appreciate your blog. Excellent work and very nice information about the
sports.
Skater Owned Skate Shop
Reply
Hi I really appreciate all the great content you have here. I am glad I cam across it!
Bet
Reply
Replies
Reply
I like your post & I will always be coming frequently to read more of your post. Thank you
very much for your post once more.
WWE Facts
Reply
Reply
nic post...
http://mkniit.blogspot.in
Reply
Great article about the sports and this is such an interesting and informative article.
Quattro - Peg Skate Documentary
Reply
Good information and great post about the sports and i really like it.
Golf Equipment
Reply
Reply
Reply
Reply
Super blog and very nice and useful information about the sports and wrestling.good work.
Reply
Reply
Oh Nice Post i will share my facebook friend and other net work
Pokémon GO APK Download
Reply
I found some useful information in your blog, it was awesome to read, thanks for sharing.
Kid Coders Singapore
Reply
Reply
Most valuable and fantastic blog I really appreciate your work which you have done about
the 50 AMAZING facts of the WWE,many thanks and keep it up.
50 AMAZING facts of the WWE
Reply
Reply
http://www.prokr.net/2016/09/bathrooms-isolation-3.html
http://www.prokr.net/2016/09/bathrooms-isolation-2.html
http://www.prokr.net/2016/09/bathrooms-isolation.html
Reply
Reply
Reply
Reply
This is such a great blog and the offers about addidas shoes are too good.
I really liked this brand.
Reply
Reply
Nice tutorial. Thanks for sharing the valuable info about c Training. it’s really helpful. Who
want to learn c language this blog most helpful. Keep sharing on updated tutorials…..
Reply
I truly Follow what you write and i want to thank you for sharing this content with us
hetakshi patel
http://www.skywardsoftwares.co.in
Reply
Reply
Seriously this is a amazing blog for kids, Thanks for shared wonderful info!!!
Children Learning Programs Singapore
Reply
Nice blog and the description about it very amazing I really liked it.
Reply
Hey your blog is very nice, such useful information you are sharing. I really like your blog
the information is very accurate and if you want to know more about free ad
posting service,www.helpadya.com there is another website with best information.
Reply
Reply
Petersons 31 July 2017 at 01:37
Thanks for the information you shared that's so useful and quite informative and i have
taken those into consideration....
Reply
หนังฝรัง
Reply
Thanks for the job listing. It will definitely help people who are looking for job. Also check
our Job search website which has latest job postings from all over the globe.
Reply
Thanks for taking the time to discuss this, I feel strongly about it and love learning more on
this topic.
Ghana Lotto
Reply
Impressive web site, Distinguished feedback that I can tackle. Im moving forward and may
apply to my current job as a pet sitter, which is very enjoyable, but I need to additional
expand. Regards.
Ghana Lotto
Reply
Softpro Learning Center (SLC)is the training wing of Softpro India Computer Technologies
Pvt.
Limited. SLC established itself in the year 2008.
SLC offer an intensive and extensive range of training/internship programs for B.Tech, BCA,
MCA & Diploma students.
Softpro Learning Center is a best Summer training institute in Lucknow extends in depth
knowledge of technology like .Net, Java, PHP and Android and also an opportunity to
practically apply their fundamentals. SLC’s objective is to provide skilled manpower to
support the vast development programs.
Reply
Reply
Reply
Shailendra 14 March 2018 at 05:39
Nice blog Content.It is very informative and helpful. Please share more content. Thanks.
PHP Training in Gurgaon
PHP Course in Gurgaon
PHP Institute in Gurgaon
Reply
This information you provided in the blog that is really unique I love it!! Thanks for sharing
such a great blog. Keep posting..
Python training
Python Course
Python training institute
Reply
You always provide quality based posts, enjoy reading your work. replica watches india
Reply
All of your posts are well written. Thank you. post free ads
Reply
Reply
_____________★★★★★★★★★
___________ ★★★★★★★★★★
__________ ★★★★★★★★★★★
_________ ★★★★★★★★★★★★
_________ ★★★★★★★★★★★
_________★★★_★★★★★★★★★
________ ★★★_★★★★★★★★★
_______ ★★★__★★★★★★★★
______ ★★★___★★★★★
___★★★★★__★★★★★★
★★★★★★★_★★★★★★★
_★★★★_★★★★★★★★★★★★
_★★★★★★★★★★★★★★★★★★
_★★★★★★★★★★★★★★★★★★★
_★★★★★★★★★★★★★★★★★★★★
_★★★★★★★★★★★★★★★★★★★★
_★★★★★_★★★★★★★★★★★★★★
★★★★__ ★★★★★★★★★★★★★★
★★★_____ ★★★★★★★★★★★★
_★★★ _____★★★★★★
__★★★ ____★★★★★★
____★★___★★★★★★★★
_____★★_★★★★★★★★★★
_____★★★★★★★★★★★★★★
____★★★★★★★★★★★★★★★★★
___★★★★★★★★★★★★★★★★★★★
___★★★★★★CLICKHERE★★★★★★★★★
___★★★★★★★★★★★★★★★★★★★★★★
___★★★★★★★★★★★★★★★★★★★★★★★
____★★★★★★★★★★★★____★★★★★★★★
_____★★★★★★★★★★★______★★★★★★★
_______★★★★★★★★★_____★★★★★★★
_________★★★★★★____★★★★★★★
_________★★★★★__★★★★★★★
________★★★★★_★★★★★★★
________★★★★★★★★★★
________★★★★★★★★
_______★★★★★★★
_______★★★★★
______★★★★★
______★★★★★
_______★★★★
_______★★★★
_______★★★★
______★★★★★★
_____★★★★★★★★
_______|_★★★★★★★
_______|___★★★★★★★
Reply
Thanks for sharing this kind of useful information xtensible offers best web programmers.
For More Information. Click here
Reply
Reply
Nice post.
Python Courses in Jaipur
Best Python Training Institutes in Jaipur
Reply
You give good example for sport.I Think it's really amazing . Correct score predictions sites.
Reply
Thank you very much. I fully agree with your blog, this really helped me!
Kid coders Singapore
Reply
Reply
Reply
Reply
Reply
Reply
WordPress Training
Web Designing Course in Delhi
SEO Course
PHP Training in Delhi
SMO Training
PPC Institute in Delhi
Reply
Nice blog
Download computer Programming ebooks for free
www.khanbooks.net
Reply
Reply
hanks for your information, the blog which you have shared is useful to us
Datastage Online Training
Reply
Unknown 29 October 2018 at 23:23
I found this post interesting and worth reading. Keep going and putting efforts into good
things. Thank you!!Data Science Online Training in Hyderabad
Reply
Reply
Reply
Thank you!
Reply
I believe there are many more pleasurable opportunities ahead for individuals that looked
at your site.
Saraswati Accountants
Tally Guru and GST Law Page
Certified Professional Accountants
GST for Tally
Tally Ace
Government PMKVY
Reply
Nice blog.. keep sharing information like this.. Thanks for sharing such a useful content
with us
Digitla Marketing Training in Jaipur
Php Training in Jaipur
Android Training in Jaipur
.Net Training in Jaipur
C C++ Training in Jaipur
Java Training in Jaipur
Software Testing Training in Jaipur
Tally Training in Jaipur
Hardware and Networking Training in Jaipur
Networking Training in Jaipur
Reply
https://careerhigh.in/roadmap/9
Reply
Replies
Thanks
Reply
Reply
Reply
Amazing blog you have shared. I read it and get knowledge deeply. I really appreciate the
good quality content you are posting here for free. It’s a really interesting site.
Professional Web design services are provided by W3BMINDS- Website designer in
Lucknow. Web development Company | Web design company
Reply
Thank you for sharing such great information very useful to us.
Python Training in Gurgaon
Reply
Reply
Reply
Reply
byodbuzz05 3 April 2019 at 21:11
A Computer Science portal for geeks. It contains well written, well thought and well
explained computer science and programming articles, quizzes and practice/competitive
programming/company interview Questions.
website: geeksforgeeks.org
Reply
Hi Hello How are you i read your article very nice please post you Experence thank you First
Copy Watches In Mumbai | First Copy Watches In Delhi India
Reply
Hiiii....Thank you so much for sharing Great information....Nice post....Keep move on...
Best Python Training Institutes in Hyderabad
Reply
Blue world kanpur is a fantastic place in kanpur for enjoy with family or friends.
The blue world kanpur water park goes for keeping up global guidelines in that capacity
guests are required to facilitate with the specialists to keep the recreation center sheltered
and agreeable.
Reply
Reply
Reply
Hi,
Great! Thanks for sharing your information. They are really useful games.
Very handy blog keep blogging. Are you looking for the top data science training in Gurgaon
Reply
Very informative post I enjoyed reading it. Get the best Python training course in Gurgaon
Reply
Replies
Reply
Vijay Kumar 27 August 2019 at 09:01
Very good post thank you so much. Join the affordable blockchain certification training in
Gurgaon
Reply
Very informative blog, You have such an updated blog with peace of knowledge.
Free Digital marketing Course in dilshad Garden
Free Digital marketing Course in Shahadra
Free Digital marketing Course in Shalimaar Garden
Free Digital marketing Course in Vivek vihar
Free Digital marketing Course in Aanad vihar
Reply
To Fluency shows you how to learn English in the most effective way so that you can
become fluent, as fast as possible. Are you ready to speak English Fluently?
Reply
I really enjoyed your blog Thanks for sharing such an informative post.
https://myseokhazana.com/
https://seosagar.in/
Indian Bookmarking list
Indian Bookmarking list
India Classified Submission List
Indian Classified List
Indian Bookmarking list
Indian Bookmarking list
India Classified Submission List
Indian Classified List
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
I am so happy to read this. This is the type of manual that needs to be given and not the
random misinformation that’s at the other blogs. Appreciate your sharing this best doc.
http://www.jadwalligajerman.web.id
Reply
Reply
Thanks for Sharing This Article.It is very so much valuable content. I hope these
Commenting lists will help to my website
top microservices online training
Reply
Thanks for the post. It was very interesting and meaningful. I really appreciate it! Keep
updating stuffs like this. If you are looking for the Advertising Agency in Chennai / Printing
in Chennai , Visit us now..
Reply
Reply
I am happy after reading your post that you have posted in this blog. Thanks for this
wonderful post and hoping to post more of this. I am looking for your next update.
Tuition Service Lucknow | Home Tuition Service
Reply
Thanks
Sports Training Program with School
Reply
Thank you very much for posting and sharing this great Blog And Good Information.keep
posting.
Thanks
Sports Training Program with School
Reply
Load more...
Home