Your task is to get Zodiac Sign using input ```day``` and ```month```.

For exapmle: 

```python
get_zodiac_sign(1,5) => 'Taurus'
get_zodiac_sign(10,10) => 'Libra'
```

Correct answers are (preloaded): 
```python
SIGNS = ['Capricorn', 'Aquarius', 'Pisces', 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius']
```

P.S. Each argument is correct integer number.

WESTERN ASTROLOGY STAR SIGN DATES

* Aries (March 21-April 19)
* Taurus (April 20-May 20)
* Gemini (May 21-June 20)
* Cancer (June 21-July 22)
* Leo (July 23-August 22)
* Virgo (August 23-September 22)
* Libra (September 23-October 22)
* Scorpio (October 23-November 21)
* Sagittarius (November 22-December 21)
* Capricorn (December 22-January 19)
* Aquarius (January 20 to February 18)
* Pisces (February 19 to March 20)

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def get_zodiac_sign(day, month):
	

Solutions:
def get_zodiac_sign(day, month):
	signs = ['Aquarius', 'Pisces', 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius', 'Capricorn']
	limits = [20, 19, 21, 20, 21, 21, 23, 23, 23, 23, 22, 22]
	return signs[month - 1] if limits[month - 1] <= day else signs[(month + 10) % 12]


def get_zodiac_sign(day, month):
	if month == 3:
		if day >= 21 and day <= 31:
			return 'Aries'
	elif month == 4:
		if day >= 1 and day <= 19:
			return 'Aries'
	if month == 4:
		if day >= 20 and day <= 30:
			return 'Taurus'
	else:
		pass
	if month == 5:
		if day >= 1 and day <= 20:
			return 'Taurus'
	else:
		pass
	if month == 5:
		if day >= 21 and day <= 31:
			return 'Gemini'
	else:
		pass
	if month == 6:
		if day >= 1 and day <= 20:
			return 'Gemini'
	else:
		pass
	if month == 6:
		if day >= 21 and day <= 30:
			return 'Cancer'
	else:
		pass
	if month == 7:
		if day >= 1 and day <= 22:
			return 'Cancer'
	if month == 7:
		if day >= 23 and day <= 31:
			return 'Leo'
	if month == 8:
		if day >= 1 and day <= 22:
			return 'Leo'
	if month == 8:
		if day >= 23 and day <= 31:
			return 'Virgo'
	if month == 9:
		if day >= 1 and day <= 22:
			return 'Virgo'
	if month == 9:
		if day >= 23 and day <= 30:
			return 'Libra'
	if month == 10:
		if day >= 1 and day <= 22:
			return 'Libra'
	if month == 10:
		if day >= 23 and day <= 31:
			return 'Scorpio'
	if month == 11:
		if day >= 1 and day <= 21:
			return 'Scorpio'
	if month == 11:
		if day >= 22 and day <= 30:
			return 'Sagittarius'
	if month == 12:
		if day >= 1 and day <= 21:
			return 'Sagittarius'
	if month == 12:
		if day >= 22 and day <= 31:
			return 'Capricorn'
	if month == 1:
		if day >= 1 and day <= 19:
			return 'Capricorn'
	if month == 1:
		if day >= 20 and day <= 31:
			return 'Aquarius'
	if month == 2:
		if day >= 1 and day <= 18:
			return 'Aquarius'
	if month == 2:
		if day >= 19 and day <= 28:
			return 'Pisces'
	if month == 3:
		if day >= 1 and day <= 20:
			return 'Pisces'


from bisect import bisect_left as bisect
from datetime import date
CONFIG = [('Capricorn', 19), ('Aquarius', 18), ('Pisces', 20), ('Aries', 19), ('Taurus', 20), ('Gemini', 20), ('Cancer', 22), ('Leo', 22), ('Virgo', 22), ('Libra', 22), ('Scorpio', 21), ('Sagittarius', 21), ('Capricorn', 31)]
(DATES, _SIGNS) = map(tuple, zip(*((date(1992, min(i, 12), d), s) for (i, (s, d)) in enumerate(CONFIG, 1))))

def get_zodiac_sign(d, m):
	return _SIGNS[bisect(DATES, date(1992, m, d))]


from datetime import datetime
data = '\nAries March 21 April 19\nTaurus April 20 May 20\nGemini May 21 June 20\nCancer June 21 July 22\nLeo July 23 August 22\nVirgo August 23 September 22\nLibra September 23 October 22\nScorpio October 23 November 21\nSagittarius November 22 December 21\nCapricorn December 22 January 19\nAquarius January 20 February 18\nPisces February 19 March 20\n'
data = [line.split() for line in data.split('\n') if line.strip()]
month = lambda s: datetime.strptime(s, '%B').month
data = [(z, month(m1), int(d1), month(m2), int(d2)) for (z, m1, d1, m2, d2) in data]

def get_zodiac_sign(day, month):
	for (z, m1, d1, m2, d2) in data:
		if m1 == month and d1 <= day or (m2 == month and day <= d2):
			return z


def get_zodiac_sign(day, month):
	SIGNS = ['Capricorn', 'Aquarius', 'Pisces', 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius']
	t = int(month) * 100 + int(day)
	com = [119, 218, 320, 419, 520, 621, 722, 822, 922, 1023, 1122, 1222]
	for i in range(0, len(com) - 1):
		if (t > com[i]) & (t <= com[i + 1]):
			return SIGNS[i + 1]
	return SIGNS[0]


from datetime import datetime

def get_zodiac_sign(day, month):
	date = datetime(1 + (month == 1 and day < 20), month, day)
	dates = [(20, 18), (19, 20), (21, 19), (20, 20), (21, 20), (21, 22), (23, 22), (23, 22), (23, 22), (23, 21), (22, 21), (22, 19)]
	signs = 'Aquarius Pisces Aries Taurus Gemini Cancer Leo Virgo Libra Scorpio Sagittarius Capricorn'.split()
	return next((s for (i, (d, s)) in enumerate(zip(dates, signs)) if datetime(1, i + 1, d[0]) <= date <= datetime(1 + (i == 11), (i + 1) % 12 + 1, d[1])))