"""simple docstring"""






import os

# Precomputes a list of the 100 first triangular numbers
_A   					=    [int(0.5 * n * (n + 1)) for n in range(1, 1_0_1)]




def 						SCREAMING_SNAKE_CASE					(  )							->   int:
				SCREAMING_SNAKE_CASE__		  =				os.path.dirname(os.path.realpath(__UpperCAmelCase       )       )
				SCREAMING_SNAKE_CASE__		  =				os.path.join(__UpperCAmelCase  ,					"words.txt"       )

				SCREAMING_SNAKE_CASE__		  =				""
				with open(__UpperCAmelCase       ) as f:
								SCREAMING_SNAKE_CASE__		  =				f.readline()

				SCREAMING_SNAKE_CASE__		  =				[word.strip("\""       ) for word in words.strip("\r\n"       ).split(","       )]
				SCREAMING_SNAKE_CASE__		  =				[
				    word
				    for word in [sum(ord(__UpperCAmelCase       ) - 64 for x in word       ) for word in words]
				    if word in TRIANGULAR_NUMBERS
				]
				return len(__UpperCAmelCase       )


if __name__ == "__main__":
						print(solution())





"""simple docstring"""






from __future__ import annotations

from collections.abc import Generator

import requests
from bsa import BeautifulSoup

_A   					=    'https://www.indeed.co.in/jobs?q=mobile+app+development&l='




def 						SCREAMING_SNAKE_CASE					(  __UpperCAmelCase = "mumbai"       )							->   Generator[tuple[str, str], None, None]:
				SCREAMING_SNAKE_CASE__		  =				BeautifulSoup(requests.get(url + location       ).content  ,					"html.parser"       )
				# This attribute finds out all the specifics listed in a job
				for job in soup.find_all("div"  ,					attrs={"data-tn-component": "organicJob"}       ):
								SCREAMING_SNAKE_CASE__		  =				job.find("a"  ,					attrs={"data-tn-element": "jobTitle"}       ).text.strip()
								SCREAMING_SNAKE_CASE__		  =				job.find("span"  ,					{"class": "company"}       ).text.strip()
								yield job_title, company_name


if __name__ == "__main__":
						for i, job in enumerate(fetch_jobs('Bangalore'), 1):
												print(F'Job {i:>2} is {job[0]} at {job[1]}')




