Jovian
⭐️
Sign In

Usage of programming languages

I am a Software Engineer and finding the relevance of a certain programming language seems to be pretty daunting with the ever-increasing pool of programming languages and their usage. This analysis tries to shed some light on the way we can perceive this data with the help of some other datasets as well. I am greatly indebted to jovian.ml for this course as well as the jovian package which has made version control a cake-walk almost. Setting up an adhoc online environment with Binder gives the flexibility of working on the fly with resource management as a server-sourced service available on a mouse-click. I Rest of the packages used for this analyses are pandas, matplotlib and seaborn.

In [171]:
project_name = "usage-of-programming-languages"
In [172]:
!pip install jovian --upgrade -q
!pip install pandas
Requirement already satisfied: pandas in /srv/conda/envs/notebook/lib/python3.7/site-packages (1.1.3) Requirement already satisfied: python-dateutil>=2.7.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas) (2.8.0) Requirement already satisfied: pytz>=2017.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas) (2020.1) Requirement already satisfied: numpy>=1.15.4 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas) (1.19.2) Requirement already satisfied: six>=1.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from python-dateutil>=2.7.3->pandas) (1.12.0)
In [173]:
import jovian
In [174]:
jovian.commit(project=project_name)
[jovian] Attempting to save notebook.. [jovian] Updating notebook "diysane/usage-of-programming-languages" on https://jovian.ml/ [jovian] Uploading notebook.. [jovian] Capturing environment.. [jovian] Committed successfully! https://jovian.ml/diysane/usage-of-programming-languages

Data Preparation and Cleaning

Import the main data

In [175]:
import pandas as pd
In [176]:
user_lang_df = pd.read_csv('user-languages.csv')

Describing the user-languages dataframe

In [177]:
user_lang_df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 17461 entries, 0 to 17460 Columns: 1411 entries, user_id to zsh-configuration dtypes: float64(1320), int64(90), object(1) memory usage: 188.0+ MB
In [178]:
user_lang_df.describe()
Out[178]:
In [179]:
user_lang_df.head()
Out[179]:

Pivoting the table according to languages and their mean and count, based only on the entries where the values are greater than zeo, meaning where the languages are in use

In [180]:
language_df = pd.DataFrame()
for col in user_lang_df.columns:
    if col != 'user_id':
        current_col_df = user_lang_df[user_lang_df[col] > 0.0][col]
        mean = current_col_df.mean(axis = 0, skipna = True)
        count = current_col_df.count()
        language_df = language_df.append({'language':col, 'mean': mean, 'count': count}, ignore_index=True)
language_df
Out[180]:

We've taken this dataset from https://github.com/jamhall/programming-languages-csv

This is to list the most widely used programming languages in the world

In [181]:
valid_languages_df = pd.read_csv('languages.csv')
valid_languages_df
Out[181]:

Exploratory Analysis and Visualization

What are the top 100 languages in use

In [182]:
valid_languages_df['name_lower'] = valid_languages_df['name'].str.lower()
valid_existing_languages_in_projects_df = language_df.sort_values(by=['mean'], ascending=False).merge(valid_languages_df, left_on="language", right_on="name_lower", how="inner")
top_valid_existing_languages_in_projects_df = valid_existing_languages_in_projects_df.head(100)[['count', 'language', 'mean', 'name']]
top_valid_existing_languages_in_projects_df['mean * count'] = top_valid_existing_languages_in_projects_df['count'] * top_valid_existing_languages_in_projects_df['mean']
top_valid_existing_languages_in_projects_df = top_valid_existing_languages_in_projects_df.sort_values(by='mean * count', ascending = False)
top_valid_existing_languages_in_projects_df
Out[182]:

Top 10 most relevant languages

In [183]:
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.barplot(x="mean * count", y="name", data=top_valid_existing_languages_in_projects_df.head(10))

How many unique users?

In [184]:
pd.DataFrame(user_lang_df.user_id.unique()).count()
Out[184]:
0    17461
dtype: int64

Shape?

In [185]:
user_lang_df.shape
Out[185]:
(17461, 1411)

This means that all the users are unique here

In [186]:
existing_languages_df = valid_existing_languages_in_projects_df.language
technology_set = set()
technology_dict = dict()
for i, row in user_lang_df.iterrows():
    current_set_of_languages = set()
    for language in existing_languages_df:
        if row[language] > 0.0:
            current_set_of_languages.add(language)
    technology_set.add(frozenset(current_set_of_languages))
    if frozenset(current_set_of_languages) in technology_dict.keys():
        technology_dict[frozenset(current_set_of_languages)] = technology_dict[frozenset(current_set_of_languages)] + 1
    else:
        technology_dict[frozenset(current_set_of_languages)] = 1
technology_dict
Out[186]:
{frozenset({'go', 'java', 'javascript', 'python', 'ruby', 'simple'}): 23,
 frozenset({'c#', 'javascript', 'python', 'typescript'}): 4,
 frozenset({'javascript', 'objective-c', 'perl', 'python', 'ruby'}): 1,
 frozenset({'clojure', 'haskell', 'java', 'ruby'}): 1,
 frozenset({'c++', 'ecmascript', 'javascript', 'simple'}): 2,
 frozenset({'bash',
            'c',
            'c#',
            'c++',
            'java',
            'javascript',
            'matlab',
            'python'}): 1,
 frozenset({'c', 'javascript', 'lua', 'php', 'python'}): 1,
 frozenset({'go', 'javascript', 'python'}): 29,
 frozenset({'c', 'c++', 'objective-c', 'python', 'ruby', 'simple'}): 4,
 frozenset({'javascript', 'python', 'ruby', 'scala', 'simple'}): 8,
 frozenset({'c', 'c#', 'java', 'javascript', 'ocaml', 'python', 'simple'}): 1,
 frozenset({'c', 'javascript', 'python', 'simple'}): 21,
 frozenset({'c',
            'java',
            'javascript',
            'python',
            'scala',
            'simple',
            'typescript'}): 1,
 frozenset({'c'}): 32,
 frozenset({'javascript', 'python', 'simple'}): 159,
 frozenset({'c', 'c++', 'matlab', 'scala', 'tex'}): 1,
 frozenset({'javascript', 'python'}): 167,
 frozenset({'php'}): 79,
 frozenset({'emacs lisp', 'javascript', 'simple'}): 1,
 frozenset({'c++', 'emacs lisp', 'python'}): 1,
 frozenset({'java', 'javascript', 'objective-c', 'python', 'simple'}): 18,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'c#', 'emacs lisp', 'go', 'javascript', 'php'}): 1,
 frozenset({'c++', 'python'}): 24,
 frozenset({'javascript'}): 590,
 frozenset({'c', 'c++', 'python', 'tex'}): 1,
 frozenset({'javascript', 'php', 'ruby', 'simple'}): 108,
 frozenset({'c', 'elixir', 'emacs lisp', 'go', 'lua', 'python', 'ruby'}): 1,
 frozenset({'javascript', 'objective-c', 'ruby', 'simple'}): 57,
 frozenset({'c#', 'javascript', 'powershell', 'python', 'simple'}): 4,
 frozenset({'javascript', 'php', 'simple'}): 198,
 frozenset({'haskell'}): 2,
 frozenset({'clojure',
            'elixir',
            'java',
            'javascript',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'python', 'ruby'}): 28,
 frozenset({'clojure', 'java', 'javascript', 'python', 'scala'}): 3,
 frozenset({'c', 'coffeescript', 'java', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'c++', 'java', 'tex'}): 2,
 frozenset({'java', 'javascript', 'simple', 'typescript'}): 17,
 frozenset({'coffeescript', 'java', 'javascript', 'ruby'}): 5,
 frozenset({'clojure', 'go', 'javascript', 'python', 'ruby', 'simple'}): 5,
 frozenset({'c', 'c++', 'javascript', 'simple'}): 7,
 frozenset({'javascript', 'objective-c', 'php', 'ruby', 'simple'}): 22,
 frozenset({'c', 'c++', 'elixir', 'javascript', 'python', 'tex'}): 1,
 frozenset({'java', 'javascript', 'ruby', 'simple'}): 38,
 frozenset(): 324,
 frozenset({'javascript', 'simple'}): 242,
 frozenset({'java'}): 181,
 frozenset({'ruby'}): 86,
 frozenset({'javascript', 'tex'}): 5,
 frozenset({'javascript', 'powershell', 'python'}): 1,
 frozenset({'c',
            'c++',
            'go',
            'haskell',
            'javascript',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'javascript', 'objective-c', 'php', 'python'}): 13,
 frozenset({'go', 'javascript', 'python', 'ruby'}): 16,
 frozenset({'c++', 'javascript', 'simple'}): 16,
 frozenset({'go', 'java', 'perl', 'php', 'python', 'ruby', 'scala'}): 1,
 frozenset({'c#',
            'c++',
            'coffeescript',
            'javascript',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'javascript', 'matlab', 'php', 'ruby', 'simple', 'tex'}): 1,
 frozenset({'javascript', 'php'}): 190,
 frozenset({'go', 'javascript', 'ruby', 'simple'}): 39,
 frozenset({'c', 'c#', 'c++', 'go', 'javascript', 'lua', 'python'}): 1,
 frozenset({'java', 'javascript', 'python'}): 61,
 frozenset({'c', 'c++', 'java', 'objective-c', 'ruby'}): 1,
 frozenset({'javascript', 'php', 'python', 'simple'}): 114,
 frozenset({'javascript', 'objective-c', 'python'}): 20,
 frozenset({'php', 'python', 'simple'}): 6,
 frozenset({'java', 'javascript', 'php', 'python', 'simple', 'tex'}): 2,
 frozenset({'emacs lisp', 'javascript', 'kotlin', 'ruby'}): 1,
 frozenset({'go',
            'haskell',
            'javascript',
            'perl',
            'php',
            'python',
            'rust'}): 1,
 frozenset({'c',
            'go',
            'haskell',
            'java',
            'javascript',
            'kotlin',
            'python',
            'ruby'}): 1,
 frozenset({'c#',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'c',
            'c++',
            'haskell',
            'java',
            'javascript',
            'perl',
            'python',
            'ruby',
            'tex'}): 1,
 frozenset({'c', 'c#', 'javascript'}): 2,
 frozenset({'c', 'go', 'objective-c', 'ruby', 'simple'}): 2,
 frozenset({'c', 'coffeescript', 'javascript', 'ruby', 'simple'}): 9,
 frozenset({'clojure',
            'coffeescript',
            'emacs lisp',
            'javascript',
            'ruby',
            'simple'}): 3,
 frozenset({'c',
            'c#',
            'coffeescript',
            'go',
            'javascript',
            'lua',
            'objective-c',
            'python',
            'ruby'}): 1,
 frozenset({'coffeescript',
            'go',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'coffeescript', 'javascript'}): 59,
 frozenset({'c', 'objective-c', 'php'}): 1,
 frozenset({'coffeescript', 'javascript', 'rust', 'simple', 'typescript'}): 1,
 frozenset({'java', 'javascript'}): 132,
 frozenset({'go', 'javascript', 'php', 'simple'}): 24,
 frozenset({'c', 'c++', 'java', 'javascript', 'php', 'python', 'simple'}): 6,
 frozenset({'java', 'objective-c', 'simple'}): 13,
 frozenset({'c++', 'javascript', 'ruby'}): 10,
 frozenset({'coffeescript', 'javascript', 'php', 'simple'}): 39,
 frozenset({'java', 'javascript', 'simple'}): 75,
 frozenset({'go', 'javascript', 'php', 'python'}): 10,
 frozenset({'c',
            'emacs lisp',
            'go',
            'javascript',
            'lua',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'php', 'simple'}): 39,
 frozenset({'coffeescript', 'javascript', 'objective-c', 'ruby'}): 9,
 frozenset({'c', 'emacs lisp', 'go', 'java', 'objective-c', 'python'}): 1,
 frozenset({'objective-c', 'ruby'}): 25,
 frozenset({'emacs lisp', 'java', 'javascript', 'php', 'python', 'simple'}): 2,
 frozenset({'java', 'javascript', 'php', 'python', 'simple', 'typescript'}): 7,
 frozenset({'java', 'javascript', 'objective-c', 'ruby', 'simple'}): 26,
 frozenset({'java', 'javascript', 'objective-c', 'simple'}): 31,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple',
            'spark'}): 2,
 frozenset({'c#', 'go', 'javascript', 'php', 'python', 'simple'}): 2,
 frozenset({'c', 'go', 'python', 'simple'}): 3,
 frozenset({'c#',
            'c++',
            'go',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python'}): 1,
 frozenset({'c++', 'javascript', 'php', 'ruby'}): 3,
 frozenset({'java', 'kotlin', 'php'}): 2,
 frozenset({'clojure', 'java', 'javascript', 'php', 'scala'}): 1,
 frozenset({'coffeescript', 'javascript', 'objective-c', 'php', 'simple'}): 4,
 frozenset({'c#', 'c++', 'java', 'javascript', 'python', 'rust', 'simple'}): 1,
 frozenset({'c++', 'go', 'javascript', 'objective-c', 'python', 'ruby'}): 1,
 frozenset({'c', 'clojure', 'emacs lisp', 'javascript', 'php', 'simple'}): 1,
 frozenset({'javascript', 'simple', 'typescript'}): 44,
 frozenset({'c#', 'java', 'javascript', 'powershell', 'python', 'ruby'}): 1,
 frozenset({'javascript', 'objective-c', 'python', 'simple'}): 20,
 frozenset({'python', 'ruby', 'simple'}): 8,
 frozenset({'ruby', 'simple', 'tex'}): 1,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'python',
            'simple'}): 9,
 frozenset({'c', 'c#', 'c++', 'javascript', 'ruby', 'simple'}): 2,
 frozenset({'clojure',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple',
            'tex'}): 1,
 frozenset({'c', 'java', 'javascript', 'php', 'simple'}): 3,
 frozenset({'c#', 'javascript', 'powershell', 'scala', 'typescript'}): 1,
 frozenset({'c',
            'c++',
            'clojure',
            'go',
            'haskell',
            'javascript',
            'ruby',
            'scala'}): 1,
 frozenset({'coffeescript',
            'javascript',
            'lua',
            'objective-c',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'c',
            'c#',
            'coffeescript',
            'go',
            'javascript',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c++', 'objective-c', 'ruby'}): 4,
 frozenset({'c',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'lua',
            'objective-c',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'javascript',
            'objective-c',
            'php',
            'python',
            'ruby',
            'simple'}): 20,
 frozenset({'coffeescript', 'javascript', 'ruby'}): 45,
 frozenset({'objective-c', 'simple'}): 43,
 frozenset({'c', 'c#', 'java', 'perl', 'python', 'simple'}): 1,
 frozenset({'c++',
            'go',
            'haskell',
            'javascript',
            'python',
            'ruby',
            'simple',
            'tex'}): 1,
 frozenset({'javascript', 'ruby'}): 158,
 frozenset({'coffeescript', 'javascript', 'python', 'ruby', 'simple'}): 27,
 frozenset({'java', 'javascript', 'python', 'simple', 'tex'}): 4,
 frozenset({'objective-c'}): 85,
 frozenset({'javascript', 'objective-c', 'php', 'simple'}): 14,
 frozenset({'c', 'java', 'javascript', 'ruby'}): 5,
 frozenset({'c',
            'emacs lisp',
            'go',
            'java',
            'javascript',
            'python',
            'ruby'}): 3,
 frozenset({'coffeescript', 'emacs lisp', 'javascript', 'python'}): 1,
 frozenset({'javascript', 'python', 'ruby', 'simple'}): 96,
 frozenset({'c#', 'clojure', 'elixir', 'javascript', 'ruby'}): 1,
 frozenset({'python'}): 135,
 frozenset({'c', 'javascript'}): 23,
 frozenset({'javascript', 'perl', 'python', 'ruby'}): 6,
 frozenset({'c', 'c#', 'c++', 'java', 'matlab', 'php', 'scala'}): 1,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'php',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'c#',
            'c++',
            'javascript',
            'matlab',
            'php',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'c', 'java', 'python', 'scala', 'simple'}): 1,
 frozenset({'go', 'java', 'javascript', 'objective-c', 'python', 'ruby'}): 4,
 frozenset({'c', 'java', 'javascript', 'php', 'python'}): 8,
 frozenset({'javascript', 'powershell', 'ruby'}): 1,
 frozenset({'c',
            'c++',
            'clojure',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'typescript'}): 1,
 frozenset({'bash',
            'c#',
            'c++',
            'coffeescript',
            'javascript',
            'lua',
            'matlab',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'java', 'objective-c'}): 19,
 frozenset({'c#', 'java', 'javascript'}): 17,
 frozenset({'c', 'c++', 'objective-c'}): 5,
 frozenset({'c++'}): 41,
 frozenset({'coffeescript', 'go', 'php', 'simple'}): 1,
 frozenset({'c#'}): 40,
 frozenset({'c',
            'c++',
            'javascript',
            'lua',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'clojure', 'coffeescript', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'javascript', 'php', 'python'}): 52,
 frozenset({'javascript', 'objective-c'}): 65,
 frozenset({'coffeescript', 'go', 'java', 'javascript', 'simple'}): 3,
 frozenset({'c#', 'java', 'javascript', 'powershell', 'python'}): 2,
 frozenset({'javascript', 'php', 'python', 'ruby'}): 33,
 frozenset({'javascript', 'objective-c', 'ruby'}): 33,
 frozenset({'javascript', 'php', 'python', 'ruby', 'simple', 'typescript'}): 2,
 frozenset({'clojure',
            'go',
            'javascript',
            'lua',
            'python',
            'rust',
            'scala',
            'simple'}): 1,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'python',
            'ruby',
            'simple'}): 9,
 frozenset({'c',
            'clojure',
            'emacs lisp',
            'go',
            'java',
            'python',
            'ruby',
            'spark'}): 1,
 frozenset({'java', 'javascript', 'objective-c'}): 32,
 frozenset({'coffeescript',
            'go',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 4,
 frozenset({'c', 'javascript', 'php', 'ruby', 'simple'}): 9,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'simple',
            'tex'}): 2,
 frozenset({'c', 'c++', 'lua', 'matlab', 'python'}): 3,
 frozenset({'java', 'ruby', 'scala'}): 1,
 frozenset({'java', 'javascript', 'python', 'scala', 'simple', 'spark'}): 1,
 frozenset({'go', 'javascript', 'python', 'simple'}): 24,
 frozenset({'go', 'javascript', 'objective-c', 'python', 'ruby', 'simple'}): 8,
 frozenset({'c', 'coffeescript', 'javascript', 'ocaml', 'php', 'simple'}): 1,
 frozenset({'c#',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'javascript', 'ruby', 'simple'}): 155,
 frozenset({'objective-c', 'simple', 'spark'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'java',
            'javascript',
            'python',
            'rust',
            'simple'}): 1,
 frozenset({'c', 'c#', 'go', 'javascript', 'python', 'tex', 'typescript'}): 1,
 frozenset({'c#',
            'c++',
            'java',
            'javascript',
            'lua',
            'powershell',
            'python',
            'simple',
            'tex'}): 1,
 frozenset({'c',
            'coffeescript',
            'go',
            'powershell',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'javascript', 'perl', 'python'}): 1,
 frozenset({'c', 'c++', 'javascript', 'python'}): 24,
 frozenset({'java', 'simple'}): 54,
 frozenset({'c', 'c++', 'go', 'java', 'python', 'simple'}): 1,
 frozenset({'c', 'c++', 'javascript', 'python', 'ruby'}): 11,
 frozenset({'c++', 'objective-c', 'python', 'ruby'}): 2,
 frozenset({'c#', 'c++', 'clojure', 'go', 'javascript', 'python'}): 1,
 frozenset({'c', 'javascript', 'python'}): 24,
 frozenset({'coffeescript', 'javascript', 'ruby', 'simple'}): 77,
 frozenset({'javascript', 'python', 'scala', 'simple'}): 7,
 frozenset({'coffeescript', 'javascript', 'ocaml', 'php'}): 1,
 frozenset({'c', 'java', 'python'}): 6,
 frozenset({'c++', 'coffeescript', 'javascript'}): 4,
 frozenset({'c', 'c++', 'javascript', 'python', 'ruby', 'simple'}): 9,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'php',
            'simple'}): 5,
 frozenset({'coffeescript', 'javascript', 'perl', 'python', 'ruby'}): 3,
 frozenset({'c',
            'coffeescript',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 6,
 frozenset({'elixir', 'javascript', 'ruby', 'simple', 'typescript'}): 3,
 frozenset({'javascript', 'typescript'}): 68,
 frozenset({'c',
            'clojure',
            'go',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala'}): 1,
 frozenset({'c++', 'coffeescript', 'javascript', 'simple'}): 6,
 frozenset({'coffeescript', 'php', 'python', 'ruby'}): 1,
 frozenset({'c',
            'coffeescript',
            'elixir',
            'javascript',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'clojure', 'javascript', 'python', 'ruby', 'scala', 'simple'}): 1,
 frozenset({'c#', 'javascript', 'objective-c', 'python', 'simple'}): 4,
 frozenset({'c', 'java', 'javascript', 'python'}): 26,
 frozenset({'c',
            'c++',
            'haskell',
            'javascript',
            'python',
            'rust',
            'simple',
            'tex'}): 1,
 frozenset({'c#',
            'c++',
            'go',
            'javascript',
            'objective-c',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c#', 'javascript', 'simple'}): 26,
 frozenset({'c++',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'php', 'ruby'}): 10,
 frozenset({'c',
            'c++',
            'go',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 4,
 frozenset({'go', 'javascript'}): 26,
 frozenset({'coffeescript', 'javascript', 'python', 'simple'}): 21,
 frozenset({'c#', 'simple'}): 8,
 frozenset({'c', 'javascript', 'objective-c', 'php', 'ruby', 'simple'}): 6,
 frozenset({'c', 'c#', 'go', 'javascript', 'simple'}): 1,
 frozenset({'clojure', 'emacs lisp', 'java', 'javascript', 'php', 'scala'}): 1,
 frozenset({'javascript', 'php', 'simple', 'typescript'}): 19,
 frozenset({'c', 'go', 'java', 'javascript', 'lua', 'ruby'}): 1,
 frozenset({'javascript', 'python', 'simple', 'spark', 'typescript'}): 1,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala',
            'tex',
            'typescript'}): 1,
 frozenset({'c++', 'java', 'javascript', 'objective-c', 'python', 'ruby'}): 4,
 frozenset({'c', 'c++', 'javascript', 'ruby'}): 5,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby',
            'simple',
            'spark'}): 1,
 frozenset({'c++', 'javascript', 'ruby', 'simple'}): 19,
 frozenset({'haskell', 'javascript', 'ruby', 'simple'}): 2,
 frozenset({'javascript', 'php', 'ruby', 'simple', 'typescript'}): 9,
 frozenset({'c',
            'c#',
            'java',
            'javascript',
            'php',
            'powershell',
            'rust',
            'simple',
            'typescript'}): 1,
 frozenset({'c++',
            'coffeescript',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c', 'javascript', 'php', 'python', 'simple'}): 15,
 frozenset({'c', 'go', 'javascript', 'python', 'simple'}): 15,
 frozenset({'coffeescript', 'javascript', 'objective-c', 'simple'}): 17,
 frozenset({'c', 'c++', 'matlab'}): 1,
 frozenset({'c',
            'clojure',
            'emacs lisp',
            'haskell',
            'javascript',
            'perl',
            'python',
            'rust',
            'scala',
            'simple'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'javascript',
            'perl',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'simple'}): 7,
 frozenset({'c', 'coffeescript', 'javascript', 'python', 'ruby'}): 3,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'php',
            'python',
            'simple'}): 6,
 frozenset({'c++',
            'java',
            'javascript',
            'objective-c',
            'perl',
            'php',
            'python',
            'ruby'}): 1,
 frozenset({'coffeescript', 'go', 'javascript', 'python'}): 6,
 frozenset({'coffeescript', 'elixir', 'go', 'javascript', 'php', 'scala'}): 1,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'matlab',
            'objective-c',
            'php',
            'python',
            'ruby',
            'tex'}): 1,
 frozenset({'c', 'go', 'java', 'javascript', 'php', 'ruby', 'simple'}): 1,
 frozenset({'c', 'coffeescript', 'elixir', 'javascript', 'python'}): 1,
 frozenset({'c++', 'go', 'java', 'javascript', 'simple'}): 3,
 frozenset({'c',
            'clojure',
            'coffeescript',
            'go',
            'java',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'go', 'java', 'javascript', 'python', 'ruby'}): 5,
 frozenset({'elixir', 'javascript', 'php', 'ruby'}): 3,
 frozenset({'c', 'go', 'javascript', 'objective-c', 'python'}): 2,
 frozenset({'c', 'c++', 'go', 'java', 'javascript', 'python', 'simple'}): 12,
 frozenset({'c++', 'objective-c', 'ruby', 'simple'}): 7,
 frozenset({'c#',
            'coffeescript',
            'javascript',
            'php',
            'powershell',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'javascript', 'perl', 'ruby', 'simple', 'typescript'}): 2,
 frozenset({'java', 'scala'}): 5,
 frozenset({'go', 'javascript', 'tex'}): 2,
 frozenset({'c', 'go', 'javascript', 'perl', 'python', 'simple'}): 3,
 frozenset({'clojure',
            'elixir',
            'emacs lisp',
            'go',
            'javascript',
            'ruby',
            'simple'}): 1,
 frozenset({'coffeescript', 'javascript', 'lua', 'php', 'simple'}): 3,
 frozenset({'coffeescript',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 5,
 frozenset({'c++', 'go', 'java', 'javascript'}): 2,
 frozenset({'emacs lisp', 'python'}): 1,
 frozenset({'elixir', 'go', 'javascript', 'python'}): 2,
 frozenset({'c',
            'c++',
            'coffeescript',
            'go',
            'lua',
            'objective-c',
            'python',
            'ruby'}): 1,
 frozenset({'go',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 5,
 frozenset({'c',
            'clojure',
            'coffeescript',
            'ecmascript',
            'javascript',
            'python',
            'simple'}): 1,
 frozenset({'c', 'c++', 'java', 'php', 'python', 'scala', 'simple'}): 1,
 frozenset({'c',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple',
            'spark'}): 1,
 frozenset({'c',
            'coffeescript',
            'java',
            'javascript',
            'ruby',
            'simple',
            'tex'}): 1,
 frozenset({'go', 'java', 'ruby', 'scala', 'simple'}): 2,
 frozenset({'c', 'javascript', 'ruby', 'simple'}): 15,
 frozenset({'javascript', 'objective-c', 'perl', 'ruby', 'simple'}): 1,
 frozenset({'c', 'c++', 'java', 'python', 'ruby', 'simple'}): 1,
 frozenset({'clojure',
            'haskell',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c#', 'emacs lisp', 'java', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'coffeescript', 'javascript', 'php', 'python', 'simple'}): 20,
 frozenset({'coffeescript', 'emacs lisp', 'javascript'}): 1,
 frozenset({'go', 'javascript', 'python', 'typescript'}): 1,
 frozenset({'c#',
            'coffeescript',
            'javascript',
            'objective-c',
            'php',
            'python',
            'spark'}): 1,
 frozenset({'c', 'c++', 'emacs lisp', 'javascript', 'python', 'simple'}): 1,
 frozenset({'clojure', 'coffeescript', 'javascript', 'ruby', 'simple'}): 2,
 frozenset({'c++', 'java', 'javascript', 'python', 'simple'}): 10,
 frozenset({'objective-c', 'ruby', 'simple'}): 26,
 frozenset({'javascript', 'python', 'scala'}): 4,
 frozenset({'c++', 'coffeescript', 'javascript', 'ruby', 'simple'}): 7,
 frozenset({'go', 'javascript', 'php', 'python', 'ruby'}): 8,
 frozenset({'c', 'java', 'javascript', 'python', 'ruby'}): 9,
 frozenset({'c#', 'javascript', 'powershell', 'simple', 'typescript'}): 3,
 frozenset({'c',
            'c++',
            'clojure',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c++',
            'elixir',
            'emacs lisp',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'javascript', 'powershell'}): 4,
 frozenset({'coffeescript',
            'javascript',
            'python',
            'ruby',
            'simple',
            'typescript'}): 4,
 frozenset({'javascript', 'perl', 'php', 'python', 'typescript'}): 1,
 frozenset({'javascript', 'ocaml', 'python', 'simple'}): 2,
 frozenset({'c#', 'c++', 'javascript', 'objective-c', 'simple'}): 2,
 frozenset({'javascript', 'php', 'scala'}): 5,
 frozenset({'c++',
            'clojure',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala'}): 1,
 frozenset({'clojure', 'java', 'python', 'ruby', 'simple'}): 4,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'lua',
            'perl',
            'python',
            'ruby',
            'simple',
            'spark'}): 1,
 frozenset({'clojure',
            'emacs lisp',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c++',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'perl',
            'scala',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'ruby', 'scala'}): 6,
 frozenset({'javascript', 'rust', 'simple'}): 1,
 frozenset({'javascript', 'objective-c', 'python', 'ruby', 'simple'}): 31,
 frozenset({'c', 'go'}): 2,
 frozenset({'emacs lisp',
            'javascript',
            'python',
            'ruby',
            'simple',
            'spark'}): 1,
 frozenset({'clojure', 'java', 'javascript', 'ruby'}): 4,
 frozenset({'c#',
            'c++',
            'coffeescript',
            'javascript',
            'powershell',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'javascript', 'lua', 'php'}): 2,
 frozenset({'c#', 'ecmascript', 'javascript', 'powershell', 'simple'}): 1,
 frozenset({'coffeescript',
            'ecmascript',
            'go',
            'java',
            'javascript',
            'python'}): 1,
 frozenset({'c#', 'go', 'javascript', 'php', 'python', 'ruby'}): 1,
 frozenset({'java', 'javascript', 'php'}): 22,
 frozenset({'elixir', 'javascript', 'php', 'simple'}): 5,
 frozenset({'clojure',
            'coffeescript',
            'javascript',
            'python',
            'ruby',
            'typescript'}): 1,
 frozenset({'go', 'javascript', 'php', 'python', 'simple'}): 17,
 frozenset({'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c#', 'c++', 'javascript', 'rust', 'simple', 'typescript'}): 1,
 frozenset({'haskell', 'php', 'python', 'simple'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'coffeescript',
            'elixir',
            'javascript',
            'objective-c',
            'ruby',
            'scala'}): 1,
 frozenset({'c#', 'go', 'javascript', 'php', 'python'}): 1,
 frozenset({'c', 'c#', 'javascript', 'lua', 'python', 'simple'}): 1,
 frozenset({'go', 'java', 'javascript', 'simple', 'typescript'}): 2,
 frozenset({'javascript', 'php', 'ruby', 'typescript'}): 2,
 frozenset({'c',
            'javascript',
            'objective-c',
            'php',
            'python',
            'scala',
            'spark'}): 1,
 frozenset({'haskell', 'java', 'javascript', 'php', 'simple'}): 1,
 frozenset({'c++',
            'emacs lisp',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'scala',
            'tex',
            'typescript'}): 1,
 frozenset({'java', 'python', 'ruby', 'scala', 'simple'}): 1,
 frozenset({'go',
            'java',
            'javascript',
            'objective-c',
            'ocaml',
            'python',
            'ruby',
            'typescript'}): 1,
 frozenset({'c',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'simple',
            'spark'}): 1,
 frozenset({'javascript', 'python', 'ruby', 'simple', 'typescript'}): 13,
 frozenset({'javascript', 'perl', 'python', 'simple'}): 3,
 frozenset({'javascript', 'php', 'ruby'}): 82,
 frozenset({'tex'}): 1,
 frozenset({'coffeescript', 'javascript', 'php', 'simple', 'typescript'}): 13,
 frozenset({'coffeescript', 'javascript', 'php', 'ruby', 'simple'}): 34,
 frozenset({'go', 'java', 'javascript', 'lua', 'python', 'simple'}): 2,
 frozenset({'c++', 'javascript', 'php', 'python', 'ruby'}): 8,
 frozenset({'c#', 'javascript', 'python', 'spark'}): 1,
 frozenset({'coffeescript', 'javascript', 'objective-c'}): 6,
 frozenset({'c++', 'clojure', 'java', 'python', 'scala'}): 1,
 frozenset({'c', 'javascript', 'perl', 'php'}): 1,
 frozenset({'c#', 'javascript', 'objective-c', 'php', 'ruby', 'simple'}): 2,
 frozenset({'coffeescript',
            'haskell',
            'java',
            'javascript',
            'kotlin',
            'lua'}): 1,
 frozenset({'java', 'javascript', 'python', 'scala'}): 2,
 frozenset({'coffeescript', 'java', 'javascript', 'php', 'ruby', 'simple'}): 6,
 frozenset({'javascript', 'lua'}): 2,
 frozenset({'javascript', 'perl', 'php', 'python', 'simple'}): 6,
 frozenset({'c', 'c++', 'go', 'hugo', 'javascript', 'python'}): 1,
 frozenset({'c', 'emacs lisp', 'haskell', 'javascript', 'python'}): 2,
 frozenset({'c++', 'emacs lisp', 'matlab', 'python', 'ruby', 'simple'}): 1,
 frozenset({'c++', 'python', 'tex'}): 6,
 frozenset({'java', 'javascript', 'python', 'ruby', 'typescript'}): 3,
 frozenset({'c', 'c#', 'java', 'objective-c'}): 2,
 frozenset({'elixir', 'haskell', 'javascript', 'rust'}): 1,
 frozenset({'java', 'simple', 'tex'}): 1,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'php',
            'scala',
            'simple'}): 1,
 frozenset({'go', 'javascript', 'php', 'typescript'}): 4,
 frozenset({'clojure', 'javascript', 'lua', 'python', 'simple'}): 1,
 frozenset({'c',
            'coffeescript',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 3,
 frozenset({'coffeescript', 'elixir', 'javascript', 'ruby', 'simple'}): 6,
 frozenset({'c', 'c++'}): 21,
 frozenset({'coffeescript', 'javascript', 'simple'}): 63,
 frozenset({'c++', 'objective-c'}): 7,
 frozenset({'c', 'javascript', 'objective-c', 'perl', 'simple'}): 1,
 frozenset({'c#',
            'c++',
            'java',
            'javascript',
            'powershell',
            'python',
            'simple',
            'typescript'}): 1,
 frozenset({'go', 'java'}): 13,
 frozenset({'java', 'python', 'ruby', 'simple', 'tex'}): 1,
 frozenset({'javascript', 'simple', 'spark'}): 8,
 frozenset({'java', 'ruby', 'simple'}): 11,
 frozenset({'c', 'go', 'java', 'javascript', 'ruby', 'simple'}): 5,
 frozenset({'c', 'go', 'java', 'javascript', 'python', 'ruby', 'simple'}): 7,
 frozenset({'python', 'simple', 'tex'}): 3,
 frozenset({'ecmascript', 'javascript', 'python', 'simple', 'typescript'}): 2,
 frozenset({'java', 'javascript', 'lua', 'python', 'ruby'}): 1,
 frozenset({'c++', 'go', 'java', 'javascript', 'python', 'simple', 'tex'}): 2,
 frozenset({'clojure',
            'coffeescript',
            'emacs lisp',
            'go',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c', 'c#', 'java', 'javascript', 'objective-c', 'powershell'}): 1,
 frozenset({'javascript', 'php', 'python', 'ruby', 'tex'}): 4,
 frozenset({'c', 'c++', 'java', 'javascript', 'python'}): 17,
 frozenset({'coffeescript', 'java', 'javascript', 'python'}): 7,
 frozenset({'ruby', 'simple'}): 27,
 frozenset({'elixir', 'java', 'javascript', 'ruby'}): 3,
 frozenset({'go', 'perl', 'php', 'python', 'ruby'}): 1,
 frozenset({'java', 'javascript', 'python', 'ruby', 'simple'}): 32,
 frozenset({'emacs lisp',
            'haskell',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple',
            'tex'}): 1,
 frozenset({'objective-c', 'python', 'simple'}): 12,
 frozenset({'ocaml', 'python', 'simple'}): 1,
 frozenset({'c', 'objective-c'}): 6,
 frozenset({'ecmascript',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'tex'}): 1,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'lua',
            'python',
            'simple'}): 3,
 frozenset({'c',
            'coffeescript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'coffeescript',
            'go',
            'java',
            'javascript',
            'lua',
            'perl',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'java', 'simple'}): 7,
 frozenset({'javascript', 'php', 'python', 'simple', 'tex'}): 3,
 frozenset({'c++', 'java', 'javascript', 'python', 'tex', 'timber'}): 1,
 frozenset({'c',
            'clojure',
            'elixir',
            'go',
            'javascript',
            'objective-c',
            'python'}): 1,
 frozenset({'java', 'php'}): 7,
 frozenset({'java',
            'javascript',
            'kotlin',
            'objective-c',
            'python',
            'simple'}): 3,
 frozenset({'java', 'javascript', 'kotlin', 'php', 'ruby', 'simple'}): 1,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'go',
            'javascript',
            'powershell',
            'python',
            'simple',
            'tex'}): 1,
 frozenset({'c++',
            'coffeescript',
            'go',
            'javascript',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'haskell', 'javascript', 'python', 'simple'}): 6,
 frozenset({'clojure', 'java', 'javascript', 'php', 'python', 'ruby'}): 1,
 frozenset({'c++',
            'go',
            'javascript',
            'matlab',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'c', 'objective-c', 'python', 'ruby', 'simple'}): 6,
 frozenset({'javascript', 'ruby', 'simple', 'typescript'}): 17,
 frozenset({'c',
            'c#',
            'c++',
            'coffeescript',
            'javascript',
            'ruby',
            'simple'}): 1,
 frozenset({'c',
            'emacs lisp',
            'go',
            'haskell',
            'java',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c++', 'objective-c', 'simple'}): 5,
 frozenset({'elixir', 'javascript', 'python', 'simple'}): 2,
 frozenset({'c++', 'code', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'javascript', 'perl', 'php', 'simple'}): 4,
 frozenset({'clojure', 'coffeescript', 'javascript', 'simple'}): 2,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 7,
 frozenset({'c#', 'javascript', 'objective-c', 'ruby', 'simple'}): 6,
 frozenset({'go', 'java', 'javascript', 'ruby', 'simple', 'typescript'}): 1,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'perl',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'emacs lisp', 'java', 'objective-c'}): 1,
 frozenset({'c',
            'c++',
            'coffeescript',
            'java',
            'javascript',
            'php',
            'ruby',
            'simple'}): 3,
 frozenset({'c',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'elixir', 'java', 'javascript', 'python', 'ruby', 'simple'}): 2,
 frozenset({'go', 'haskell', 'javascript', 'ocaml', 'python'}): 1,
 frozenset({'c++',
            'go',
            'javascript',
            'objective-c',
            'perl',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'clojure', 'javascript', 'python', 'simple'}): 3,
 frozenset({'c#', 'javascript', 'python'}): 7,
 frozenset({'c++', 'javascript', 'typescript'}): 3,
 frozenset({'javascript', 'perl', 'ruby', 'scala'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby',
            'simple',
            'tex'}): 1,
 frozenset({'emacs lisp',
            'haskell',
            'java',
            'javascript',
            'scala',
            'simple'}): 1,
 frozenset({'go', 'javascript', 'php', 'ruby', 'simple'}): 15,
 frozenset({'c', 'c++', 'python', 'ruby', 'simple'}): 3,
 frozenset({'c++',
            'java',
            'javascript',
            'matlab',
            'perl',
            'python',
            'ruby',
            'scala',
            'tex'}): 2,
 frozenset({'javascript',
            'objective-c',
            'perl',
            'python',
            'ruby',
            'simple'}): 3,
 frozenset({'c++', 'javascript', 'python', 'spark', 'typescript'}): 1,
 frozenset({'c',
            'c++',
            'emacs lisp',
            'haskell',
            'java',
            'javascript',
            'lua',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'c++', 'java', 'objective-c', 'ruby', 'tex'}): 1,
 frozenset({'coffeescript', 'javascript', 'python'}): 18,
 frozenset({'bash', 'javascript'}): 2,
 frozenset({'c++', 'javascript', 'php', 'ruby', 'simple', 'typescript'}): 1,
 frozenset({'c++', 'java', 'objective-c', 'ruby', 'simple'}): 2,
 frozenset({'javascript', 'php', 'python', 'ruby', 'simple'}): 48,
 frozenset({'c++',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'spark'}): 1,
 frozenset({'clojure', 'go', 'javascript', 'python', 'typescript'}): 1,
 frozenset({'coffeescript',
            'elixir',
            'java',
            'javascript',
            'ruby',
            'simple'}): 3,
 frozenset({'javascript', 'python', 'typescript'}): 14,
 frozenset({'java', 'javascript', 'scala'}): 10,
 frozenset({'elixir', 'javascript', 'pure', 'python', 'simple'}): 1,
 frozenset({'c', 'simple'}): 4,
 frozenset({'javascript', 'python', 'rust'}): 3,
 frozenset({'c', 'coffeescript', 'javascript', 'ruby', 'typescript'}): 2,
 frozenset({'java', 'javascript', 'ruby'}): 37,
 frozenset({'javascript', 'objective-c', 'simple'}): 47,
 frozenset({'c',
            'c++',
            'haskell',
            'java',
            'python',
            'scala',
            'simple',
            'tex'}): 1,
 frozenset({'bash',
            'c',
            'coffeescript',
            'javascript',
            'objective-c',
            'python',
            'typescript'}): 1,
 frozenset({'c', 'coffeescript', 'java', 'javascript', 'ruby', 'simple'}): 3,
 frozenset({'c', 'c++', 'javascript', 'php'}): 6,
 frozenset({'javascript', 'python', 'ruby'}): 59,
 frozenset({'php', 'simple'}): 24,
 frozenset({'c++',
            'clojure',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'php', 'ruby', 'scala', 'simple'}): 3,
 frozenset({'c',
            'c++',
            'coffeescript',
            'javascript',
            'perl',
            'ruby',
            'simple'}): 1,
 frozenset({'go',
            'java',
            'javascript',
            'kotlin',
            'matlab',
            'python',
            'simple'}): 1,
 frozenset({'coffeescript', 'php', 'python', 'ruby', 'tex'}): 1,
 frozenset({'c', 'javascript', 'perl', 'php', 'spark'}): 1,
 frozenset({'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby',
            'simple'}): 5,
 frozenset({'c#', 'c++', 'go', 'javascript', 'simple', 'typescript'}): 1,
 frozenset({'c++', 'javascript', 'python', 'simple'}): 20,
 frozenset({'c++', 'java', 'javascript', 'kotlin', 'simple', 'spark'}): 1,
 frozenset({'java', 'javascript', 'php', 'python', 'scala', 'simple'}): 2,
 frozenset({'coffeescript', 'emacs lisp', 'objective-c', 'ruby', 'simple'}): 1,
 frozenset({'c#', 'javascript', 'ruby', 'rust'}): 1,
 frozenset({'javascript', 'php', 'typescript'}): 12,
 frozenset({'elixir', 'java', 'javascript', 'python', 'ruby'}): 4,
 frozenset({'elixir', 'javascript', 'simple'}): 3,
 frozenset({'c', 'c++', 'java'}): 9,
 frozenset({'c',
            'c#',
            'c++',
            'elixir',
            'javascript',
            'lua',
            'objective-c',
            'python',
            'simple'}): 1,
 frozenset({'c', 'c++', 'ecmascript', 'go', 'java', 'javascript'}): 1,
 frozenset({'clojure', 'javascript', 'lua', 'php', 'python', 'ruby'}): 1,
 frozenset({'c++', 'java', 'python', 'simple'}): 6,
 frozenset({'bash', 'c#', 'go', 'java', 'javascript', 'python', 'simple'}): 1,
 frozenset({'bash',
            'c',
            'coffeescript',
            'elixir',
            'go',
            'haskell',
            'javascript',
            'ruby',
            'simple'}): 1,
 frozenset({'c#',
            'emacs lisp',
            'haskell',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala',
            'simple',
            'typescript'}): 2,
 frozenset({'haskell', 'objective-c', 'simple'}): 1,
 frozenset({'c', 'c++', 'java', 'objective-c'}): 2,
 frozenset({'c', 'c#', 'java', 'javascript', 'python', 'simple', 'spark'}): 1,
 frozenset({'c++', 'java', 'javascript', 'objective-c', 'php', 'python'}): 3,
 frozenset({'c++',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'c#', 'c++', 'javascript', 'php', 'python', 'ruby', 'simple'}): 1,
 frozenset({'python', 'simple'}): 27,
 frozenset({'go', 'javascript', 'python', 'ruby', 'simple'}): 33,
 frozenset({'c', 'c#', 'python'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'go',
            'java',
            'javascript',
            'objective-c',
            'ruby'}): 1,
 frozenset({'coffeescript', 'java', 'javascript', 'php', 'ruby'}): 6,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'go', 'java', 'javascript', 'php', 'python', 'simple'}): 12,
 frozenset({'c#', 'c++', 'javascript', 'typescript'}): 1,
 frozenset({'c++',
            'java',
            'javascript',
            'objective-c',
            'python',
            'simple'}): 7,
 frozenset({'c++', 'java', 'javascript', 'php', 'simple'}): 6,
 frozenset({'java', 'javascript', 'kotlin', 'simple'}): 11,
 frozenset({'haskell', 'javascript', 'php', 'python', 'scala', 'simple'}): 1,
 frozenset({'c',
            'c++',
            'javascript',
            'perl',
            'ruby',
            'rust',
            'simple',
            'typescript'}): 1,
 frozenset({'bash', 'javascript', 'ruby', 'simple', 'tex'}): 1,
 frozenset({'clojure',
            'coffeescript',
            'java',
            'javascript',
            'kotlin',
            'ocaml',
            'simple'}): 1,
 frozenset({'c', 'c++', 'clojure', 'haskell', 'lua', 'ruby'}): 1,
 frozenset({'bash',
            'c',
            'c++',
            'java',
            'javascript',
            'matlab',
            'php',
            'python',
            'scala'}): 1,
 frozenset({'coffeescript', 'elixir', 'perl', 'ruby', 'simple'}): 1,
 frozenset({'elixir', 'javascript', 'ruby', 'simple'}): 25,
 frozenset({'elixir', 'javascript'}): 4,
 frozenset({'java', 'ruby'}): 16,
 frozenset({'java', 'python'}): 46,
 frozenset({'c',
            'coffeescript',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 7,
 frozenset({'c',
            'javascript',
            'php',
            'python',
            'ruby',
            'spark',
            'typescript'}): 1,
 frozenset({'c', 'c++', 'lua', 'matlab', 'python', 'simple'}): 1,
 frozenset({'coffeescript', 'java', 'javascript', 'ruby', 'simple'}): 14,
 frozenset({'c++', 'javascript', 'python', 'simple', 'typescript'}): 5,
 frozenset({'java', 'objective-c', 'php', 'ruby', 'simple'}): 4,
 frozenset({'c++', 'clojure', 'python', 'simple'}): 1,
 frozenset({'c++',
            'coffeescript',
            'javascript',
            'perl',
            'python',
            'ruby',
            'tex'}): 1,
 frozenset({'c',
            'c++',
            'coffeescript',
            'javascript',
            'lua',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'javascript', 'lua', 'python', 'simple'}): 3,
 frozenset({'elixir', 'emacs lisp', 'javascript', 'ruby'}): 2,
 frozenset({'c++', 'javascript'}): 36,
 frozenset({'java', 'javascript', 'objective-c', 'php'}): 11,
 frozenset({'java', 'perl', 'python', 'ruby', 'simple'}): 1,
 frozenset({'coffeescript', 'go', 'lua', 'python', 'ruby', 'simple'}): 1,
 frozenset({'javascript', 'php', 'scala', 'typescript'}): 1,
 frozenset({'lua', 'python'}): 6,
 frozenset({'javascript', 'lua', 'python'}): 5,
 frozenset({'clojure', 'coffeescript', 'java', 'javascript'}): 4,
 frozenset({'java',
            'javascript',
            'kotlin',
            'objective-c',
            'php',
            'simple'}): 1,
 frozenset({'c#', 'go', 'javascript', 'python', 'ruby', 'rust', 'simple'}): 1,
 frozenset({'c', 'c++', 'go', 'haskell', 'lua', 'rust', 'scala'}): 1,
 frozenset({'c++', 'python', 'scala', 'simple'}): 3,
 frozenset({'clojure', 'elixir', 'javascript'}): 2,
 frozenset({'c', 'c++', 'javascript', 'python', 'simple'}): 12,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'matlab',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'c++', 'coffeescript', 'javascript', 'php', 'python', 'ruby'}): 3,
 frozenset({'coffeescript', 'javascript', 'ruby', 'simple', 'typescript'}): 3,
 frozenset({'c', 'php'}): 2,
 frozenset({'c', 'c#', 'java', 'php', 'python', 'scala', 'simple'}): 1,
 frozenset({'c', 'c++', 'javascript', 'python', 'ruby', 'simple', 'tex'}): 1,
 frozenset({'c',
            'c++',
            'coffeescript',
            'elixir',
            'go',
            'javascript',
            'lua',
            'objective-c',
            'ruby',
            'simple'}): 1,
 frozenset({'c#',
            'java',
            'javascript',
            'objective-c',
            'ocaml',
            'ruby',
            'simple'}): 1,
 frozenset({'c#',
            'c++',
            'coffeescript',
            'glsl',
            'javascript',
            'objective-c',
            'php',
            'python'}): 1,
 frozenset({'c++', 'java', 'javascript', 'python', 'simple', 'typescript'}): 3,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 3,
 frozenset({'c', 'c++', 'java', 'javascript', 'matlab', 'python'}): 2,
 frozenset({'elixir', 'emacs lisp', 'javascript'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'haskell',
            'java',
            'objective-c',
            'python',
            'simple'}): 1,
 frozenset({'c', 'ruby'}): 6,
 frozenset({'java', 'kotlin'}): 20,
 frozenset({'c',
            'c#',
            'c++',
            'java',
            'javascript',
            'lua',
            'php',
            'python',
            'scala'}): 1,
 frozenset({'c', 'c++', 'go', 'javascript', 'objective-c', 'ruby', 'rust'}): 1,
 frozenset({'go', 'javascript', 'python', 'ruby', 'simple', 'typescript'}): 3,
 frozenset({'go', 'java', 'php', 'python', 'simple'}): 3,
 frozenset({'java', 'javascript', 'objective-c', 'python', 'ruby'}): 9,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby'}): 3,
 frozenset({'c#', 'c++', 'go', 'javascript', 'simple'}): 2,
 frozenset({'simple'}): 20,
 frozenset({'coffeescript', 'go', 'java', 'javascript', 'python'}): 2,
 frozenset({'javascript', 'php', 'scala', 'simple'}): 4,
 frozenset({'coffeescript', 'objective-c', 'ruby'}): 1,
 frozenset({'ecmascript', 'javascript', 'php', 'simple'}): 8,
 frozenset({'c', 'c++', 'javascript', 'python', 'simple', 'spark'}): 2,
 frozenset({'java', 'javascript', 'ruby', 'scala', 'simple'}): 7,
 frozenset({'c++',
            'glsl',
            'java',
            'javascript',
            'objective-c',
            'ruby',
            'simple'}): 1,
 frozenset({'c#', 'javascript', 'objective-c', 'simple'}): 2,
 frozenset({'elixir', 'go', 'javascript', 'python', 'ruby', 'simple'}): 3,
 frozenset({'c', 'javascript', 'php', 'python', 'ruby'}): 3,
 frozenset({'c#', 'javascript'}): 44,
 frozenset({'java',
            'javascript',
            'matlab',
            'php',
            'python',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'c#',
            'c++',
            'clojure',
            'coffeescript',
            'javascript',
            'python',
            'scala',
            'simple'}): 1,
 frozenset({'c', 'c++', 'haskell', 'javascript', 'python', 'ruby', 'tex'}): 1,
 frozenset({'c', 'c++', 'objective-c', 'ruby', 'simple'}): 4,
 frozenset({'c', 'javascript', 'php', 'scala', 'spark'}): 1,
 frozenset({'coffeescript',
            'elixir',
            'go',
            'javascript',
            'ruby',
            'simple'}): 3,
 frozenset({'c++', 'go', 'javascript', 'ruby'}): 2,
 frozenset({'java', 'javascript', 'php', 'ruby'}): 11,
 frozenset({'c', 'emacs lisp', 'javascript', 'python'}): 2,
 frozenset({'clojure', 'python'}): 1,
 frozenset({'c++', 'javascript', 'perl', 'python', 'ruby', 'simple'}): 4,
 frozenset({'c',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'ruby',
            'rust',
            'simple'}): 1,
 frozenset({'c',
            'haskell',
            'java',
            'javascript',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c', 'c++', 'java', 'python', 'simple'}): 9,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'php',
            'python',
            'tex'}): 1,
 frozenset({'javascript',
            'objective-c',
            'python',
            'ruby',
            'rust',
            'scala'}): 1,
 frozenset({'c++', 'go', 'javascript', 'python', 'simple'}): 13,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'scala'}): 1,
 frozenset({'clojure',
            'coffeescript',
            'javascript',
            'simple',
            'typescript'}): 2,
 frozenset({'powershell', 'typescript'}): 1,
 frozenset({'c',
            'c++',
            'emacs lisp',
            'objective-c',
            'perl',
            'ruby',
            'rust',
            'simple'}): 1,
 frozenset({'c', 'c++', 'lua', 'matlab', 'objective-c', 'php'}): 1,
 frozenset({'c', 'scala'}): 2,
 frozenset({'c#', 'java', 'javascript', 'simple', 'typescript'}): 2,
 frozenset({'c', 'c#', 'java', 'python', 'simple'}): 1,
 frozenset({'c', 'c++', 'go', 'javascript', 'python', 'rust', 'simple'}): 2,
 frozenset({'coffeescript',
            'go',
            'haskell',
            'javascript',
            'ruby',
            'simple'}): 2,
 frozenset({'c', 'c++', 'javascript', 'php', 'python', 'ruby', 'simple'}): 3,
 frozenset({'c#', 'go', 'javascript', 'php', 'ruby', 'typescript'}): 2,
 frozenset({'c', 'java', 'javascript'}): 7,
 frozenset({'c++',
            'javascript',
            'objective-c',
            'php',
            'simple',
            'typescript'}): 1,
 frozenset({'c++',
            'coffeescript',
            'go',
            'javascript',
            'objective-c',
            'php',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'ocaml', 'simple'}): 1,
 frozenset({'c', 'java', 'javascript', 'kotlin', 'objective-c'}): 2,
 frozenset({'elixir', 'go', 'javascript', 'ruby', 'simple'}): 5,
 frozenset({'c#', 'javascript', 'objective-c', 'php', 'simple'}): 3,
 frozenset({'c',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c', 'c++', 'go', 'javascript', 'python'}): 4,
 frozenset({'java', 'javascript', 'php', 'python', 'ruby', 'simple'}): 19,
 frozenset({'c++', 'go', 'javascript', 'python', 'ruby', 'simple'}): 9,
 frozenset({'c', 'c++', 'java', 'matlab', 'python', 'simple'}): 1,
 frozenset({'clojure', 'go', 'python', 'simple'}): 1,
 frozenset({'c', 'c++', 'matlab', 'python', 'tex'}): 1,
 frozenset({'c++', 'coffeescript', 'javascript', 'typescript'}): 4,
 frozenset({'c#', 'javascript', 'scala', 'tex'}): 1,
 frozenset({'coffeescript', 'javascript', 'ruby', 'typescript'}): 3,
 frozenset({'c#', 'javascript', 'ruby'}): 12,
 frozenset({'c++', 'javascript', 'python', 'ruby', 'scala', 'simple'}): 2,
 frozenset({'coffeescript',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c++',
            'elixir',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'c', 'c++', 'java', 'simple', 'typescript'}): 1,
 frozenset({'c', 'c++', 'java', 'javascript', 'objective-c', 'simple'}): 6,
 frozenset({'c', 'java', 'javascript', 'python', 'simple'}): 11,
 frozenset({'c#', 'javascript', 'simple', 'typescript'}): 13,
 frozenset({'c', 'c#', 'c++', 'simple'}): 2,
 frozenset({'c',
            'c#',
            'c++',
            'emacs lisp',
            'go',
            'javascript',
            'lua',
            'powershell',
            'ruby',
            'rust',
            'simple'}): 1,
 frozenset({'scala'}): 3,
 frozenset({'go', 'objective-c'}): 1,
 frozenset({'c', 'go', 'javascript', 'lua', 'php', 'python'}): 1,
 frozenset({'c#', 'coffeescript', 'javascript', 'objective-c', 'simple'}): 1,
 frozenset({'c#', 'elixir', 'go', 'javascript', 'ruby', 'simple'}): 2,
 frozenset({'java', 'javascript', 'scala', 'simple', 'spark'}): 5,
 frozenset({'c++', 'java', 'javascript', 'simple'}): 10,
 frozenset({'c#', 'javascript', 'lua', 'php', 'python'}): 1,
 frozenset({'c', 'go', 'javascript', 'php', 'python', 'ruby', 'simple'}): 6,
 frozenset({'c++', 'coffeescript', 'java', 'javascript', 'python'}): 2,
 frozenset({'coffeescript', 'emacs lisp', 'javascript', 'ruby', 'simple'}): 4,
 frozenset({'c',
            'c++',
            'clojure',
            'coffeescript',
            'java',
            'javascript',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'coffeescript', 'javascript', 'ruby', 'spark'}): 1,
 frozenset({'c++', 'go', 'javascript', 'ruby', 'simple'}): 2,
 frozenset({'c',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'powershell', 'python', 'ruby'}): 1,
 frozenset({'c++',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'scala'}): 1,
 frozenset({'c++', 'java', 'javascript', 'php', 'ruby'}): 2,
 frozenset({'c#', 'javascript', 'perl', 'python', 'ruby', 'simple'}): 1,
 frozenset({'c#', 'ruby'}): 3,
 frozenset({'php', 'python'}): 22,
 frozenset({'c#',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'c#', 'javascript', 'php', 'python', 'simple'}): 3,
 frozenset({'java', 'python', 'simple'}): 14,
 frozenset({'c', 'c++', 'javascript', 'objective-c', 'ruby', 'simple'}): 5,
 frozenset({'c', 'c++', 'java', 'javascript', 'ruby'}): 2,
 frozenset({'java', 'javascript', 'objective-c', 'php', 'ruby', 'scala'}): 1,
 frozenset({'javascript', 'kotlin', 'objective-c', 'ruby', 'simple'}): 1,
 frozenset({'c#', 'c++', 'objective-c', 'perl', 'php', 'python', 'simple'}): 1,
 frozenset({'c', 'c#', 'java', 'javascript', 'php'}): 3,
 frozenset({'c++', 'python', 'ruby'}): 3,
 frozenset({'c#', 'javascript', 'typescript'}): 15,
 frozenset({'c#',
            'javascript',
            'objective-c',
            'ruby',
            'rust',
            'typescript'}): 1,
 frozenset({'java', 'javascript', 'php', 'python'}): 16,
 frozenset({'kotlin', 'python'}): 1,
 frozenset({'c',
            'clojure',
            'elixir',
            'haskell',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'clojure',
            'coffeescript',
            'elixir',
            'emacs lisp',
            'javascript',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'java', 'javascript', 'simple', 'tex'}): 2,
 frozenset({'c', 'c++', 'go', 'javascript', 'php', 'python', 'tex'}): 1,
 frozenset({'java', 'javascript', 'objective-c', 'python'}): 5,
 frozenset({'c#', 'go', 'javascript', 'simple'}): 2,
 frozenset({'c', 'java', 'javascript', 'simple'}): 8,
 frozenset({'c', 'c++', 'javascript', 'lua', 'matlab', 'python'}): 2,
 frozenset({'c++', 'javascript', 'matlab', 'python'}): 3,
 frozenset({'c',
            'elixir',
            'emacs lisp',
            'javascript',
            'objective-c',
            'ruby',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'go',
            'java',
            'javascript',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'objective-c', 'python', 'scala'}): 1,
 frozenset({'c++', 'java', 'php', 'python'}): 2,
 frozenset({'clojure', 'emacs lisp', 'java', 'javascript'}): 2,
 frozenset({'coffeescript',
            'elixir',
            'javascript',
            'ruby',
            'rust',
            'simple'}): 1,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'php',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'java', 'kotlin', 'simple'}): 20,
 frozenset({'emacs lisp',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'spark'}): 1,
 frozenset({'c', 'javascript', 'python', 'scala', 'simple'}): 1,
 frozenset({'javascript', 'php', 'ruby', 'simple', 'timber'}): 2,
 frozenset({'c++', 'go', 'javascript', 'perl', 'python', 'simple'}): 1,
 frozenset({'c', 'go', 'php', 'ruby', 'rust', 'simple'}): 1,
 frozenset({'coffeescript', 'javascript', 'simple', 'typescript'}): 17,
 frozenset({'c', 'c++', 'go', 'javascript', 'php', 'ruby', 'simple'}): 4,
 frozenset({'c',
            'go',
            'haskell',
            'javascript',
            'php',
            'python',
            'rust',
            'simple'}): 2,
 frozenset({'c', 'c#', 'c++', 'java', 'javascript', 'python'}): 5,
 frozenset({'java', 'javascript', 'simple', 'timber'}): 2,
 frozenset({'python', 'ruby'}): 17,
 frozenset({'c#', 'c++', 'coffeescript', 'javascript', 'lua', 'simple'}): 2,
 frozenset({'java', 'javascript', 'kotlin', 'objective-c'}): 2,
 frozenset({'c++', 'go', 'lua', 'matlab', 'python', 'ruby'}): 1,
 frozenset({'go', 'java', 'javascript', 'simple'}): 11,
 frozenset({'c',
            'c++',
            'javascript',
            'ocaml',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c', 'c++', 'javascript', 'php', 'python'}): 4,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'ruby',
            'simple'}): 20,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'python',
            'scala',
            'simple'}): 3,
 frozenset({'c',
            'c++',
            'javascript',
            'python',
            'rust',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'c',
            'haskell',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'c',
            'c#',
            'clojure',
            'javascript',
            'objective-c',
            'php',
            'simple'}): 1,
 frozenset({'c++', 'java', 'php', 'python', 'scala', 'simple'}): 2,
 frozenset({'c', 'c++', 'java', 'javascript', 'python', 'scala'}): 3,
 frozenset({'c#',
            'c++',
            'go',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'c++', 'go', 'java', 'javascript', 'scala', 'spark'}): 1,
 frozenset({'java', 'javascript', 'python', 'simple'}): 58,
 frozenset({'c', 'c#', 'javascript', 'powershell', 'rust'}): 1,
 frozenset({'clojure',
            'emacs lisp',
            'java',
            'ruby',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'clojure', 'javascript', 'php'}): 1,
 frozenset({'c++', 'objective-c', 'python', 'ruby', 'scala', 'simple'}): 1,
 frozenset({'c', 'java', 'javascript', 'python', 'scala', 'simple'}): 4,
 frozenset({'java', 'javascript', 'php', 'python', 'simple'}): 37,
 frozenset({'objective-c', 'perl', 'python'}): 1,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'php',
            'python',
            'simple'}): 6,
 frozenset({'c',
            'c++',
            'coffeescript',
            'go',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c#', 'javascript', 'php'}): 9,
 frozenset({'clojure', 'javascript'}): 6,
 frozenset({'c++',
            'java',
            'javascript',
            'perl',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'python', 'scala', 'simple'}): 8,
 frozenset({'javascript', 'python', 'simple', 'tex'}): 3,
 frozenset({'c', 'c++', 'javascript', 'lua', 'python'}): 2,
 frozenset({'c', 'c++', 'emacs lisp', 'java', 'kotlin', 'perl'}): 1,
 frozenset({'c', 'c++', 'glsl', 'lua', 'python', 'simple'}): 1,
 frozenset({'c',
            'clojure',
            'emacs lisp',
            'go',
            'javascript',
            'python',
            'simple'}): 1,
 frozenset({'c', 'c++', 'python', 'scala', 'tex'}): 2,
 frozenset({'c',
            'coffeescript',
            'emacs lisp',
            'java',
            'objective-c',
            'python',
            'ruby',
            'rust'}): 1,
 frozenset({'ecmascript', 'javascript', 'php', 'ruby', 'scala', 'simple'}): 1,
 frozenset({'c', 'coffeescript', 'javascript', 'ruby', 'scala', 'simple'}): 3,
 frozenset({'coffeescript',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 22,
 frozenset({'coffeescript', 'go', 'javascript', 'php'}): 1,
 frozenset({'c', 'java'}): 20,
 frozenset({'emacs lisp', 'java', 'javascript', 'lua', 'python'}): 1,
 frozenset({'c', 'javascript', 'php', 'python', 'ruby', 'simple'}): 13,
 frozenset({'c', 'java', 'javascript', 'objective-c', 'ruby', 'scala'}): 2,
 frozenset({'c#',
            'c++',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby',
            'typescript'}): 1,
 frozenset({'c++', 'ruby'}): 2,
 frozenset({'c', 'c++', 'java', 'javascript', 'objective-c', 'ruby'}): 2,
 frozenset({'java', 'kotlin', 'simple', 'typescript'}): 1,
 frozenset({'go', 'javascript', 'python', 'scala'}): 3,
 frozenset({'javascript', 'objective-c', 'python', 'simple', 'typescript'}): 6,
 frozenset({'c', 'python'}): 14,
 frozenset({'c++', 'java', 'php', 'simple'}): 1,
 frozenset({'javascript', 'php', 'powershell', 'python', 'simple'}): 1,
 frozenset({'c', 'go', 'javascript', 'perl', 'php', 'scala', 'simple'}): 1,
 frozenset({'c',
            'c++',
            'javascript',
            'objective-c',
            'php',
            'python',
            'simple'}): 4,
 frozenset({'c',
            'c#',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'powershell',
            'python',
            'ruby',
            'typescript'}): 1,
 frozenset({'c#', 'c++', 'javascript'}): 6,
 frozenset({'coffeescript', 'javascript', 'php', 'python', 'ruby', 'rust'}): 1,
 frozenset({'c', 'coffeescript', 'java', 'kotlin'}): 1,
 frozenset({'haskell',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'coffeescript', 'elixir', 'javascript', 'simple'}): 2,
 frozenset({'ecmascript', 'javascript', 'lua', 'python', 'simple'}): 1,
 frozenset({'c', 'java', 'javascript', 'perl', 'ruby', 'simple'}): 1,
 frozenset({'elixir',
            'go',
            'javascript',
            'perl',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'c', 'c#', 'java', 'javascript', 'powershell', 'simple'}): 1,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'php',
            'python',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'c', 'c++', 'python', 'simple', 'tex'}): 3,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby',
            'rust',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'php', 'simple', 'spark'}): 1,
 frozenset({'c#', 'java', 'javascript', 'php', 'python', 'simple'}): 9,
 frozenset({'emacs lisp', 'haskell'}): 1,
 frozenset({'c',
            'go',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c',
            'c#',
            'c++',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'coffeescript'}): 1,
 frozenset({'coffeescript',
            'elixir',
            'go',
            'java',
            'javascript',
            'python',
            'simple'}): 1,
 frozenset({'coffeescript',
            'emacs lisp',
            'javascript',
            'python',
            'simple'}): 1,
 frozenset({'java', 'objective-c', 'python', 'ruby'}): 4,
 frozenset({'go', 'javascript', 'php'}): 12,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c', 'c++', 'java', 'javascript', 'php', 'ruby', 'typescript'}): 1,
 frozenset({'c++',
            'clojure',
            'coffeescript',
            'elixir',
            'emacs lisp',
            'go',
            'javascript',
            'rust',
            'simple'}): 1,
 frozenset({'c', 'clojure', 'go', 'java', 'python', 'scala', 'simple'}): 1,
 frozenset({'c',
            'go',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 5,
 frozenset({'c++',
            'clojure',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'ruby',
            'spark'}): 1,
 frozenset({'c++', 'java', 'scala', 'typescript'}): 1,
 frozenset({'go'}): 24,
 frozenset({'coffeescript',
            'emacs lisp',
            'go',
            'haskell',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'scala'}): 1,
 frozenset({'javascript', 'php', 'tex'}): 2,
 frozenset({'go', 'javascript', 'ruby'}): 18,
 frozenset({'c++',
            'coffeescript',
            'javascript',
            'perl',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 6,
 frozenset({'c', 'c++', 'go', 'java', 'javascript', 'python', 'ruby'}): 2,
 frozenset({'c', 'java', 'javascript', 'ruby', 'simple'}): 7,
 frozenset({'javascript', 'lua', 'ruby'}): 2,
 frozenset({'c', 'c++', 'ruby'}): 2,
 frozenset({'c#',
            'c++',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'go', 'php', 'python', 'ruby', 'scala', 'simple'}): 1,
 frozenset({'c', 'c#', 'objective-c', 'python', 'ruby', 'simple'}): 1,
 frozenset({'javascript', 'lua', 'objective-c', 'ruby'}): 1,
 frozenset({'clojure', 'elixir', 'ocaml', 'python', 'ruby'}): 1,
 frozenset({'c', 'c++', 'haskell', 'objective-c', 'simple'}): 1,
 frozenset({'typescript'}): 9,
 frozenset({'go', 'java', 'simple'}): 7,
 frozenset({'c++', 'javascript', 'php', 'simple'}): 19,
 frozenset({'emacs lisp', 'javascript', 'python', 'simple'}): 8,
 frozenset({'coffeescript', 'javascript', 'objective-c', 'python'}): 3,
 frozenset({'powershell'}): 2,
 frozenset({'c',
            'c#',
            'c++',
            'coffeescript',
            'java',
            'javascript',
            'php',
            'python',
            'ruby'}): 2,
 frozenset({'c', 'java', 'javascript', 'ocaml', 'ruby'}): 1,
 frozenset({'c',
            'emacs lisp',
            'javascript',
            'objective-c',
            'python',
            'ruby'}): 1,
 frozenset({'javascript', 'spark'}): 10,
 frozenset({'elixir', 'javascript', 'python', 'ruby'}): 3,
 frozenset({'c',
            'c++',
            'coffeescript',
            'elixir',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby'}): 1,
 frozenset({'clojure',
            'coffeescript',
            'elixir',
            'emacs lisp',
            'javascript',
            'lua',
            'objective-c',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'javascript', 'php', 'python', 'typescript'}): 4,
 frozenset({'lua'}): 9,
 frozenset({'c++',
            'haskell',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'scala'}): 1,
 frozenset({'c',
            'go',
            'javascript',
            'perl',
            'php',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'spark', 'typescript'}): 1,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'ocaml',
            'python',
            'simple'}): 1,
 frozenset({'java', 'javascript', 'python', 'ruby', 'scala'}): 4,
 frozenset({'c',
            'java',
            'javascript',
            'php',
            'python',
            'scala',
            'simple',
            'spark'}): 1,
 frozenset({'coffeescript', 'javascript', 'scala'}): 3,
 frozenset({'clojure', 'lua', 'matlab', 'python', 'scala'}): 1,
 frozenset({'clojure', 'javascript', 'python'}): 4,
 frozenset({'c', 'clojure', 'javascript', 'python', 'ruby', 'simple'}): 3,
 frozenset({'c#',
            'c++',
            'java',
            'javascript',
            'objective-c',
            'python',
            'simple',
            'typescript'}): 1,
 frozenset({'c',
            'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'python',
            'simple'}): 2,
 frozenset({'go', 'java', 'javascript', 'ruby', 'scala', 'simple'}): 4,
 frozenset({'c#', 'c++', 'java', 'javascript', 'python', 'simple'}): 3,
 frozenset({'c++', 'javascript', 'php', 'python', 'typescript'}): 3,
 frozenset({'c', 'c++', 'elixir', 'javascript', 'ruby', 'simple'}): 3,
 frozenset({'elixir', 'java', 'javascript'}): 1,
 frozenset({'c', 'javascript', 'objective-c', 'python', 'ruby', 'simple'}): 8,
 frozenset({'c#',
            'c++',
            'elixir',
            'java',
            'javascript',
            'python',
            'simple',
            'typescript'}): 1,
 frozenset({'c', 'lua', 'python', 'tex'}): 1,
 frozenset({'c#',
            'coffeescript',
            'javascript',
            'lua',
            'powershell',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c++',
            'java',
            'javascript',
            'python',
            'rust',
            'simple',
            'spark'}): 1,
 frozenset({'c', 'c#', 'java', 'javascript', 'typescript'}): 2,
 frozenset({'c++', 'java', 'javascript', 'scala', 'simple'}): 3,
 frozenset({'c',
            'coffeescript',
            'javascript',
            'objective-c',
            'ruby',
            'simple'}): 4,
 frozenset({'javascript', 'perl'}): 3,
 frozenset({'coffeescript', 'javascript', 'matlab', 'simple'}): 1,
 frozenset({'c',
            'c++',
            'clojure',
            'emacs lisp',
            'go',
            'javascript',
            'objective-c',
            'python',
            'ruby'}): 1,
 frozenset({'c', 'java', 'javascript', 'php', 'python', 'ruby', 'simple'}): 6,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'simple'}): 13,
 frozenset({'emacs lisp', 'ruby'}): 3,
 frozenset({'c', 'emacs lisp', 'java', 'javascript', 'python'}): 1,
 frozenset({'coffeescript', 'objective-c', 'ruby', 'simple', 'typescript'}): 1,
 frozenset({'c#',
            'haskell',
            'java',
            'javascript',
            'lua',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'emacs lisp', 'go', 'java', 'javascript', 'python'}): 1,
 frozenset({'clojure', 'coffeescript', 'emacs lisp', 'go', 'javascript'}): 1,
 frozenset({'c', 'java', 'javascript', 'objective-c', 'php', 'python'}): 3,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'matlab',
            'python',
            'spark',
            'typescript'}): 1,
 frozenset({'c', 'php', 'simple'}): 3,
 frozenset({'go', 'javascript', 'lua', 'python', 'ruby', 'simple'}): 2,
 frozenset({'c#', 'javascript', 'ruby', 'scala', 'simple'}): 1,
 frozenset({'haskell', 'java', 'javascript', 'ruby'}): 1,
 frozenset({'javascript', 'objective-c', 'perl', 'python'}): 3,
 frozenset({'c++', 'coffeescript', 'javascript', 'objective-c', 'ruby'}): 2,
 frozenset({'c',
            'go',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby',
            'simple'}): 4,
 frozenset({'c', 'c#', 'c++', 'java', 'javascript', 'objective-c', 'ruby'}): 2,
 frozenset({'java', 'php', 'python'}): 4,
 frozenset({'coffeescript',
            'elixir',
            'javascript',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'go', 'javascript', 'objective-c'}): 6,
 frozenset({'c++', 'javascript', 'objective-c', 'php', 'python', 'ruby'}): 1,
 frozenset({'c', 'c#', 'c++', 'java', 'simple'}): 1,
 frozenset({'javascript', 'matlab', 'php', 'python', 'scala', 'spark'}): 1,
 frozenset({'c', 'javascript', 'php', 'python'}): 4,
 frozenset({'c++',
            'clojure',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala',
            'simple'}): 2,
 frozenset({'c', 'c#', 'c++', 'javascript', 'php', 'python'}): 2,
 frozenset({'go', 'python', 'ruby', 'simple'}): 1,
 frozenset({'c', 'go', 'java', 'javascript', 'python', 'scala', 'simple'}): 2,
 frozenset({'ecmascript',
            'javascript',
            'php',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'c#', 'java', 'javascript', 'php', 'python'}): 4,
 frozenset({'c', 'c#', 'java'}): 2,
 frozenset({'c++', 'java', 'javascript', 'kotlin', 'ruby', 'scala'}): 1,
 frozenset({'c++', 'java', 'javascript', 'python'}): 15,
 frozenset({'c',
            'c++',
            'javascript',
            'objective-c',
            'php',
            'python',
            'simple',
            'typescript'}): 1,
 frozenset({'c++', 'haskell', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'perl'}): 7,
 frozenset({'c', 'c#', 'c++', 'java', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'c#',
            'c++',
            'clojure',
            'emacs lisp',
            'java',
            'javascript',
            'python',
            'ruby'}): 1,
 frozenset({'coffeescript',
            'go',
            'java',
            'javascript',
            'perl',
            'php',
            'scala'}): 1,
 frozenset({'c++', 'go', 'java', 'javascript', 'perl', 'python', 'tex'}): 1,
 frozenset({'emacs lisp', 'python', 'simple'}): 1,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'php',
            'python',
            'simple'}): 8,
 frozenset({'c#', 'javascript', 'php', 'simple'}): 6,
 frozenset({'c', 'javascript', 'perl', 'scala', 'simple'}): 1,
 frozenset({'c++',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'lua',
            'objective-c',
            'perl',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c',
            'c++',
            'emacs lisp',
            'java',
            'javascript',
            'objective-c',
            'python',
            'scala'}): 1,
 frozenset({'c', 'c++', 'java', 'objective-c', 'simple'}): 5,
 frozenset({'c', 'java', 'lua', 'matlab', 'objective-c', 'python'}): 1,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'lua',
            'php',
            'python',
            'ruby'}): 1,
 frozenset({'coffeescript',
            'ecmascript',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'scala'}): 1,
 frozenset({'c', 'c++', 'haskell', 'java', 'javascript', 'python'}): 1,
 frozenset({'coffeescript', 'javascript', 'php', 'typescript'}): 4,
 frozenset({'c', 'c++', 'javascript', 'objective-c', 'simple'}): 6,
 frozenset({'javascript', 'lua', 'python', 'ruby'}): 5,
 frozenset({'c',
            'clojure',
            'go',
            'javascript',
            'objective-c',
            'php',
            'python',
            'ruby'}): 1,
 frozenset({'c++', 'java', 'javascript', 'php', 'python', 'ruby'}): 5,
 frozenset({'c',
            'emacs lisp',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c', 'javascript', 'ruby'}): 17,
 frozenset({'coffeescript', 'java', 'javascript'}): 7,
 frozenset({'coffeescript',
            'elixir',
            'go',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'simple'}): 2,
 frozenset({'c++',
            'go',
            'java',
            'javascript',
            'lua',
            'matlab',
            'python',
            'simple'}): 1,
 frozenset({'c', 'javascript', 'php'}): 11,
 frozenset({'javascript', 'lua', 'python', 'typescript'}): 1,
 frozenset({'c',
            'c++',
            'clojure',
            'elixir',
            'haskell',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala',
            'simple'}): 1,
 frozenset({'go', 'java', 'javascript', 'php', 'python', 'ruby', 'simple'}): 7,
 frozenset({'c#', 'javascript', 'python', 'simple'}): 16,
 frozenset({'c',
            'coffeescript',
            'haskell',
            'javascript',
            'python',
            'ruby',
            'simple'}): 2,
 frozenset({'c++', 'javascript', 'python'}): 20,
 frozenset({'javascript', 'objective-c', 'ruby', 'scala', 'simple'}): 3,
 frozenset({'c',
            'c++',
            'go',
            'java',
            'javascript',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'java', 'php', 'ruby', 'simple'}): 2,
 frozenset({'c++', 'javascript', 'php', 'ruby', 'simple'}): 4,
 frozenset({'c++', 'javascript', 'scala'}): 2,
 frozenset({'coffeescript',
            'elixir',
            'javascript',
            'php',
            'ruby',
            'simple'}): 2,
 frozenset({'emacs lisp', 'go', 'javascript', 'python', 'simple'}): 2,
 frozenset({'c', 'go', 'java', 'javascript', 'python'}): 2,
 frozenset({'c#', 'c++', 'javascript', 'scala', 'simple'}): 1,
 frozenset({'java', 'objective-c', 'python'}): 4,
 frozenset({'c#', 'c++', 'java', 'javascript', 'php', 'python'}): 2,
 frozenset({'c', 'c++', 'lua', 'matlab', 'python', 'scala', 'simple'}): 1,
 frozenset({'c#', 'c++', 'coffeescript', 'javascript', 'typescript'}): 1,
 frozenset({'c',
            'c#',
            'emacs lisp',
            'go',
            'java',
            'javascript',
            'ruby',
            'simple'}): 1,
 frozenset({'clojure',
            'coffeescript',
            'go',
            'haskell',
            'javascript',
            'typescript'}): 1,
 frozenset({'coffeescript',
            'java',
            'javascript',
            'objective-c',
            'python',
            'ruby',
            'typescript'}): 1,
 frozenset({'java', 'javascript', 'php', 'rust', 'simple', 'typescript'}): 1,
 frozenset({'emacs lisp',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'typescript'}): 1,
 frozenset({'coffeescript',
            'javascript',
            'objective-c',
            'php',
            'typescript'}): 2,
 frozenset({'clojure', 'go', 'java', 'ocaml', 'python', 'simple'}): 1,
 frozenset({'c++',
            'coffeescript',
            'java',
            'javascript',
            'python',
            'ruby',
            'simple'}): 4,
 frozenset({'c++', 'javascript', 'python', 'rust', 'simple'}): 2,
 frozenset({'coffeescript',
            'glsl',
            'javascript',
            'objective-c',
            'python',
            'simple'}): 1,
 frozenset({'c', 'c++', 'go', 'java', 'javascript', 'python'}): 3,
 frozenset({'go', 'java', 'javascript', 'python', 'scala'}): 4,
 frozenset({'clojure', 'javascript', 'simple', 'typescript'}): 4,
 frozenset({'javascript', 'python', 'spark'}): 2,
 frozenset({'c', 'c++', 'clojure', 'ecmascript', 'go', 'javascript'}): 1,
 frozenset({'emacs lisp',
            'java',
            'javascript',
            'lua',
            'objective-c',
            'python',
            'ruby',
            'simple',
            'tex'}): 1,
 frozenset({'c#',
            'javascript',
            'lua',
            'php',
            'python',
            'simple',
            'typescript'}): 1,
 frozenset({'c',
            'coffeescript',
            'go',
            'java',
            'javascript',
            'python',
            'ruby',
            'rust',
            'scala',
            'simple'}): 1,
 frozenset({'javascript', 'perl', 'php', 'python', 'ruby', 'simple'}): 3,
 frozenset({'c', 'matlab', 'python', 'tex'}): 1,
 frozenset({'c',
            'c#',
            'coffeescript',
            'go',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala',
            'typescript'}): 1,
 frozenset({'c#', 'java', 'javascript', 'objective-c', 'ruby', 'simple'}): 2,
 frozenset({'c#', 'c++', 'coffeescript', 'javascript', 'simple'}): 1,
 frozenset({'c++',
            'coffeescript',
            'ecmascript',
            'javascript',
            'perl',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c#',
            'c++',
            'clojure',
            'java',
            'javascript',
            'php',
            'python',
            'ruby',
            'scala',
            'spark'}): 1,
 frozenset({'c++', 'powershell', 'rust', 'simple'}): 1,
 frozenset({'coffeescript', 'java', 'javascript', 'simple', 'typescript'}): 3,
 frozenset({'c',
            'c++',
            'coffeescript',
            'javascript',
            'matlab',
            'php',
            'python',
            'ruby'}): 1,
 frozenset({'haskell', 'javascript', 'scala', 'simple'}): 1,
 frozenset({'javascript', 'objective-c', 'simple', 'typescript'}): 2,
 frozenset({'c', 'c++', 'python'}): 25,
 frozenset({'c', 'emacs lisp', 'java', 'javascript', 'lua'}): 1,
 frozenset({'c', 'c++', 'javascript', 'objective-c'}): 6,
 frozenset({'go', 'javascript', 'simple'}): 21,
 frozenset({'javascript', 'scala', 'simple', 'typescript'}): 3,
 frozenset({'go',
            'javascript',
            'objective-c',
            'ruby',
            'simple',
            'typescript'}): 1,
 frozenset({'java',
            'javascript',
            'objective-c',
            'pure',
            'python',
            'simple'}): 1,
 frozenset({'c',
            'clojure',
            'go',
            'java',
            'javascript',
            'python',
            'simple'}): 1,
 frozenset({'emacs lisp', 'objective-c', 'rust'}): 1,
 frozenset({'c',
            'c++',
            'elixir',
            'go',
            'javascript',
            'python',
            'ruby',
            'rust'}): 1,
 frozenset({'elixir', 'emacs lisp', 'javascript', 'ruby', 'simple'}): 1,
 frozenset({'clojure', 'coffeescript', 'go', 'java', 'javascript', 'php'}): 1,
 frozenset({'go',
            'haskell',
            'javascript',
            'objective-c',
            'php',
            'ruby',
            'typescript'}): 1,
 frozenset({'go', 'java', 'python', 'ruby'}): 3,
 frozenset({'c++',
            'go',
            'java',
            'javascript',
            'perl',
            'scala',
            'spark',
            'tex'}): 1,
 frozenset({'c', 'c#', 'javascript', 'python', 'ruby'}): 1,
 frozenset({'javascript', 'objective-c', 'ocaml', 'php'}): 1,
 frozenset({'c', 'javascript', 'perl', 'php', 'python', 'ruby'}): 3,
 frozenset({'clojure', 'java', 'javascript', 'python', 'ruby', 'simple'}): 2,
 frozenset({'c',
            'c++',
            'java',
            'javascript',
            'php',
            'python',
            'simple',
            'tex'}): 2,
 frozenset({'c++', 'elixir', 'objective-c', 'ruby', 'simple'}): 1,
 frozenset({'c', 'python', 'rust'}): 2,
 frozenset({'c', 'ecmascript', 'javascript', 'python', 'simple'}): 1,
 frozenset({'c++', 'go', 'javascript', 'scala'}): 2,
 frozenset({'c',
            'emacs lisp',
            'haskell',
            'javascript',
            'lua',
            'python',
            'scala',
            'tex'}): 1,
 frozenset({'c',
            'c#',
            'coffeescript',
            'elixir',
            'java',
            'javascript',
            'simple'}): 1,
 frozenset({'c#',
            'c++',
            'go',
            'java',
            'javascript',
            'matlab',
            'python',
            'ruby',
            'scala'}): 1,
 frozenset({'emacs lisp', 'javascript', 'perl', 'php', 'ruby', 'simple'}): 1,
 frozenset({'go', 'javascript', 'php', 'simple', 'typescript'}): 3,
 frozenset({'c#', 'java', 'php', 'python', 'ruby'}): 1,
 frozenset({'clojure',
            'go',
            'javascript',
            'python',
            'ruby',
            'simple',
            'typescript'}): 2,
 frozenset({'c#',
            'java',
            'javascript',
            'objective-c',
            'php',
            'python',
            'simple'}): 1,
 frozenset({'c',
            'c++',
            'emacs lisp',
            'go',
            'javascript',
            'objective-c',
            'ocaml',
            'python',
            'ruby'}): 1,
 frozenset({'c', 'c#', 'c++', 'coffeescript', 'javascript'}): 2,
 frozenset({'powershell', 'python'}): 2,
 frozenset({'javascript', 'php', 'simple', 'spark'}): 3,
 frozenset({'c',
            'elixir',
            'emacs lisp',
            'php',
            'python',
            'ruby',
            'simple'}): 1,
 frozenset({'c++',
            'clojure',
            'emacs lisp',
            'haskell',
            'javascript',
            'simple',
            'typescript'}): 1,
 frozenset({'go', 'java', 'javascript', 'objective-c', 'python', 'simple'}): 5,
 frozenset({'c#', 'javascript', 'spark'}): 1,
 frozenset({'coffeescript',
            'go',
            'javascript',
            'objective-c',
            'perl',
            'php',
            'ruby',
            'simple'}): 1,
 frozenset({'clojure',
            'coffeescript',
            'elixir',
            'javascript',
            'lua',
            'objective-c',
            'python',
            'ruby',
            'rust'}): 1,
 frozenset({'c', 'java', 'javascript', 'kotlin', 'python', 'simple'}): 2,
 frozenset({'javascript', 'python', 'simple', 'typescript'}): 18,
 frozenset({'c', 'javascript', 'objective-c', 'python', 'ruby'}): 7,
 frozenset({'c',
            'c#',
            'c++',
            'emacs lisp',
            'java',
            'javascript',
            'python',
            'scala',
            'simple'}): 1,
 ...}
In [187]:
technology_combo_freq_df = pd.DataFrame(columns = ['language_combo', 'frequency'])
for combo in technology_dict.keys():
    curr_dict = dict()
    curr_dict['language_combo'] = ",".join(combo)
    curr_dict['frequency'] = technology_dict[combo]
    technology_combo_freq_df = technology_combo_freq_df.append(curr_dict, ignore_index=True)
technology_combo_freq_df
Out[187]:
In [188]:
technology_combo_freq_df = technology_combo_freq_df.sort_values(by = ['frequency'], ascending = False).head(100)
technology_combo_freq_df = technology_combo_freq_df.reset_index()
technology_combo_freq_df
Out[188]:

Top 10 language combos

In [189]:
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.barplot(x="frequency", y="language_combo", data=technology_combo_freq_df.head(10), palette="Blues_d")

We try to find the most used languages (or claims) which are not there in the valid language list

In [190]:
invalid_existing_languages_in_projects_df = language_df.sort_values(by=['count', 'mean'], ascending=False)[~language_df.language.isin(valid_languages_df['name_lower'])]
invalid_existing_languages_in_projects_df.head(100)
/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:1: UserWarning: Boolean Series key will be reindexed to match DataFrame index. """Entry point for launching an IPython kernel.
Out[190]:

This is to look for a correlation between the mean (average proportion in the projects it is present) vs frequency (number of users who claim to use it). This may help us in finding the outliers

In [191]:
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.scatterplot(data=invalid_existing_languages_in_projects_df.head(100), x="count", y="mean", hue="language")

plt.legend(title='top invalid languages: count vs mean', loc='upper right', bbox_to_anchor=(2.00, 2.00), ncol=1, labels=invalid_existing_languages_in_projects_df.head(100).language)

fig = plt.figure(figsize =(20, 20)) 
plt.show(ax)
<Figure size 1440x1440 with 0 Axes>

We've taken below data from Wikipedia (https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites) and converted the table to csv with the help of https://www.convertcsv.com/html-table-to-csv.htm

In [192]:
most_popular_website_languages_df = pd.read_csv("most-popular-website-languages.csv")
In [193]:
most_popular_website_languages_df
Out[193]:

We see that only the frontend and the back-end languages are of significance to us. Let's first remove \n and \r characters

In [194]:
most_popular_website_languages_df = most_popular_website_languages_df.rename(columns={"Front-end\r\n(Client-side)": "Front-end", "Back-end\r\n(Server-side)": "Back-end"})
most_popular_website_languages_df
Out[194]:

Needing only the 3rd and 4th column, we'll shrink the actual dataframe

In [195]:
most_popular_website_languages_df = most_popular_website_languages_df[["Front-end", "Back-end"]]
most_popular_website_languages_df
Out[195]:

As there are some unwanted characters, we'll remove them first

In [196]:
most_popular_website_languages_df = most_popular_website_languages_df.replace(regex=r' ', value='')
most_popular_website_languages_df = most_popular_website_languages_df.replace(regex=r'\[.*\]', value='')
most_popular_website_languages_df = most_popular_website_languages_df.replace(regex=r'\(.*\)', value='')
most_popular_website_languages_df
Out[196]:
In [197]:
big_tech_language_freq_dict = dict()
big_tech_language_list = list()
for i, row in most_popular_website_languages_df.iterrows():
    big_tech_language_list += row["Front-end"].split(",")
    big_tech_language_list += row["Back-end"].split(",")
big_tech_language_list
for language in big_tech_language_list:
    if language in big_tech_language_freq_dict.keys():
        big_tech_language_freq_dict[language] += 1
    else:
        big_tech_language_freq_dict[language] = 1
big_tech_language_freq_dict
Out[197]:
{'JavaScript': 14,
 'TypeScript': 1,
 'C': 2,
 'C++': 6,
 'Go': 1,
 'Java': 7,
 'Python': 4,
 'Node': 1,
 'Flow': 1,
 'Hack': 1,
 'PHP': 4,
 'Erlang': 2,
 'D': 1,
 '': 3,
 'Perl': 1,
 'Ruby': 1,
 'C#': 2,
 'Scala': 1}
In [198]:
import jovian
In [199]:
jovian.commit(project=project_name)
[jovian] Attempting to save notebook.. [jovian] Updating notebook "diysane/usage-of-programming-languages" on https://jovian.ml/ [jovian] Uploading notebook.. [jovian] Capturing environment.. [jovian] Committed successfully! https://jovian.ml/diysane/usage-of-programming-languages
In [200]:
!pip install matplotlib seaborn numpy
Requirement already satisfied: matplotlib in /srv/conda/envs/notebook/lib/python3.7/site-packages (3.3.2) Requirement already satisfied: seaborn in /srv/conda/envs/notebook/lib/python3.7/site-packages (0.11.0) Requirement already satisfied: numpy in /srv/conda/envs/notebook/lib/python3.7/site-packages (1.19.2) Requirement already satisfied: certifi>=2020.06.20 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib) (2020.6.20) Requirement already satisfied: python-dateutil>=2.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib) (2.8.0) Requirement already satisfied: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib) (1.2.0) Requirement already satisfied: pillow>=6.2.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib) (7.2.0) Requirement already satisfied: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib) (0.10.0) Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from matplotlib) (2.4.7) Requirement already satisfied: scipy>=1.0 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn) (1.5.2) Requirement already satisfied: pandas>=0.23 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from seaborn) (1.1.3) Requirement already satisfied: six>=1.5 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from python-dateutil>=2.1->matplotlib) (1.12.0) Requirement already satisfied: pytz>=2017.2 in /srv/conda/envs/notebook/lib/python3.7/site-packages (from pandas>=0.23->seaborn) (2020.1)
In [218]:
from matplotlib import pyplot as plt 
import numpy as np 
%matplotlib inline
  
big_tech_languages = big_tech_language_freq_dict.keys()
  
big_tech_languages_frequencies = big_tech_language_freq_dict.values()
  
# Creating plot 
fig_tech_giant = plt.figure(figsize =(12, 12)) 
plt.pie(big_tech_languages_frequencies, labels = big_tech_languages) 
  
# show plot 
plt.show() 
In [202]:
github_usage_with_big_tech_languages_df = pd.DataFrame()
for language in big_tech_languages:
    current_df = language_df[language_df['language'] == language.lower()]
    current_df['language'] = language
    github_usage_with_big_tech_languages_df = github_usage_with_big_tech_languages_df.append(current_df, ignore_index=True)
github_usage_with_big_tech_languages_df
/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy after removing the cwd from sys.path.
Out[202]:
In [217]:
github_usage_with_big_tech_languages = github_usage_with_big_tech_languages_df.language
github_usage_with_big_tech_languages_frequencies = github_usage_with_big_tech_languages_df['count'].astype(int)
  
fig_github_pie = plt.figure(figsize =(12, 12)) 
plt.pie(github_usage_with_big_tech_languages_frequencies, labels = github_usage_with_big_tech_languages) 
  
# show plot 
plt.show() 
In [204]:
import jovian
In [205]:
jovian.commit()
[jovian] Attempting to save notebook.. [jovian] Updating notebook "diysane/usage-of-programming-languages" on https://jovian.ml/ [jovian] Uploading notebook.. [jovian] Capturing environment.. [jovian] Committed successfully! https://jovian.ml/diysane/usage-of-programming-languages

Asking and Answering Questions

1. What are the most relevant languages now, that people are working on?

In [212]:
# Here are the top 10, based on the product of their average proporion and recurrences
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.barplot(x="mean * count", y="name", data=top_valid_existing_languages_in_projects_df.head(10))

What are the most popular language-combos that people love to use and a single programmer can feel empowered in having it in their toolkit?

In [213]:
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.barplot(x="frequency", y="language_combo", data=technology_combo_freq_df.head(10), palette="Blues_d")

Shocked? Only a single language (Javascript) is still the top player! Looking deep, this actually is pretty legit, as Javascript has now become a language of choice for any kind of full-stack development these days. The next one is blank. Yes, it's blank, means there's nothing! Probably these are the accounts of the users who haven't started coding yet or all of their stuff are on private repositories. The community awaits them! Rest of the chart needs little explanation.

3. Are there duplicate users?

In [214]:
# No.of unique user_ids
pd.DataFrame(user_lang_df.user_id.unique()).count()
Out[214]:
0    17461
dtype: int64
In [215]:
# Check for the shape whether it matches the count in any way?
user_lang_df.shape
Out[215]:
(17461, 1411)

This means there aren't any duplicate users

The most-used (top 100) set of languages (claims) that are not there on the valid language list

In [216]:
import seaborn as sns
import matplotlib.pyplot as plt
ax = sns.scatterplot(data=invalid_existing_languages_in_projects_df.head(100), x="count", y="mean", hue="language")

plt.legend(title='top invalid languages: count vs mean', loc='upper right', bbox_to_anchor=(2.00, 2.00), ncol=1, labels=invalid_existing_languages_in_projects_df.head(100).language)

fig = plt.figure(figsize =(20, 20)) 
plt.show(ax)
<Figure size 1440x1440 with 0 Axes>

5. Does there seem to be close relation between languages used by Tech-giants like Google, Facebook or WordPress with programmers on GitHub?

In [228]:
from matplotlib import pyplot as plt 
import numpy as np 
%matplotlib inline
  
big_tech_languages = big_tech_language_freq_dict.keys()
  
big_tech_languages_frequencies = big_tech_language_freq_dict.values()
  
# Creating plot 
fig_tech_giant = plt.figure(figsize =(12, 12)) 
plt.pie(big_tech_languages_frequencies, labels = big_tech_languages) 
  
# show plot 
plt.show() 
In [229]:
github_usage_with_big_tech_languages = github_usage_with_big_tech_languages_df.language
github_usage_with_big_tech_languages_frequencies = github_usage_with_big_tech_languages_df['count'].astype(int)
  
fig_github_pie = plt.figure(figsize =(12, 12)) 
plt.pie(github_usage_with_big_tech_languages_frequencies, labels = github_usage_with_big_tech_languages) 
  
# show plot 
plt.show() 

There seems to be clear correlation between the two above

In [230]:
import jovian
In [231]:
jovian.commit()
[jovian] Attempting to save notebook.. [jovian] Updating notebook "diysane/usage-of-programming-languages" on https://jovian.ml/ [jovian] Uploading notebook.. [jovian] Capturing environment.. [jovian] Committed successfully! https://jovian.ml/diysane/usage-of-programming-languages

Inferences and Conclusion

The inferences are the following:

1. There's a huge gap between the number of usage of the first and the second which may mean Javscript is almost twice as used as Python in real projects.

2. The list of user-language combos show that which combinations of languages may land you a job, unless you know it by heart.

3. Languages which are not claimed to be valid seem to prove the fact that if a language doesn't play a big role (mean) in an average project from a user, it can't be counted in times of crises.

4. The languages used by the tech-giants are the most relevant in the industry. We see a clear relationship from the pie charts above,, with respect to people writing software at Github.

5. The difference observed between giant's Python share and Github's probably is due to the advent Data Science, because we've taken only the front-end and back-end languages from the Giant's dataset

We can conclude that our analysis has been successful in highlighting the trend in usage of these programming languages and which language we can pick or brush at this point in time.

In [ ]:
 
In [208]:
import jovian
In [209]:
jovian.commit()
[jovian] Attempting to save notebook.. [jovian] Updating notebook "diysane/usage-of-programming-languages" on https://jovian.ml/ [jovian] Uploading notebook.. [jovian] Capturing environment.. [jovian] Committed successfully!