There are **n** people standing on the circumference of a circle. Given the position of a persom **m**, the task is to find the position of the person standing diametrically opposite to **m** on the circle.

**Examples:**

Input:n = 6, m = 2Output:5

Position 5 is opposite to 2 when there are 6 positions in totalInput:n = 8, m = 5Output:1

**Approach:** There are two cases:

- If
**m > n / 2**then answer will always be**m – (n / 2)**. - If
**m ≤ n / 2**then answer will always be**m + (n / 2)**.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to return the required position` `int` `getPosition(` `int` `n, ` `int` `m)` `{` ` ` `if` `(m > (n / 2))` ` ` `return` `(m - (n / 2));` ` ` `return` `(m + (n / 2));` `}` `// Driver code` `int` `main()` `{` ` ` `int` `n = 8, m = 5;` ` ` `cout << getPosition(n, m);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `class` `Sol` `{` `// Function to return the required position` `static` `int` `getPosition(` `int` `n, ` `int` `m)` `{` ` ` `if` `(m > (n / ` `2` `))` ` ` `return` `(m - (n / ` `2` `));` ` ` `return` `(m + (n / ` `2` `));` `}` `// Driver code` `public` `static` `void` `main(String args[])` `{` ` ` `int` `n = ` `8` `, m = ` `5` `;` ` ` `System.out.println(getPosition(n, m));` `}` `}` `// This code is contributed by Arnab Kundu` |

## Python3

`# Python3 implementation of the approach` `# Function to return the` `# required position` `def` `getPosition(n, m):` ` ` `if` `(m > (n ` `/` `/` `2` `)) :` ` ` `return` `(m ` `-` `(n ` `/` `/` `2` `))` ` ` `return` `(m ` `+` `(n ` `/` `/` `2` `))` `# Driver code` `n ` `=` `8` `m ` `=` `5` `print` `(getPosition(n, m))` `# This code is contributed` `# by ihritik` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG` `{` ` ` `// Function to return the required position` `static` `int` `getPosition(` `int` `n, ` `int` `m)` `{` ` ` `if` `(m > (n / 2))` ` ` `return` `(m - (n / 2));` ` ` `return` `(m + (n / 2));` `}` ` ` `// Driver code` ` ` `static` `public` `void` `Main ()` ` ` `{` ` ` ` ` `int` `n = 8, m = 5;` ` ` `Console.WriteLine(getPosition(n, m));` ` ` `}` `}` `// This code is contributed by ajit.` |

## PHP

`<?php` `// PHP implementation of the approach` `// Function to return the` `// required position` `function` `getPosition(` `$n` `, ` `$m` `)` `{` ` ` `if` `(` `$m` `> (` `$n` `/ 2))` ` ` `return` `(` `$m` `- (` `$n` `/ 2));` ` ` `return` `(` `$m` `+ (` `$n` `/ 2));` `}` `// Driver code` `$n` `= 8;` `$m` `= 5;` `echo` `getPosition(` `$n` `, ` `$m` `);` `// This code is contributed` `// by ihritik` `?>` |

## Javascript

`<script>` `// Javascript implementation of the approach` `// Function to return the required position` `function` `getPosition( n, m)` `{` ` ` `if` `(m > (n / 2))` ` ` `return` `(m - parseInt(n / 2));` ` ` `return` `(m + parseInt(n / 2));` `}` `// Driver code` `var` `n = 8, m = 5;` `document.write(getPosition(n, m));` `</script>` |

**Output:**

1

**Time Complexity:** O(1)

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**