Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

RGB7012 - Цаг минут секунд

Өгөгдсөн секундыг цаг минут секунд болго.

Input

Секунд Int төрлийн тоон утгаар өгөгдөнө.

Output

Цаг, минут, секундууд хоорондоо 1 зайгаар тусгаарлагдан хэвлэгдэнэ. Цаг минут руу шилжихгүй бол 0 хэвлэнэ.

Example

Input:
3612
Output: 1 0 12

Нэмсэн:Bataa
Огноо:2011-05-15
Хугацааны хязгаарлалт:1s
Эх кодын хэмжээний хязгаарлалт:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Програмчлалын хэлүүд:ADA95 ASM32 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE

hide comments
2024-03-05 03:33:02
HI TOGOL
2024-03-05 03:32:50
hi anir
2024-02-26 07:02:13
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣶⠶⠶⠶⠶⣶⣦⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⡶⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⢶⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣴⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⣾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠟⠁⠙⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣷⡀⠀⠀⠀⠀
⠀⠀⠀⣰⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡴⠞⠛⠁⠀⠀⠀⠈⠳⠶⢤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣄⠀⠀⠀
⠀⠀⢰⡟⠁⠀⠀⠀⠀⠀⠀⢀⣤⠞⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠲⢦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡆⠀⠀
⠀⢀⡿⢁⣤⢶⠖⠶⣤⣠⡶⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⣦⣀⠀⠀⣀⣤⣴⡆⠀⠀⠈⣿⡀⠀
⠀⣼⠇⣾⢁⡸⠃⠴⠌⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠋⠉⠀⢸⡇⠀⠀⠀⠸⣇⠀
⠀⣿⠀⣿⠈⠁⣯⣿⠀⠀⠁⠀⠀⠀⠀⣶⣶⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠇⠀⠀⠀⠀⣿⠀
⢸⡟⠀⣿⡀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠘⠷⠶⣷⣀⣀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⠶⣤⡀⠀⠀⠀⠀⢀⡿⠀⠀⠀⠀⠀⣿⡆
⢸⡇⠀⠉⠛⠛⠶⠦⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⢰⣿⡷⢀⡟⣉⠻⠀⡾⢿⣆⠀⠀⠀⣾⡃⠀⠀⠀⠀⠀⢸⡇
⢸⣧⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠲⠦⠤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠉⠀⢸⡇⠙⢸⣛⡆⠀⠙⠀⠀⠀⠈⢷⡀⠀⠀⠀⠀⣾⠇
⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠓⠶⠦⢤⣤⣀⣀⠀⢸⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠈⢷⡀⠀⠀⠀⣿⠀
⠀⢻⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠛⠳⠶⠤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠘⣇⠀⠀⢸⡟⠀
⠀⠈⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠛⠲⠦⢤⣤⣿⠀⢀⣿⠁⠀
⠀⠀⠸⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢀⣾⠇⠀⠀
⠀⠀⠀⠹⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⠋⠀⠀⠀
⠀⠀⠀⠀⠘⢿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡿⠃⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⠟⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⠾⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠛⠿⠶⠶⠶⠶⠿⠛⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
2024-02-26 03:05:46
wefdh .lj hi.
























































































































t





















2024-02-15 03:40:05
Laruudaaa
2024-02-15 03:39:15
/*

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-==++***####**++==-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::=+*#%%@@@@@@%%##*****##%%@@@@@@%%##+=-:::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::-+#%@@@@#*+=---::::::::*%+#=::::::---=+*#@@@@%#+-::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::=#@@@%+--:::::::::::::::=#=:-:::::::::::::::::--+#@@@%+:::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::=%@@@+-::::::::::::::::::-%+::::::::::::::::::::::::::-=%@@%+::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::-#@@%=::::::::::::::::::::=%*::::::::::::::::::::::::::::::::=%@@%=:::::::::::::::::::::::::::::::::::
:::::::::::-*@@@%=::::::::::::::::::-@@@*-::::::::::::::::::::=%@@::::::::::::::::::::::::::::::::::::+@@@+:::::::::::::::::::::::::::::::::
::::::::::::#@@@@@+:::::::::::::::-%@@+:::::::::::::::::::::::+%@@-:::::::::-=::::::::::::::::::::::::::-%@%=:::::::::::::::::::::::::::::::
:::::::::::*@@@@@%##%#=::::::::::=%@*::::::::::::::::::::::::::=%@@*::::::-*@*-:::::::::::::::::::::::::::+@@+::::::::::::::::::::::::::::::
:::::::::-*@@@@*::::-*@%=:::::::=%@=:::::::::::::::::::::::::::*@@@@#-::+@@@@@*-:::::::::::::::::::::::::::=%@=::::::::::::::::--:::::::::::
:::::::::::+##-:-=+%@@@@%-::::::*@+:::::::::::::::::::::::::::::#@@@@%-:-@@@@@+:::::::::::::::::::::::::::::+@@::::::::::::::::=*%*=::::::::
::::::::::::-+#@@@%###%@#-:::::-%%=::::::::::::::::::::::+=*%=::::*@@@@%#@@@@@%**=:::::::::::::::::::::::::::#@=:::::::::::::::::=%@@*::::::
:::::::::-*@@@%+-::::::::::::::=@*:::::::::::::::::::::-=%@@@@%+:::=@@@@@@@@@@@%#*#::::::::::::::::::::::::::*@=:::::::::::::::-#@@@@%-:::::
:::::::::-#@@@#%%%#=:::::::::::=@*:::::::::::::::::::-+*%@@@@@@@%*=-=@@@@@@@@@@@@@:::::::::::::::::::::::::::+@=:::::::::::::+%@@@@@*-::::::
:::::::::::==+*@@@@@+::::::::::=@*::::::::::::::::::-#%@@@@@@@@@@@@@%%@@@@@@@@@@@@#::::::::::::::::::::::::::+@=::::::::::-#@@@@@@+:::::::::
:::--:::::::=*%@@@@#-::::::::::=@*:::::::::::::::::+**%@@@@@@@@@@@@@#*#@@@@@@@@@@@@#-::::::::::::::::::::::::+@=::::::::-*#%%#+==#@%-:::::::
:::-=*%-::-*%@@%+--::::::::::::=@*::::::::::::::::=%%@@@@@@@@@@@@+@%+-#@@@@@@@@@@@@%=::::::::::::::::::::::::+@=::::::::-+=::::*@@@@@=::::::
::::+*@@#-:=%@@@#-:::::::::::::=@*::::::::::::::::--@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*+-:::::::::::::::::::::::::+@=:::::::::::::=@@@@*-::::::::
::::**%@@@@*--%@@@=::::::::::::=@*::::::::::::::::-+*@@@@@@@@@@@@@@@@@@@@@@@@@*-:::::::::::::::::::::::::::::+@=:::::::::::::%@@@@#-::::::::
:::=%@@@+%@@@@@@=::::::::::::::=@*::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@=::::::::::::::::::::::::::::::+@=::::::::::::::=%@@@@-:::::::
:-#@@@@@@@@%*@@@%-:::::::::::::=@*::::::::::::::::=@%@@@@@@@@@@@@@@@@@@@@@@@@@=::::::::::::::::::::::::::::::+@=:::::::::::::%@@@@+:::::::::
:%@@@@@@%=::-%@@@+:::::::::::::=@*::::::::::::::::+-@@%@@@@@@@@@@@@@@@@@@@@@@@*-:::::::::::::::::::::::::::::+@=::::::::::::-=*@#=-:::::::::
:=*%@@%-:::=#@@@#=:::::::::::::=@*:::::::::::::::::-%-+%%@@@@@@@@@@@@@@@@@@@@@@@@#+--::::::::::::::::::::::::+@=:::::::::::::=@@@@+:::::::::
::::-=::::-#@@%-:::::::::::::::=@*:::::::::::::::::-:-=::*@@@@@@@@@@@@@@@@@@@@@@@@@@@%+::::::::::::::::::::::+@=::::::::::::-%@@@@@@@#=:::::
:::::::::::-%@@@@*-::::::::::::=@*:::::::::::::::::::::-=*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:::::::::::::::::::::+@=::::::::::::-*#*-:-#@@%-::::
::::::::::::=*@@@+:::::::::::::=@*:::::::::::::::::::=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-:::::::::::::::::::+@=::::::::::::::::=+#@@@@%*-::
:::+##=:::=%@@%+-::::::::::::::=@*:::::::::::::::::::=@@@%==%@@+-*%@@@@@@@@@@@@@@@@@@@@@@@%+:::::::::::::::::+@=::::::::::::::-#@@@*-::+%%=:
:::-#@@%::=%@@%+-::::::::::::::=@*::::::::::::::::::::=#@@*:+@@+::::-+*%@@@@@@@@@@@@@@@@%@@@*::::::::::::::::+@=:::::::::::::::::-:::::=%@%-
::-==---:::-#@@@@*:::::::::::::=@*::::::::::::::::::::::=%@@%@@+::::::::::*@@@@@@@@@@@@@-@@@@=:::::::::::::::+@=::::::::::::::::+#%@@@%%%*-:
:::=%@%=::-#@@@*-::::::::::::::=@*:::::::::::::::::::::::-#@@@@*::::::::::+@@@@@@@@@@@@+:@@@@%-::::::::::::::+@=:::::::::::::=%@@@@@@@@@*-::
::::-+#+:::*@@@#=::::::::::::::=@*::::::::::::::::::::::::::-+%@@*::::::::*@@@@@@@@@@*-::@@@@@@#:::::::::::::+@=:::::::::::+%@#@%=-::+@@@@+:
::::::::::::-*@@@%-::::::::::::=@*::::::::::::::::::::::::::::+@@@@:::::::%@@%=-%@@%-::::+%@@@@@@-:::::::::::+@=::::::::::::::::::::=@@@@%+:
:::::::::::=*#+@@%=::::::::::::=@*:::::::::::::::::::::::::::::-*@@*::::::@@%=:::@@%-:::::=@@@@@@#-::::::::::+@=::::::::::::::::::-#@@@@**+:
:::::::::::-=%#@@#:::::::::::::=@*::::::::::::::::::::::::::::::::==:::-*@@%+:::*@@*-::::::=%@@@@%=::::::::::+@=::::::::::::::::=%@@@@@@@@=:
::::::::::-+*--@@%-::--::::::::=@*::::::::::::::::::::::::::::::-++=-+@@@+::::-%@*::::::::::::=@#%-::::::::::*@=:::::-*=::::=%@@@@@@@@@@%=::
:::::::::-*%#--@@%=-===::::::::=@%=::::::::::::::::::-+%@%%@@@##@@@@@@@@@%#**%@@+==+%*=-::::::::#-:::::::::::#@=::::::-%@@@@@@@@@@@@@%#=::::
:::::::::-*@@#*@@@*-#%#*--:::::=@@+:::::::::::::-=+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+++**+=-:::::::::+@@=:::::::::=*#%%##**+-::::::::
:::::::::::+@@@@@@#--%@@@%=::::=@@@=::::::::::::::-****+::::::=****=:::=*****=::::::-=++***+=-:::::::::::::-%@@=::::::::::::::::::::::::::::
::::::::::=#@@@@@@*::+@@@@=::::-#@@@-::::::::::::::#@@@#-:::::-#@@@%:::#@@@@@#-:::-#@@@@@@@@@@%=::::::::::-#@@@-::::::::::::::::::::::::::::
:::::::::-#@@@@@%*=--#@@@%=:::::+@@@@+:::::::::::::@@@@*::::::+@@@@=:::=*@@@@*::::@@@@%#**#@@@@@:::::::::=%@@@#:::::::::::::::::::::::::::::
:::::::::::-=++#%@@@@@@#+-::::::-#@@@@%+::::::::::*@@@%=::::::*@@@@:::::*@@@%=:::#@@@#-:::-%@@@@:::::::-#@@@@@-:::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::=%@@@@@%*-:::::::%@@@#::::::=@@@@=:::::%@@@#::::@@@@#-:::+@@@@+::::-+%@@@@@@=::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::-%@@@@@@@@@%*::+@@@@+::::::+@@@@:::::+@@@@+::::-@@@@@@@@@@@@+::-*@@@@@@@@%=:::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::*@@@@@@@@@#::#@@@#::::::-@@@@+:::::#@@@%::::+%@@@@@@@@@@@+:::-@@@@@@@@#-::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::-*@@@@@@@-:=%@@@*::::::=@@@@-::::=%@@@*::=%@@@%=----*@@@@=::+@@@@@@#-::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::-*@@@%::*@@@@::::::-@@@@*:::::*@@@@:::#@@@%::::::-@@@@*::@@@@#=:::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::=%@@@%::::::=@@@@=::::-%@@@#::+@@@@*::::::*@@@@=:::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::=%@@@@-:::-*@@@@*:::::+@@@@:::+@@@@%-:::-*@@@@#-:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::*@@@@@@@@@@@@@#-::::-#@@@%::::#@@@@@@@@@@@@@#-::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::=#@@@@@@@@%#=::::::-%@@@*:::::=#%@@@@@@@%#+::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::





*//*
#include <iostream>
#include <set>
#include <queue>
#include <tuple>

using namespace std;

// Function to process requests
void process_requests(int n, int k, vector<string> &requests) {
set<int> occupied;
auto cmp = [](const tuple<int, int, int>& a, const tuple<int, int, int>& b) {
int gapA = get<1>(a) - get<0>(a);
int gapB = get<1>(b) - get<0>(b);
if (gapA == gapB) return get<0>(a) > get<0>(b);
return gapA < gapB;
};
priority_queue<tuple<int, int, int>, vector<tuple<int, int, int>>, decltype(cmp)> pq(cmp);

// Initially, the whole row is empty
pq.push({1, n, n-1}); // {start, end, gap}

for (auto &req : requests) {
if (req == "+") {
auto [start, end, _] = pq.top(); pq.pop();
int mid = start + (end - start) / 2;
cout << mid << endl;

occupied.insert(mid);
if (mid - start > 0) pq.push({start, mid - 1, mid - start - 1});
if (end - mid > 0) pq.push({mid + 1, end, end - mid - 1});
} else {
// Handle "-" requests
}
}
}

int main() {
int n, k;
cin >> n >> k;
vector<string> requests(k);
for (int i = 0; i < k; ++i) {
cin >> requests[i];
}

process_requests(n, k, requests);
return 0;
}
2024-02-15 03:38:20
Davaa Pizdaa minee huulaachee gichii gej
#include <iostream>
using namespace std;

int main() {
int a,b,c,d;
cin>>a;
d=a/3600;
b=a%60;
c=(a/60)%60;
cout<<d<<' '<<c<<' '<<b;
return 0;
}
2024-02-15 03:35:11
Dava pizda min huul huul;
#include <iostream>
using namespace std;

int main() {
int a,b,c,d;
cin>>a;
d=a/3600;
b=a%60;
c=(a/60)%60;
cout<<d<<' '<<c<<' '<<b;
return 0;
}
2024-01-25 06:17:42
dont copy
2023-11-21 07:26:11



































































































































































































































































































































































































































































© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.