Task: In this task you will break down a question into the basic steps required to answer it.
 A question decomposition is a numbered list of operations that must be performed to answer the original question. Imagine explaining your question to a friendly droid by listing each action it should take in order for the question to be answered. Each step in our decomposition should refer to either an entity (known or unknown), a propery of an entity or a query operation (count, group, union, etc.)
 Here are the list of step templates and their description:
 Select: A select step is used to return a set of objects. There are no references to previous steps in a select step. template: Return [attributes]
 Filter: A filter step is used to return results from a previous step to which a certain condition applies. template: Return [#step] [condition]
 Project: A project step should return certain attributes of the results of a previous step. template: Return [attributes] of [#step]
 Aggregate: An aggregate step returns an aggregator function applied on a step's result. template: Return the [aggregator] of [#step].
 Group: A group step is an aggregator applied on attributes. template: Return the [aggregator] of [#step] for each [attribute]
 Superlative: A superlative step is used to return the result with a highest/lowest attribute among other results. template: Return [#step1] [where] [#step2] [is] [highest / lowest]
 Comparative: A comparative step is used when we need to compare an attribute with a number to filter results. template: Return [#step1] [where] [#step2] [comparator] [number] 
 Union: A union step is used to return results of two steps together. template: Return [#step1] [or / ,] [#step2]
 Intersection: An intersection step returns the result that two steps have in common. template: Return [attribute] of both [#step1] and [#step2]
 Discard: A discard step returns result of a step and excludes result of another step from it. template: Return [#step1] besides [#step2]
 Sort: A sort returns result of another step in a specific order. template: Return [#step1] [ordered / sorted by] [#step2]
 Is true: An is true step checks a condition on another result and returns a true or false. template: Return [is / if] [condition]
 Arithmetic: An arithmatic step operates an arithmatic operation on one or more steps. template: Return the [arithmetic op.] of [#step1] [and] [#step2].
Categories: Question Decomposition
Domains: Miscellaneous

Positive examples:
input: question: What are the distinct creation years of the departments managed by a secretary born in state 'Alabama'?
output: #1 return secretaries 
#2 return #1 born in state 'Alabama 
#3 return departments managed by #2 
#4 return distinct creation years of  #3
explanation: Referring to previous steps is vital in constructing multi-step decompositions. In this example each step refers to the step before to perform a single filter on it to reach the final result.; input: question: i'd like to see flights from baltimore to atlanta that arrive before noon and i'd like to see flights from denver to atlanta that arrive before noon 
output: #1 return flights  
#2 return #1 from baltimore 
#3 return #2 to  atlanta 
#4 return #3 that  arrive  before noon  
#5 return #1 from denver 
#6 return #5 to  atlanta 
#7 return #6 that  arrive  before noon  
#8 return #4 ,  #7
explanation: The number of steps for each question decomposition varies according to the original question. Questions are usually decomposed to at least two steps. In this example we require 8 steps for our question decomposition (Note that the final step is a union step).; input: question: How many screens do Landmark Theatres and Marcus Theatres have combined?
output: #1 return Landmark Theatres 
#2 return Marcus Theatres 
#3 return screens of #1 
#4 return screens of #2 
#5 return number of  #3 
#6 return number of  #4 
#7 return the  sum of #5 and  #6
explanation: Many questions require operations such as counting or computing a maximum or minimum value over a set of objects. Each aggregation operation should be included in its own step. In the given example, the fifth step is used to count the number of screens of Landmark Theatres.; input: question: return me the authors who have more papers on VLDB than ICDE . 
output: #1 return authors 
#2 return VLDB papers 
#3 return ICDE papers 
#4 return the  number of  #2 for each  #1 
#5 return the  number of  #3 for each  #1 
#6 return #1 where #4 is  higher than #5
explanation: Certain questions require steps that return pairs of objects (e.g., authors and papers). In this example we need to return the number of papers for each author. Steps #4 and #5 actually return pairs of authors and the number of papers they have on VLDB and ICDE respectively. These steps are necessary if we want to return only authors with more papers in VLDB than ICDE.; input: question: What event happened first, the act of proscription being outlawed, or new forts being built?
output: #1 return the  act of proscription being outlawed 
#2 return new forts being built 
#3 return when  was  #1 
#4 return when  was  #2 
#5 return which is lowest of #3 ,  #4
explanation: When comparing two entites according to a certain attribute (e.g., date) we must first return the entities followed by the attributes to be compared. In this example the steps #3-#4 are used to retreive the dates of two events. The final step is used to compare the results of the previous steps.; input: question: Show the parties that have both representatives in New York state and representatives in Pennsylvania state.
output: #1 return representatives  
#2 return states of  #1 
#3 return #1 where #2 is  New York 
#4 return #1 where #2 is  Pennsylvania 
#5 return parties of  both #3 and  #4
explanation: In this question we should return only parties that have representatives in both New York and in Pennsylvania.; input: question: Find the name of students who didn't take any course from Biology department.
output: #1 return students 
#2 return courses of #1 
#3 return departments of #2 
#4 return #1 where #3 is  not Biology 
#5 return names of #4
explanation: In the example, step #3 removes the students who have taken courses from the Biology department.; input: question: show the name of all bridges that was designed by american archtect, and sort the result by the bridge feet length.
output: #1 return bridges 
#2 return archtects that designed #1 
#3 return #1 where #2 is  american 
#4 return names of  #3 
#5 return length of  #3 in feet 
#6 return #4 sorted by #5
explanation: The final step of the example sorts the result of step #2 in the specified order.; input: question: How many more red metal objects are there than blue rubber objects?
output: #1 return red objects 
#2 return #1 that  are metal 
#3 return blue objects 
#4 return #1 that  are rubber 
#5 return number of  #2 
#6 return number of  #4 
#7 return difference of #5 and #6
explanation: Decompositions sometimes require performing an arithmetic operation such as addition, subtraction, multiplication or division. In this example we need to subtract the number of blue objects from the number of red objects.

Negative examples:
input: question: show the name of all bridges that was designed by american archtect, and sort the result by the bridge feet length.

output: #1 return american archtects 
#2 return bridges 
#3 return sorted by feet length
explanation: In this example the worker has provided the steps nessecary to answer the question but did not refer to any of the previous steps.; input: question: What is the average price for a lesson taught by Janessa Sawayn?

output: #1 return price for lessons taught by Janessa Sawayn
#2 return the average of #1
explanation: This example contains a first step that can be further decomposed into two steps. Remember that each decomposition step should refer to a single operation/condition.; input: question: Show the total number of rooms of all apartments with facility code "Gym".

output: #1 return total number of rooms 
#2 return all apartments 
#3 return #2 with facility code Gym
explanation: You must think carefully what is the order of the steps you write. In the example below the worker's first step refers to the "number of rooms". In the original question we are only interested in rooms of certain apartments (with code "Gym"). The first step is wrong, as it returns the number of all rooms, regardless of their apartments. Furthemore, the final step of the decomposition (#3) returns apartments rather than counting the number of rooms as required.; input: question: What are the life spans of representatives from New York state or Indiana state?

output: #1 return representatives of new york 
#2 return representatives of  Indiana 
#3 return #1 and #2
#4 return life spans of #3
explanation: The word "and" should be reserved for "intersection" steps ("both in... and also in..."). When writing a step that returns a group of elements ("union" step), the words "or" / "," should be used as delimiters instead of "and".