> For the complete documentation index, see [llms.txt](https://xgn.gitbook.io/hhsoj-essential-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xgn.gitbook.io/hhsoj-essential-doc/problem-setup/problemset-setup.md).

# Problemset Setup

A set of problems

Problemsets are like the fathers of problems. Each problem is contained in exactly one problemset and each problemset contains several questions.

A problemset is defined in a folder under the `problems` folder in the manager main folder. It has the following format

```
problems/problemset1/
                    problemset.json
                    problem1.1
                    problem1.2
                    problem1.3
                    ...
         problemset2/
                    problemset.json
                    problem2.1
                    problem2.2
                    problem2.3
                    ...
```

the folder name is the **id** of the problemset. It should be short and easy to type.

the **problemset.json** is a required file. It looks like follows:

```javascript
{
    "name":"Some problemset", //the name of the problemset
    "stTime":0, //the start time of the problemset,
    "edTime":1145141919810, //the freeze time of the problemset
    "scheme":"first" //Which submission to show in the standing? Can be one in "first" "last" "best"
}
```

the problem can only be viewed after the **stTime** and the standing of the problemset will freeze after **edTime**. **stTime** and **edTime** are all Unix timestamps by ms. You can read more about [standing ](/hhsoj-essential-doc/supplying-feature/standings.md)here.

{% hint style="info" %}
You can generate stTime and edTime by calling `System.currentTimeMillis()`in Java.&#x20;
{% endhint %}

Each subfolder in each problemset contains exactly one problem.&#x20;
