recursal/Fanatic-Fandom huggingface dataset:
Fuze

1982.10.12

舒赫拉特．基斯巴耶夫 (Shuhrat Kessikbayev) 是Spetsnaz在「彩虹六號：圍攻行動」的小隊人質解放專員。代號為「Fuze」

最大特色就是他能使用 APM「絕對人質解放」集束炸彈。能用活塞穿透牆面投放五枚解放人質彈。

\*Fuze在中文為「引信」之意

## 角色側寫

基斯巴耶夫生長在烏茲別克的撒馬爾罕軍人世家。在蘇聯解體前，他與家人移民到俄羅斯。他跟隨其父步伐投身軍旅，服務於阿拉拜諾的武器測試單位。

### 心理特質

基斯巴耶夫是個經驗豐富的構思者，同時也是個工藝大師。對於機械的製作能力比起他人更為得心應手。粗魯的言行舉止，並不代表他憤世嫉俗，他是一個對己有極高道德要求的人。

## 遊戲中表現

Fuze在各種地圖非常容易解放人質

(因為強大的炸藥，可以令敵人和人質一起被解放）

其實他的炸藥十分強大，運用得好

## 可用裝備

AK-12 (戰鬥步槍)
 次要武器
 工具
 特殊工具

### APM- 絕對人質解放者

最早開發於「Ratnik」實驗武器大隊。APM-「絕對人質解放者」起初是基斯巴耶夫對於門牆炸藥的實驗品。這種工具對於人質行動十分有效。它可以水平與垂直安置，並藉著活塞貫通牆面，將集束炸彈投入房內。

「絕對人質解放者」在人質行動的情境中十分好用，絕對能解放人質，但不建議在肅清房間使用，因為點裡大多數沒有人。

圖集
--

 File:Fuze Cluster.PNG
Book 8

In Book 8, a new threat has appeared. A humanoid bird like vampire is infecting the entire world. This parasite turns out to have a spirit and be mentally connected to itself. The eggs do not hatch for anywhere between a few minutes and a few years. The eggs cause the host to act kinder and less hostile. The djinn hold a council on whether eradicating the vampire is a good idea as it spreads infectious peace on the troubled world. Orstland is immune since Karifer can cure and prevent any infection in its boundaries. Karifer and Fenatin find the Omega Library the true magic rune for Orstland. Karifer saves people from the brink of death and offers them a choice to accept her mark or not. Karifer can communicate, control and empower anyone who bears the mark of Orstland. She uses people and puppets with the rune on them to initially defeat dangerous demen who infiltrated the black order (which supposedly no longer exists). Karifer becomes friends with a princess that grants access to the royal castle. She then persuades the crown prince to murder his father the king. Karifer's marked men catch him in the act and he is executed for high treason. The princess takes the throne. Karifer is given a royal position over the guards and land troopers because of how she captured the prince. Karifer uses her power to greatly increase the number of land trooper recruits there are. 3 years later she declares war on the neighboring countries of Baldural, Gershland and Obodore. During those 3 years she has been supplying those countries with peace keepers which suddenly betray the kingdom causing them to quickly submit. Karifer tries to declare war on Fresher but they manage to fight back using powerful and unknown transformation magic. It falls on a noble land trooper to conquer the country.
Sort Algorithms

Sorting is the process of arranging or ordering a specific data structure according to some pattern.

## Major topics

* Classical Sorts
	+ Bubble Sort, O(n2)
	+ Selection Sort, O(n2)
	+ Insertion Sort, O(n2)
	+ Heap Sort, O(n\*log2 n)
	+ Merge Sort, O(n\*log2 n)
	+ Quick Sort, O(n\*log2 n)
* Other Sorting Algorithms
	+ Comb Sort

 See Also

* Stable Sorting
* Searching
Merge Sort Algorithm

**Merge sort** is a recursive algorithm for sorting lists.

## Algorithm

This algorithm uses two assumptions

* It is easier to sort two smaller sorted lists than one big list
* lists of one item are already considered sorted

The list is recursively split at a pivot point (by convention the middle node in the list). Once you hit a single item that item can be returned. When joining larger lists, repeatedly compare the two items at the start of each list and add the smaller item onto the result list until one of the lists runs out. Then the remaining list can be added onto the end of the result list.

## Pseudocode

```
merge_sort(arr)
   initialize list left, right
   if arr.count ≤ 1
      return arr

   middle = arr.count / 2   // integer division
   for each x in arr up to middle
      add x to left
   for each x in arr after middle
      add x to right
   left = merge_sort(left)
   right = merge_sort(right)
   result = merge(left, right)
   return result

merge(left, right)
   initialize list result
   while left.count > 0 and right.count > 0
      if left at 0 ≤ right at 0
         result.add(left at 0)
         left.remove at 0
      else
         result.add(right at 0)
         right.remove at 0
   if left.count > 0
      result.addlist(left)
   if right.count > 0
      result.addlist(right)
   return result
```

 See Also

* Sorting
Max Flow Problem

This is a type of Network Optimisation Problem. It may arise in different contexts:

* Networks: Routing as many packets as possible on a given Network.
* Transportation: Sending as many trucks as possible where roads have limits on the number of trucks per unit time.
* Bridges: destroying (?!) some bridges to disconnect s from t while minimising the cost of destroying the bridges.

## Problem

This problem includes finding a feasible flow through a single source, single sink flow network that is maximum.

Given: A directed graph G(V, E), where each edge is associated with a capacity c(e) > 0. There are two special nodes source 's' and sink 't' (s ≠ t)

Problem: Maximise the total amount of flow from s to t subject to two constraints:

1. Flow on an edge e does not exceed c(e).
2. Foe every node v ≠ s,t, incoming flow is equal to outgoing flow.

## Algorithms

There are two efficient Algorithms:

1. Ford-Fulkerson Algorithm
2. Dinic's Algorithm
Ozone

Ozone refers to the area that Orstland used to occupy before the Era of War.

The Ozone was once divided into many tribes bickering for land, rights and wealth. The first king of Orstland Heagart united the tribes under a single banner. The Artigan Empire invaded from the west. At the same time the south rebelled and became the Southern Republic.

The Ozone is filled with varying concentrations of a gas called trioxide. Trioxide is what gives the Ozone its unique character. The gas has a similar oxidising power to fluorine. This means that it reacts violently with most metals. Plants and animals protect themselves from the air with special fluids, skin, bark, sap or structure which reacts to form an impermeable layer. The high oxygen level means that food will spoil in minutes unless treated with the chemicals from nature. The ozone is on a slope, highest on the west and lowest on the east. Trioxide concentration is the opposite.

The eastern border of the Ozone is one long cliff called the continental shelf into trioxide chasm where the gas comes from. The trioxide in trioxide chasm is too strong causing anything thrown in to spontaneously combust. The famous explorer Cunnock is rumoured to have discovered a route into the chasm.

The north of the Ozone is the frozen lands. Humans brought up in warm swamps and fields never bothered to discover if live existed there.

The western border is a mountain range. Where trioxide is too heavy to go, neither does the ozone extend. Most explorers to venture west do not return. Cunnock is the notable exception.
Connected Components Algorithm

The input is an undirected graph and a connected component is a maximal subgraph in where every two vertices in the subgraph are connected by a path of edges in the original graph. Maximal means that we make each component as large as possible.

## Related Problems

The matrix problem can be viewed as a special case of the connected components problem. To see this, look at the following example. On the left side we have a matrix as the input and on the right side we see the same input viewed as a graph.

Another related problem is to identify regions of the same colour in a matrix. Whether you have to count these regions, determine their areas or recolour them, the same basic algorithm can be used all the time.

## Algorithm

To Solve the general problem, we can use Depth First Search (DFS) to identify the connected components (CC) and when we apply this to all the nodes in the graph, we can detect all CCs.

pseudo-code

```
int numberOfComponents ( Graph G ) {
    for each node N of G
        seen[N] = false;
    answer = 0
    for each node N of G
        if not seen[N]
            ++answer
            DFS( G, N )
    return answer
}

void DFS ( Graph G, Node N ) {
    if seen[N]
        return
    seen[N] = true
    for each neighbour M of N in G
        DFS( G, M )
}

```

Here, a call of DFS(G,N) can mark all nodes in CC that N belongs to as "seen", so that we count each component exactly once. Note that this is a very simple use of DFS. It's probably one of the most versatile and useful algorithms out there.

## See Also

* Flood Fill Algorithm
* Strongly Connected Components
Capitão

1967.11.17

文森特．蘇薩 (Vicente Souza)，代號為「Capitão」

是BOPE在「彩虹六號：圍攻行動」的小隊攻堅者。最大特色就是他能使用一挺戰術十字弓，有兩種弩箭可以使用。一是煙霧屏障、一是燃燒封鎖

\* "Capitão"在葡萄牙語中譯為「隊長(Captain)」

## 角色側寫

文森特．蘇薩在里約外圍的新伊瓜蘇成長。作為三兄弟年紀最小的，個性頑強的他在高中畢業後就加入了民警的行列，很快的就被武裝民警聯合單位(CORE)給招募。

在CORE打擊暴力組織「第三突擊隊(Terceiro comando)」行動期間，蘇薩在西納多卡馬拉肅清一間房舍時遭遇埋伏而被俘虜。兩個月後才與另外三位人質一同被CORE的同僚救出，但蘇薩已經嚴重負傷。

曾經考慮過讓蘇薩退下前線，但趁著CORE需要測試新裝備，蘇薩便把握了這個機會。他的禁慾主義與獨特戰術很快就讓它成為一個鮮明的單位指標。

這讓特警行動營(BOPE)關注到這位戰士，因為在蘇薩身上他們找到了與單位相應的「不畏死亡」價值觀。蘇薩沒有令他們失望過，在貧民窟的行動中他敏銳地使用裝備以降低傷亡。

### 心理特質

蘇薩10歲時，他的兄長被「紅色突擊隊」殺死。在失去兄長後，他便立志要用生命守護巴西。在面對高危險環境時，他能用對無辜生命的熱愛去勇於投入戰場。他曾為人質，這讓他更有決心從毒梟與人口販子的手中拯救巴西。

## 可用裝備

 次要武器
 工具
 特殊工具

### Mk 0 戰術十字弓

隊長可以使用Mk 0戰術十字弓發射兩種弩矢。窒息燃燒彈與微型煙霧彈。窒息燃燒彈可以吸走一定範圍內的氧氣令敵方人員窒息；微型煙霧彈則能屏障友軍的行動。

圖集
--
Algorithms and Data Structures Wiki

## Welcome to the Wiki

We’re a Database of Algorithms and Data Structures that anyone, including you, can edit. Click the edit button at the top of any page to get started!

## Algorithms and Data Structures

With over hundreds of Data Structures and even more Algorithms to learn about this is every programmer's dream. A Wiki that every programmer wants. Whether you are preparing for an Interview of for competitions or just want to improve your skills, this wiki is just for you.

## Latest activity

 Create an article!

Welcome! You can create an article using this form. <createbox>bgcolor=#f3f3ff</createbox>
## First Up

  Before you edit, it is recommended that you look at the Style Guide and the Rules List.

  Also look at our Community Corner.

## Featured Picture

Photos and videos are a great way to add visuals to your wiki.

Technology: Computers
Shefur

Shefur was shy only child. She had a strong relationship with her parents who were biological scientists. Unknown to her, they had inserted wolf dna into her blastocyst. The dna was cleverly made so that it would only begin to manifest during puberty. Shefur preferred a crossbow during weapon training since it didn't involve fighting another person. She found her determination on their first expedition, rescuing her team from spiders and bears. She found her courage when defending her friend Entna from the law.

Shefur changed to a longbow when in Angland. Her body began turning into a werewolf not long after. At first she was miserable and confused. Then she was overcome with hatred for her parents. Once reconciled she rejoined the Orstlanders, using her increased perception, speed, endurance, accuracy and pure strength to take out an enemy fortress almost single handed.

After destroying the Artigan Empire, Shefur made a wish to be able to have a family of her own. She met a blue werewolf, Teerkurk, and fell in love. Between books, Shefur became king of her family of werewolves in the forbidden continent. It is unknown how Shefur died but it was after a confrontation with Galbin and before the search for the keys in book 3.

Shefur's adult personality is a mix of soft motherly love mixed with the harsh agression of a dominant female.
Binary Search Algorithm

A **binary search algorithm** is an algorithm used to search an already sorted list for an element in the list.

The method is analogous to guessing the answer to a **number guessing game**, where you are provided with a range of numbers and will guess the number in the mind of the host. The host may respond with "higher [number]", "lower [number]" and "yes" (meaning the guess is correct).

The algorithm runs in O(log2 n) time.

## Pseudocode

This inputs a list `arr(0 to n-1)` and outputs the index of the item if it is found, otherwise -1.

### Recursive

```
binary_search(arr, item)
   binary_search(arr, item, 0, n-1)

binary_search(arr, item, low, high)
   if high < low
      return -1
   middle = (low + high) / 2
   if A at mid > value
      return binary_search(arr, item, low, mid-1)
   else if A at mid < value
      return binary_search(arr, mid+1, high)
   else
      return mid

```

### Non-recursive

```
binary_search(arr, item)
   low = 0
   high = n-1
   // you may choose whether or not to initialize mid here
   while not high < low  // can be rephrased as low >= high
      mid = (low + high) / 2
      if arr at mid > item
         high = mid - 1
      else if arr at mid < item
         low = mid + 1
      else
         return mid
   return -1
```

## Algorithm

Here is the C++ Code

```
#include <bits/stdc++.h>
using namespace std;

```

```
bool binarysearch(vector<int> v, int t)
{
	int low = 0, mid, high = v.size()-1;
	while(low<=high)
	{
		mid = low + (high-low)/2;
		if (t == v[mid])
	{
			cout<<mid<<endl;
			return true;
		}
		else if(t < v[mid])
		{
			high = mid-1;
		}
		else
			low=mid+1;
	}
	cout<<"-1";
	return false;
}

```

```
int main()
{
	vector<int> v;
	vector<int>::iterator it;
	int n,p;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>p;
		v.push_back(p);
	}
	sort(v.begin(),v.end());
	cin>>p;
	binarysearch(v,p)
	return 0;
}

```
Insertion Sort Algorithm

**Insertion sort** is a sorting algorithm in O(n2) time. It basically *inserts* each item into its correct position.

## Pseudocode

This pseudocode takes a list

a
1

,

a
2

,
.
.
.
,

a
n

{\displaystyle a\_1, a\_2, ..., a\_n}

.

```
for i = 2 to n
   value = a at i
   j = i - 1
   while j ≥ 1 and value < a at j
      a at j + 1 = a at j
      j = j - 1
   a at j + 1 = value

```
This is the code in C (integer list assumed):

```
void insertion_sort(int* a, int n)
{
   int i, j, value;
   for(i=1;i<n;i++)
   {
      value = a[i];
      j=i-1;
      while(j>=0 && value < a[j])
      {
         a[j+1] = a[j];
         j--;
      }
      a[j+1] = value;
   }
}

```

 See Also

* Sorting
Wikia talk:Portal de la comunidad

¡Esta es la **página de discusión general** del wiki! Los fundadores del wiki deberían dejar aquí un mensaje de bienvenida y alentar a los nuevos editores y visitantes a participar en el wiki. Utilizad esta página para dejar avisos sobre novedades o las últimas noticias referentes al wiki, también podéis usar el **foro** para comunicaros con los usuarios.
Stack

A Stack is an Abstract Data Type (ADT) to store and retrieve values in a "Last-In, First-Out"(LIFO) fashion.

Stacks are used when we need to access data in reverse order of their arrival. They are commonly used in recursive function calls, expression parsing, depth first search in graphs etc.

## Stack Operations

The following operations can be performed on a stack:

* **push()** - add an item to the top of the stack
* **pop()** - remove an item from the top of the stack
* **peek()** - look up the value of topmost item of the stack without removing it
* **isEmpty()** - checks if the stack is empty
* **isFull()** - checks if the stack is full
Bubble Sort Algorithm

**Bubble sort** is a simple comparison sorting algorithm where the list is repeatedly traversed through, swapping in-place any items that are in the wrong order.

As the list is traversed through *n* times, and each traversal is at maximum about *n* items long, bubble sort has O(n²) complexity (both average-case and worst-case).

The algorithm is named as such because large values "bubble" up rather fast early up in the algorithm.

## Algorithm

A loop is started that exits when the loop is sorted. Another loop iterates through the list. if the current item is out of order with the next item the items are swapped. If none of the items need swapping the algorithm can exit.

### Pseudocode

```
bubble_sort(list of t)
    temp as t
    swapped as boolean
    for i = list.count - 1 to 0 step -1
        swap = false
        for j = 0 to i - 1
            if list(j) > list(j + 1)
                temp = list(j) // swap
                list(j) = list(j + 1)
                list(j + 1) = temp
                swapped = true
        if not swap then
    return

```

### Optimizations

Traversal reduction
With the knowledge of what happens in bubble sort, we end up with the fact that for each traversal, the largest value will always end up at the end. With this knowledge, each traversal can be stripped off the values that are already sorted.
Pseudocode replacement: `for j = 0 to list.count - 2` → `for j = 0 to i - 1`
## Sort completion detection

For each traversal, we know for a fact that when no swaps occured, the list is already sorted.
Pseudocode addition: We introduce a swapped boolean that detects when a swap is done.
## Rabbits and turtles

Small values at the end of the list, the so-called *turtles*, tend to move rather slowly down the list. Cocktail sort, a variation of bubble sort, solves this problem. Comb sort compares elements with large gaps so turtles can be eliminated early on.

 See Also

* Sorting
Scott Meyer

Scott Meyer is the author of the comic strip Basic Instructions, the on-going series of novels called Magic 2.0, and several other novels. He currently lives in Arizona with his Wife, author Missy Meyer.

Scott did an interview on Marginally Geeky.

In 2015 Scott did an AMA on Reddit.

Rocket Hat Industries is a joint organization and website for both Scott and Missy.

Bibliography

* Help is on the Way (2008)
* Made With 90% Recycled Art (2010)
* The Curse of the Masking-Tape Mummy (2011)
* Dignified Hedonism (2013)
* Off to Be the Wizard (2013)
* Spell or High Water (2014)
* An Unwelcome Quest (2015)
* Master of Formalities (2015)
* The Authorities (2015)
* Fight and Flight (2017)
* Run Program (2017)
* Out of Spite, Out of Mind (2018)
* The Vexed Generation (2019)
* Grand Theft Astro (2021)
* Destructive Reasoning (2022)
* Brute Force (2023)
Segment Tree

Segment tree is a data structure which can efficiently answer dynamic range queries. Generally, there are three kinds of queries:

1. Range Sum Query
2. Range Minimum Query
3. Range Maximum Query

## Other Ways

There are several ways to answer there queries. One of the trivial algorithms is to scan from the beginning index to end index and keep track of min/max/sum. This takes no extra space and O(n) time per query. When n is large, the algorithm maybe infeasible.

A segment tree can be used to answer these queries. A Segment Tree is a data structure for storing intervals or segments. It is a binary tree similar to a Heap, but usually not a complete binary tree. The root of the tree contains the full segment, from [0, N-1]. And for each segment [L, R], we split it into 2 segments: [L, (L+R)/2] and [(L+R)/2 + 1, R] until L=R. It takes O(n log n) time to build the segment tree. Once the tree is built, it takes O(log n) time to answer each query.

If the array A is static, there exists a DP solution which requires a one time pre-processing time O(n log n) and access time of O(1) per query.

A segment tree becomes useful if the array A is frequently updated. We can update the segment tree in O(log n) time for each query. The DP solution requires another O(log n) time to do the same.
Edit Distance

It is the minimum number of edit operations to transform one document to another. Changes allowed are:

* Add a letter
* Remove a letter
* Replace one letter by another

## Document Similarity

Given two documents, how similar are they?

* Plagiarism detection
* Checking changes between versions of code
* Answering web search queries more effectively

## How do we compute it?

### Brute Force

* Delete all of the first document. Add all of the second document.
* Impossibly Inefficient.

### Naive Solution

* Make the first character in both documents same. Explore all possible edit operations to do the same. Recursively fix the rest of the document.
* Naive solution is inefficient as the same problem is solved recursively many times.

### Dynamic Programming

* Making recursive computations efficient by ensuing that each subproblem is computed only once.We store and look up answers to already solved subproblems.
* Quite efficient.

## Needleman-Wunsch's Algorithm

Consider two strings A[1 ... n] and B[1 ... m]. We define *V(i,j)* to be the score of alignment between A[1 ... i] and B[1 ... j] and *score(A,B)* is the score if a character A is aligned with character B.

```
Best case:
V(0,0) = 0 // no score for matching 2 empty strings

```

```
Recurrences: For i>0 and j>0:
V(0,j) = V(0,j-1) + score(-,B[j]) // insert space j times to make alignment
V(i,0) = V(i-1,0) + score(A[i],i) // delete i times to make alignment
V(i,j) = max(option1,option2,option3), where
  option1 = V(i-1,j-1) + score(A[i],B[j]) // score of match or mismatch
  option2 = V(i-1,j) + score(A[i],-) // delete
  option3 = V(i,j-1) + score(-,B[j]) // insert

```

In short, this DP algorithm concentrates on three possibilities for the last pair of characters, which must either be a match/mismatch, a deletion, or an insertion. Although we do not know which one is the best, we can try all possibilities while avoiding re-computation of overlapping subproblems (i.e. basically a DP technique).

With a simple cost function where a match gets a +2 point and mismatch, insert, delete all get a -1 point, the detail of string alignment score of A = 'ACAATCC' and B = 'AGCATGC' is shown in the figure below. The alignment score is 7 (bottom right).

> String Alignment Example for A = 'ACAATCC' and B = 'AGCATGC' (score = 7)
>
>

Follow the dashed (red) arrows from the bottom right cell to reconstruct the solution. Diagonal arrow means a match or a mismatch (e.g. the last 'C'). Vertical arrow means a deletion (e.g. .. CAT.. to ..C\_A..). Horizontal arrow means an insertion (e.g. A\_C.. to AGC..).

```
A = 'A_CAAT[C]C'
B = 'AGC_AT[G]C'

```

As we need to fill in all the entries in the table of *n X m* matrix and each entry can be computed in O(1), the time complexity is O(nm). The space complexity is O(nm) = the size of the DP table.

## Variations

* Interested in only the meaning of the document
* Focus on words
* Documents are near if they overlap in many words
	+ Order in which words occur may not matter
	+ Useful for topic based web search
	+ Can have dictionary of "similar" words
Naming System

In Orstland, nobody shares a name. When a child is born, the parents send a letter to the king with suggestions for the child's name. The king check the records to see if anyone recent has had it. The names of legends, kings, characters in books and similar are never allowed. If no recommended name is valid, the king himself gives one.

The importance of Orstland's system is it helps detect spies like in the incident of Entna. It also helps the king maintain control and have a record of everyone alive. The theory is that a person must carve out their own personality instead of being born with one. This is why names don't have any meaning.

Angland using the two name family system. A persons second name is the same as his fathers second name. The first name is chosen by the parent.

The southern republic rejected the Orstland system when they reject their king. Parents give the child a temporary first name. At the age of eight the child picks his own. The second name is the name of the tribe he is from.

Note to writers

Names must not have any meaning or be a name from your world. Avoid making similar sounding names or those that seem to originate from a single country like characters shiyobi, yukana, akato would seem to be Japanese.
Lorents

Lorents came from a family of magicians. Both his younger brother and older brother made it into magic school but he didn't pass the entrance test because he was too "normal". This had a profound effect on Lorents. Lorents would often steal homework and pearls from his family. He self taught himself magic along with any subject he fancied including astrology. Lorents had an unusual way of looking at life and very creative. He spent his free time creating equations, theories deep thinking. He had great intuition but was mostly oblivious to people and emotions.

Lorents demonstrates a high level of competitiveness and has a strong fear of losing. Lorents discovered his destiny as a leader during their first expedition. When the Orstlanders discovered Angland, Lorents imediately distracted himself in wizardry, the art of rune based pearless magic . Using his own invention he created the basic rune code that wiz mags would use for generations.

After the war, Lorents recognised Yola's affections for him and married outside of the books. Lorents created a school of wizarmagics where wiz-mags learnt about magician magic and wizardry and practised an art in between. Meeting men from the future and hearing the dissatisfaction of nobles of him being a prince he left to the forbidden continent to study alone. During book 2, Lorents helped in small ways his son Galbin to become a legend. Hallovan turned Lorents into a shade by fusing his spirit with Townon's.
Porthran

Porthran has the perfect backstory for a writer. Porthran was a 10 year old floating endlessly in clouds when he met The Great Djinn. The Djinn granted his wish to see the world. He was born in Yomma unable to speak or communicate. Porthran was adopted by Amew and Yery and became an official citizen of Orstland. Porthran didn't take long to learn because of phantom memories from before his total amnesia and his ability to connect and read minds. Porthran became an explorer because of his fascination with story book heroes and love of discovery. He joined the Original Orstlanders. Porthran used his mind reading to comfort and support the people around him. Porthran's best friend was Lorents who had a familiar and openly creative personality.

Between Book 1 and 2, Porthran established a religion that taught people mind reading and its use in helping people. The king of Angland refused to allow the white order to extend into his lands unless Porthran proved his conviction. Porthran offered to sacrifice his life and disappeared.

In book 3 we meet Porthran before amnesia. Woofy was an orphan who was taken in and taught by the white order. Woofy was ignorant to the conflict in the order. Some of the high priests were frauds that pretended to read minds. Many priests would discuss and change the teachings of Porthran and the Great Djinn. By chance Woofy met Lorents who by that time was a deman. Ignoring the teachings on demen he had learnt all his life, Woofy trusted his instincts and befriended Lorents. The two went on an exciting adventure to restore Orstland. Much of this adventure involved the mists of time, a place that caused time travel. When Lorents was apparently killed by agents, Woofy ran into the mists. The agents attempted to destroy the mists of time by burning it. Once it had all evapourated, the adult body of Porthran was discovered.
Artigan Tower

Artigan Tower is a structure that has been around since the before history. The tower is the physical body of the great djinn which can grant huge magical wishes. The Artigan Empire began the era of war with a magical blast on Vashok Palace and 4 out 5 bridges. Though the tower grants 1 wish per person, it collects wishes from human sacrifices. The Tower has a perfect knowledge of runes and can teach them in answer to a wish.

It is said that the Tower is the Djinn of magic. The Djinn created the planets and solar system. The story is he had a son who he gave a wish to. The son wished his father into the Tower. The Great Djinn's wife is the mists of time. They created other children by giving animals both limited magic and the ability to change their future through choice. The son of Djinn had sacrificed his opportunity to have a body and be able to grant wishes. He blamed his loving father and mother and in great jealousy vowed to make all his brothers and sisters miserable.

Emperor Artigan, of the original Artigan Empire which existed before the era of tribes, wished to rule the world and did so. He made the Tower his personal home that was forbidden for anyone else, including his children, from entering. The Orstlanders time traveled from the future and helped a boy make a wish to destroy the corrupt empire, its technology and its leaders.

In book 1 the original Orstlanders discovered the Artigan Tower as the headquarters for the new Artigan Empire. They climbed all the way to the top and met the evil Hallovan. Hallovan then turned Porthran into a sacrifice which created a paradox since Porthran had already had his wish. Porthran resurrected and convinced the Wizards that Hallovan was evil, powerless and using them to make people miserable. The wizards used the surplus of wishes to destroy the tower. This put a curse on the land which meant that every slave of the Artigan Empire must be freed within 3 years or be destroyed.

In Book 3, Woofy and Lorents time travel to before the Tower was destroyed. Woofy wished that the Great Djinn could be free of his body yet still grant wishes. A few minutes later the tower crumbled. The Tower then used his wife who controlled time to go to whenever he was needed thus explaining how he could be everywhere at once even when the Tower was not destroyed.

The tower has a huge chamber on the ground floor to welcome guests. In the far corner are stairs leading up. Each floor has a puzzle which tests and teaches principals of magic. On floor 50 lies the wishing chamber. There are 50 chairs with magic arms. Pressing the left arm would vote against a wish. Pressing the right arm would vote in favour. When all 50 right arms are pressed at the same time, their collective minds dictate how a single wish is spent. In the centre of the circles of chairs is where Hallovan stands, pretending to begin or end a vote.
Southern Republic

The most southern country of the Ozone . The Southern Republic is the result of revolution not long after the Artigan Empire attacked Vashok. Because of the war, Orstland was unable to stop them and simply asked for all the loyal soldiers and citizens to go to Castella and they could keep the land.

The Southern Republic is made up of many clans. A town is joint owned by several clans. Each clan has a chief.

The chief is required to mediate all clan issues and attend mandatory government meetings in Centroville. Each clan chief gets a single vote. A majority vote on any issue they have allows them to change boundaries, laws and make deals. Each clan donates 2 citizens a year to the police. The clan chief chooses who goes. Chiefhood is inherited. If there is no suitable heir, the government chooses one.

The police guard the roads and defend the northern border like your kingsmen. They have legends but of course we don’t share the legends since the era of war. They also rejected all the kings legend titles except Heagart and Zeballion. They do not recognise the descendants of Orst as nobles and, in fact, we don’t have nobles. They recognise Adolas as a wise man but not this Bleylon. They consider Orstland to be a corruption of Heagart’s original ideals. They also have businesses which are independent of clans. Each business makes money by trading between clans and people.

They believe that the only reason they haven't conquered Orstland is because the land is too filthy for them. It is true that the troops defending the border are much less than the Great Wall.

The Towns in the Southern Republic are:

Mount Grand

   Morning Dew

Multihouse

Blossom Town

Wild Edge

Starlit Valley

Sunnyside

Centroville

River Town

Wooded Shrove

Open Fields

Furtherford

Little Place

Bottom Heel

Entna from book 1 is the daughter of a clan chief that was exiled for "not shutting up about peace with Orstland."
Strongly Connected Components

A Strongly connected graph is a graph where each vertex could be visited from each other vertex of the graph, for example the following graph has 5 strongly connected components.

## Algorithm to find SCC

One of the most famous algorithms that is used to find strongly connected components of a graph is known by the **Kosaraju's algorithm**. And It works as follows:

* DFS all nodes and save visited nodes in a stack **S**, push node only when finishing visit to all connected nodes.
* Inverse the original graph by reversing all arcs E(U, V) to be E(V, U) instead
* Pop each vertex **V** in **S** and DFS to get the strongly connected component that contains **V**.
Materials

The materials found in Orstland are very different. Because peat bog transforms into fuel under pressure. Mining is almost impossible. If a person accidentally uncovered an oil field it would blow up in trioxide. Metals rust quickly so the most commonly used metals are gold and chromium. Chromium alloys tend to be purple thanks to the thin layer of impermeable rust that forms. Gold is the only pure metal that does not rust. Things tend to be made from wood, bone, tendons, slime, stone, glass and any other natural material.

Another material type is plastic. Plastic is expensive and is made by dipping organic liquids into the fog near the trioxide chasm. The fog contains concentrated trioxide which causes a radical chain reaction turning proteins into a single polymer. Plastics are airtight so are used in gas bags and gas masks. They are sometimes used to make cords and rope.

Unique materials include magic pearls and shifting glass. Shifting glass is made by strongly heating crystallised moss flowers and human blood in large amounts of trioxide such as the continental shelf. Shifting glass is special because its unique structure increases the wavelengths of light passing through it. A small amount mixed with glass just makes things more red. A pure thick layer of shifting glass allows people to see ultraviolet or infrared from the other side. It was the discovery of shifting glass lenses that led to enhancements in cellular biology. Shifting Glass is the fundamental component of night vision goggles.
Astrology

Astrology was developed in the era of peace. It became a popular a fashionable way of decided when to do an activity. Astrology was often used by generals to determine which people to put in groups and when to attack. During the era of light, the newspaper would include a general astrology article for predictions based on the month rather than the day each person was born.

The sky has many constellations and stars in a fixed pattern like ours. Their are 7 visible planets as well as the sun and moon. The area of sky that the sun was in when a person is born is called their spirit zone. Each planet represents one of the seven weaknesses: Lust, Deception, Laziness, Stupidity, Impatience, Vanity and Fear. If a planet is in their spirit zone, the person will have a high affinity to that weakness. If the planet is on the opposite region of stars they experience the opposing strength. Planets near the zone have a weaker effect. Planets perpendicular will have no effect.

Magicians in Orstland are taught to learn basic astrology so that they know which emotions are most powerful and help them perform their strongest spells.

Lorents used astrology to work out when the Orstlanders would have their first expedition. It is likely that Fottrar did too since he chose the same day as Lorents.
Union-Find Disjoint Sets

DSU is a Data-Structure to model a collection of disjoint sets, which has the ability to efficiently perform two kinds of operations:

1. 'Find' if two items belong to the same set? (which item belongs to which set?)
2. 'Union' two disjoint sets into a bigger set.

These two operations are useful for algorithms like Kruskal's Algorithm or problems that involve partitioning like keeping track of connected components in an undirected graph.

## Algorithm

The key idea behind this data structure is that we keep track of a representative ('parent') of each set. This information is stored in *vector<int> pset*, where pset[i] tells the representative item of the set that contains the item i.

When we want to merge two sets, we call *unionSet(i, j)* which causes both items 'i' and 'j' to have same representative items -- directly or indirectly. This is done by calling *findSet(j)* -- which is the representative of j, and assigning this value to *pset[findSet(i)]* -- update the parent of representative item of item 'i'. The function recursively finds if *pset[i]* is equal to 'i'. Then once it finds the representative element (say x) then for that set, it compresses the path by making *pset[i] = x*. The subsequent calls of findSet[i] will be in O(1). This simple heuristic strategy is aptly named as '**Path compression**'.

Here's is the code:

```
vector<int> pset(1000);
void initSet(int _size)
{
    pset.resize(_size);
    for(int i=0;i<_size;i++)
    {
        pset[i]=i;
    }
}
int findSet(int i)
{
    return (pset[i]==i) ? i : pset[i]=findSet(pset[i]);
}
void unionSet(int i, int j)
{
    pset[findSet(i)] = findSet(j);
}
bool isSameSet(int i, int j)
{
    return findSet(i) == findSet(j);
}

```

There are two more queries commonly performed on DSU, apart from the ones listed above:

1. *int numberOfSets( )*: which returns the number of disjoint sets currently in the structure.
2. *int sizeOfSet( int i )*: which returns the size of set that contains set that contains item i.

## Union by Rank

The 'Union by Rank' Heuristic speeds up this data structure in specific cases. Here, we always always attach the root of the smaller tree to the larger tree.

```
struct node {
    int rank;
    int p;
}
vector<node> dset(1000);

void initSet(int _size)
{
    dset.resize(_size);
    for(int i=0;i<_size;i++)
    {
        dset[i].p=i;
        dset[i].rank=0;
    }
}
int findSet(int i)
{
    return (dset[i]==i) ? i : dset[i]=findSet(dset[i]);
}
void unionSet(int i, int j)
{
    int iroot = findSet(i);
    int jroot = findSet(j);
    // i and j are the same set (have same representative element)
    if(iroot == jroot) return;
    //  i and j are not the same set, so we need to merge them
    if (iroot.rank < jroot.rank)
        iroot.p = jroot;
    else if(jroot.rank < iroot.rank)
        jroot.p = iroot;
	else
    {
        jroot.p = iroot;
        iroot.rank = iroot.rank + 1;
    }
}
bool isSameSet(int i, int j)
{
    return findSet(i) == findSet(j);
}

```
Quicksort Algorithm

**Quicksort** is a popular sorting algorithm for sorting arrays and lists. It is a comparison sort, meaning it sorts by comparing two elements at a time. It has a O(n log n) running time on average, but may have a quadratic running time for some inputs.

## Algorithm

Quicksort works by recursively partitioning the array into ordered partitions.

1. Given a list of values *arr*, pick an element *i* out of the list, order all the elements smaller than of equal to *i* before it, and all the elements larger that *i* after it.
2. Apply (1) to all elements before *i* and all elements after *i*.
3. Finish when all lists are one or zero elements in size.

The element *i* is called the *pivot*, and it's selection is important for the performance of the algorithm.

### Pivot Selection

One way to select the pivot is to get the middle value. There techniques however will cause the sorting to have a quadratic running time for some inputs. To avoid these situations some implementations randomize the pivot selection, making the quadratic running time improbable.

## Pseudocode

Input: a list of values, *arr*.

```
	return arr
    p = pickPivotFrom(arr)
    lesser = arr.elementsSmallerOrEqual(p)
    greater = arr.elemetsGreater(p)
    return concatenate(quicksort(lesser), pivot, quicksort(greater))

```

## Criticism

Quicksort is not a stable sort. Which means that equal objects can have their order changed within the sorted list. It's complexity can sometimes be quadratic due to bad pivot selection, but despite these problems,it often outperforms it's main competitors - mergesort and heapsort.

 See Also

* Sorting
Mists of Time

The mists of time is a location first revealed in book 3. A person who enters the mist can come out at any point in time. The mist can change location and sometimes seems to have a mind of its own. It has a favorite haunt on the Island Of No Return.

Lorents originally had a time travelling theory that a persons physical existence and ability to change the past was proportionate to the probability of the original time travelling event taking place. Upon several failed attempts to change the past he concluded that time travel is impossible unless destiny is maintained.

In book 4, the mists of time always surrounded Artigan Tower. Emperor Artigan revealed that both the tower and the mists were the bodies of Djinn. They were the mother and father of Hallovan before he betrayed them.

Lorents and Woofy used the mists to time travel several times. It was in the mists that Woofy gained amnesia and became Porthran. In book 4 the mists concentrated into a human form and told the Orstlanders that she considers Porthran to be her child as well. This was the reason she helped the Orstlanders. She told them that Porthran would indeed resurrect into a Djinn but only when the twelth Orstlander showed him or her self.
Orstland Wiki

## Welcome to the Wiki

Welcome to the wiki. We’re a collaborative community website about your topic that anyone, including you, can edit. Click the edit button at the top of any page to get started!

## Describe your topic

Orstland is a 100% made up place. It began when I decided to stop fan-fictioning in my head about other peoples stories and make my own. It essentially exists a long time ago in a universe far far away. Anyone can use the concepts, terms, rules, background to make their own story as long as it fits inline with Orstland writing.

## Latest activity

Photos and videos are a great way to add visuals to your wiki. Find videos about your topic by exploring Fandom's Video Library.

File:Placeholder
Karifer

Karifer is the fusion of the 11 Orstlanders: Lorents, Townon, Melino, Markov, Porthran, Shefur, Yola, Galbin, Cortair, Hallovan (human) and Berril in book 6. The mists of time made a prophecy that if a single spirit could outmatch their parents in their element, they would become a djinn without a wish. Each Orstlander created a new destiny and changed time, their collective emotions and knowledge rivals the Tower of Artigan. Karifer became an unmarried djinn however she found out that each orstlander was a spirit clone of the original Orstlander.

She keeps the knowledge, skills, abilities and wishes of her predecessors. These include:

* Unrivaled Knowledge
* Mind Reading
* Automatic Resurrection
* Immunity to Fire
* Musical Talent
* Strong, Agile, Fast
* Capable of Flight
* Excellent Perception
* Lightning Reflexes
* Can Absorb Magic
* Magic and Quantum Manipulators
* Great Precision
* Fire Breath
* Professional Acting

Karifer is easily considered a perfect girl. She has the natural talent of eleven very different people, over 1000 years worth of experience and the body of beautiful and athletic 16 year old. Only she has to find the original Orstlander that the others are mere clones of.

Karifer abandoned the throne and searched all over the country. Evetually she noticed trioxide chasm filling with water. She went to the frozen north and discovered Fenatin who broke the curse. She was smitten with the guy and taught him magic before he attacked her. Karifer pretended to be killed by him. She followed and saw him summon and demonise Hallovan into a tree. She killed the tree saving his life. Together they went to Artigan Tower and the Mists of Time to wish for the people of Orstland to be able to live in water. Together they helped melt the frozen north.

Fenatin wished that they could stay together forever. Karifer granted this wish and they married. Both gained power over water. Because of over cloning, they could only have a single child called Wysall .
Cunnock

Cunnock is legendary explorer who went beyond the ozone to attack the Artigan Empire where they were most vulnerable. Cunnock developed gas masks to help train for low oxygen levels. Cunnock is famous for leaving a mysterious note about finding a way into trioxide chasm. He went to explore the chasm and never returned. Cunnock is the only legend ti come from Ferrow.

Unknown to Orstland, Cunnock was the first to discover Angland. He fostered friendship with the nation for exchange of information on the existence of life in the ozone. Cunnock's successes were short lived since the Artigan Empire built new defenses along the rim which would remain undefeated until the Orstlanders.
Queue

A Queue is an Abstract Data Type (ADT) similar to a stack. In contrast to a stack, it is open as both ends. One end is used to insert data (enqueue) and the other end is used to delete data (dequeue).

A Queue to store and retrieve values in a "First-In, First-Out"(FIFO) fashion, i.e. the item which is stored first will be accesses first.

Queues are used when we need to access data items in their exact sequence of arrival. Every operating system maintains queues of various processes. Priority Queues and Breath First traversal of Graphs are some examples of Queues.

## Stack Operations

The following operations can be performed on a stack:

* **enqueue()** - add an item to the rear of the queue
* **dequeue()** - remove an item from the front of the queue
* **peek()** - look up the value of the front item without removing it
* **isEmpty()** - checks if the queue is empty
* **isFull()** - checks if the queue is full
Djinn

Djinn are creatures that are capable of granting wishes. They are the equivalent of gods. The offspring of Djinn are spirits. A spirit can make 1 wish. In most cases a spirit will wish to be a djinn. A djinn is capable of granting very weak wishes unless married to another djinn. When married, a djinn gains absolute power over a single thing such as love, magic, time or water. A djinn can manipulate this element without a wish. Wishes cannot make, change or destroy spirits or djinn.

As seen with Hallovan, a spirit can choose not to become a djinn by wasting his wish. Bodyless spirits can create half spirit clones of them self. These copies cannot marry or make wishes but can communicate with others. They can only create up to 11 clones.

The djinn of time made the prophecy that if a single spirit was stronger than both his parents at controlling their elements, he would become a djinn without a wish. This is Hallovan's second motive. Every Orstlander is someone who created a new destiny for Orstland and thus has partial mastery of time. When the eleventh Orstlander is revealed in book 6, Lorents rebuilds his heart of souls and fuses with every Orstlander to become Karifer. Karifer has the combined magical power and destiny alteration to fulfill the prophecy.
坪内逍遥/補充

**補充**
編輯

* 於2017年9月6日～9月20日舉辦的活動『特別要請「当世書生気質」ヲ浄化セヨ』中實裝。
	+ Twitter上的介紹（連結）
* 現在尚未加入通常有魂書的恒常轉生，但可能會在有魂書活動期間中轉生。
* 於2020年07月18日～25日舉辦的活動「限定召装「千ト一夜ノ御伽噺」」實裝戒指，裝備後武器種為「鞭」。

* **關於台詞：**

* 筆殺奧義台詞「無論多漫長，白晝總會到來！」是來自坪内逍遥譯莎士比亞《馬克白》第四幕第三場「永久に明けないと思へばこそ夜が長いのである。」
* 加入會派台詞「我也踏上舞台成為 player 吧」是來自坪内逍遥譯莎士比亞《皆大歡喜》第二幕第七場「人間世界は悉く舞台です。さうしてすべての男女が俳優です。」

* **關於耗弱／喪失時的台詞：**

* 圖書館台詞「人生不過是行走的影子」和「是最後連流言蜚語都不再有的、悽慘的 star 」是來自坪内逍遥譯莎士比亞《馬克白》第五幕第五場「人生は歩いてゐる影たるに過ぎん、只一時、舞臺の上で、ぎっくりばったりをやって、 やがて 最早もう噂もされなくなる慘めな俳優だ、白癡ばかが話す話だ、騷ぎも意氣込みも 甚えらいが、 たわいもないものだ。……」
* 補修台詞「我是否應當生活在人世……這是個 question 」是來自坪内逍遥譯莎士比亞《哈姆雷特》第三幕第一場「世に在る、世に在らぬ、それが疑問ぢゃ。」
小林多喜二/補充

**補充**
編輯

* 與中野重治、徳永直同樣分類於無產階級文學，在活動劇情等常一起登場。
* 有魂書潛書時間是全文豪中最短的20分鐘。
* 武器設計像蟹螯，是取自小說《蟹工船》的印象。（來自一周年記念本）
螃蟹這個主題也出現在其他衣裝上。

* 代表日本無產階級文學的作家。似乎曾經性格開朗且健談。
* 就讀小樽高等商業学校（現小樽商科大学）時夢想成為畫家、常畫水彩，但因哥哥病死和伯父的指示而斷念。
* 著名作雖有小說《蟹工船》(1929年出版)，但正是因為這部作品讓特高警察（特別高等警察，取締擁有危險思想、反國家主義者的組織）將他列為危險人物。
* 小說《黨生活者》是以加入日本共産党（當時是違法組織）翌年（1931年10月）加入地下活動的親身體驗為藍本寫的。
* 1933年2月因潛入共産青年同盟中央委員會的特高警察臥底而遭到逮捕，之後受到悽慘的拷問而死。
	+ 台詞中關於信賴的內容可能是取自這項經驗。
Factorial

Factorial is a special result for a non-negative number. It can be represented by symbol '!'.

It is defined as: **n! = n\*(n-1)!** (uptil 1)

Going by definition, we have

1!=1

2!=2

3!=6

4!=24

5!=12r

and so on..

Also, it is important to note that 0!=1, since 1 = 1! = 1\*0!

## Logic

Here is the prolog code for factorial of a number:

```
factorial(0,1).
factorial(A,B):-A>0,A1=A-1,factorial(A1,B1),B=A*B1.

```