import java.util.*;
public class BackPropagation {
void testOverflowDetection(int[] arr1, int[] arr2, int offset) {
int l1 = arr1.length;
int l2 = arr2.length;
if (l1 < l2 || offset < 0) return;
if (l1 - offset >= l2) {
if (l1 == l2 && offset == 0) {}
}
if (l1 - offset <= l2) {
if (l1 == l2 && offset == 0) {}
}
}
void test(int x, int y) {
if (x + 1 > 0) {
if (x == -2) {
}
if (x == -1) {
}
if (x == 0) {
}
if (x == Integer.MAX_VALUE - 1) {
}
if (x == Integer.MAX_VALUE) {
}
if (x - 1 > y) {
if (x > y) {
}
}
}
if (x + 1 == y && x == y) {
}
if (x + 1 + 2 + 3 == y && x == y) {
}
}
void test(int x, int y, int z, int t) {
if (x == z) {
if (x + y - z == t && y == t) {}
}
}
public final void read(char buffer[], int startOffset, int length) {
if (startOffset < 0
|| startOffset > buffer.length
|| length < 0
|| startOffset + length > buffer.length
|| startOffset + length < 0) {
throw new IndexOutOfBoundsException();
}
// This is always false, but we cannot reliably detect this yet. If startOffset == buffer.length
// then startOffset + length <= buffer.length implies that length == 0 *or* startOffset + length overflows
// The latest case is ruled out by startOffset + length < 0, but our memory state is unable to track this.
if (startOffset == buffer.length && length > 0) {
}
}
void arr(int idx, int[] arr1, int[] arr2) {
arr1 = new int[6];
arr2 = new int[6];
arr1[idx] = 0;
arr1[idx+3] = 0;
arr2[idx] = 0;
arr2[idx+3] = 0;
arr2[idx-3] = 0;
}
void update(int x, int y, int z) {
if (y == z) {
x+=y-z;
x-=y-z;
}
}
void test2(String fqName) {
int spaceIdx = fqName.indexOf(' ');
int lastDotIdx = fqName.lastIndexOf('.');
int parenIndex = fqName.indexOf('(');
while (lastDotIdx > parenIndex) lastDotIdx = fqName.lastIndexOf('.', lastDotIdx - 1);
boolean notype = false;
if (spaceIdx < 0 || spaceIdx + 1 > lastDotIdx || spaceIdx > parenIndex) {
notype = true;
}
}
void test3(int c, String text) {
if (c < 1 || c > text.length() - 1) return;
if (text.length() > c) {}
}
void testDiff(int x, int y) {
if (x - y > 0 && x == y) {}
if (y > 0 && x >= y) {
if (x - y < 0) {}
if (x - y > 0 && x == y) {}
}
if (x > 0 && y > 0) {
if (x - y > 1 && x <= y) {}
if (x - y > -1 && x <= y) {}
if (x - y < -1 && x <= y) {}
if (x - y == y && x == y) {}
if (x - y < y && (x == y || x < y)) {}
if (x - y > y && (x == y || x > y)) {}
} else {
if (x - y > 1 && x <= y) {}
if (x - y > -1 && x <= y) {}
if (x - y < -1 && x <= y) {}
if (x - y == y && x == y) {}
if (x - y < y && (x == y || x < y)) {}
}
}
void mixedTypes(int len, long len2, int max) {
if (len > 0 && len + len2 > max) {
System.out.println();
}
}
public Integer boxing(Integer x) {
if (x == null) {
return 0;
}
if (x + 3 < 10) {
return null;
}
if (x == 3) {
// Can't enter
return 100;
}
return x * 2;
}
public void backPropagationMinValue(int x) {
if (x - Integer.MIN_VALUE == x + Integer.MIN_VALUE) {}
if (x - 2_000_000_000 - 2_000_000_000 == x + 294967296) {}
}
}